numpy正在使用的算法`新比利纳格lstsq`

2024-03-29 13:43:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一些线性代数,我注意到numpy.linalg.lstsq()正在做我需要的。我假设np.linalg.lstsq()正在使用LAPACK的内置算法或其他东西。在

使用的是什么算法?


对于某些背景,假设我有一个矩阵A,它的列多于行。例如:

import numpy
A = numpy.random.randn(4, 5)
print(numpy.linalg.lstsq(A, A))

产生的打印值恰好等于以下公式:

^{pr2}$

如果我像上面那样计算numpy.linalg.lstsq(A, A),我会得到单位矩阵。然而,它给了另一个价值。在

numpy.linalg.lstsq显然没有使用linear regression的公式,因为np.linalg.inv(A.T.dot(A))不可计算,因为{}是单数的。在

你可以从my post上看到math.stackexchange.com网站我正在寻找另一种方法来计算上述算法。在

编辑:我不是在寻找计算单位矩阵的方法。我想复制numpy.linalg.lstsq正在使用的LAPACK公式。请看我上面的旧帖子了解背景信息。在


Tags: 方法importnumpy算法np矩阵random内置