【发布时间】:2021-03-01 21:34:02
【问题描述】:
在给定由用户在网站上使用 Javascript 输入生成的矩阵 A 的情况下,我正在尝试求解超定 (Ax = B) 的线性方程组。在 python 中,我可以只使用 numpy.linalg.pinv(A) 来找到 A 的伪逆并将该伪逆与 B 相乘来求解系统——是否有 JavaScript 等价物(库和/或代码段)可以做这个?
我尝试使用 math.js;虽然它似乎没有伪反函数,但它还有其他的矩阵运算。我尝试使用
math.multiply(math.inv(math.multiply(math.transpose(A), A)), math.transpose(A))
要找到伪逆,但我从 A 的转置乘以 A 得到的矩阵是不可逆的,因为 A 的列显然是线性相关的(我对线性代数不是很有经验,但这就是我收集到的来自网上的一些研究)。然而,即使矩阵 A 具有线性相关列(我用 numpy 测试了系统),numpy 仍然可以找到伪逆,所以这让我回到了是否有办法复制 numpy 的伪逆函数的问题。如果没有,是否有其他解决方案?
【问题讨论】:
-
请求图书馆或其他场外资源是题外话(帮助中心 -> What topics can I ask about here?)。您可能想改写您的问题并使用 math.js(或您找到的其他库)添加minimal reproducible example
标签: javascript numpy