第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

是否有等效于 numpy.linalg.pinv 的 JavaScript?

是否有等效于 numpy.linalg.pinv 的 JavaScript?

我正在嘗試解決一個(gè)線性方程組,該方程組是超定的 (Ax = B),給定一個(gè)矩陣 A,該矩陣 A 由用戶在網(wǎng)站上使用 Javascript 輸入生成。在 python 中,我可以使用 numpy.linalg.pinv(A) 來(lái)找到 A 的偽逆并將該偽逆乘以 B 來(lái)求解系統(tǒng)——是否有一個(gè) JavaScript 等效的(庫(kù)和/或一段代碼)可以做這個(gè)?我嘗試使用 math.js;雖然它似乎沒(méi)有偽逆函數(shù),但它有其他矩陣運(yùn)算。我嘗試使用math.multiply(math.inv(math.multiply(math.transpose(A), A)), math.transpose(A))找到偽逆,但我從 A 的轉(zhuǎn)置乘以 A 得到的矩陣不可逆,因?yàn)?A 的列顯然是線性相關(guān)的(我對(duì)線性代數(shù)不是很熟悉,但這是我從一些研究中收集到的在線)。然而,即使矩陣 A 具有線性相關(guān)列(我用 numpy 測(cè)試了系統(tǒng)),numpy 仍然可以找到偽逆函數(shù),這讓我回到了是否有辦法復(fù)制 numpy 的偽逆函數(shù)的問(wèn)題。如果沒(méi)有,是否有其他解決方案可以解決此問(wèn)題?
查看完整描述

2 回答

?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

問(wèn): 如果沒(méi)有,是否有其他解決方案可以解決此問(wèn)題?

是的,有辦法。

實(shí)施分布式處理工作流。讓 JavaScript 發(fā)揮它的作用,讓numpySide 完成它非常擅長(zhǎng)的工作。類似的概念在許多用例中很常見(jiàn),其中專用工具解決部分問(wèn)題,一些工作流集成中介將分布式部分“粘合”在一起。

因此,讓 JavaScript 部分配備 ZeroMQ/zmqnanomsgA, B通過(guò)互連與 python 端通信,那里 numpy 將盡其所能進(jìn)行智能、矢量化的數(shù)字處理,并讓接收到的結(jié)果傳回下一個(gè)階段處理工作流。

ZeroMQ 多年來(lái)?yè)碛杏糜诜浅?焖俸透咝У臒o(wú)協(xié)議{ ipc:// | vmci:// }本地主機(jī)互連的智能工具,此外還有用于{ tcp:// | udp:// | ... }數(shù)據(jù)中心互連的類似智能但非本地的協(xié)議,如果你的本地主機(jī)資源對(duì)于更大的矩陣大小會(huì)變得非常小。

有類似的工具準(zhǔn)備就緒nanomsg,但您必須檢查 JavaScript 端可用端口/包裝器的可用性。

剩下的就是為任何給定的數(shù)據(jù)量和前端/后端事務(wù)運(yùn)行的請(qǐng)求節(jié)奏擠出最大性能。

~ 80 [ms]您的想象力下使用此架構(gòu)進(jìn)行周轉(zhuǎn)時(shí)間是您的極限。也盡可能快地完成了一些TB線性代數(shù)處理,在那里需要更加小心,但性能驅(qū)動(dòng)的原則是相同的。


查看完整回答
反對(duì) 回復(fù) 2021-08-20
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

我知道自從提出這個(gè)問(wèn)題已經(jīng)有一段時(shí)間了,但是現(xiàn)在(2021 年)有一些用于在 JS 中進(jìn)行線性代數(shù)的庫(kù),我將其留在這里以供參考:

僅舉幾例。從您的問(wèn)題來(lái)看,您似乎正在嘗試解決最小二乘估計(jì)量:

http://img1.sycdn.imooc.com//611f1351000183a303000045.jpg

如果是這種情況,與計(jì)算偽逆(即使用 LU/QR/SVD 分解)相比,上述庫(kù)中的大多數(shù)(全部?)提供了更穩(wěn)健/高性能的解決方案:


// Using ml-matrix

const { Matrix, solve } = require('ml-matrix');

var X = new Matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);

var y = Matrix.columnVector([8, 20, 32]);

var b = solve(X, y, (useSVD = true));


// Using linear algebra js

const { SparseMatrix, DenseMatrix } = require('linear-algebra');

// solve the linear system Ax = b, where A is a square sparse matrix

var X = SparseMatrix.identity(5, 5);

var y = DenseMatrix.ones(5, 1);


var lu = X.lu();

var b = lu.solveSquare(y);

但是,如果你真的需要計(jì)算偽逆,ml-matrix 是唯一支持這個(gè)的庫(kù)(據(jù)我所知)。原則上,Eigen 也支持此功能,但我還沒(méi)有看到任何 JS 端口實(shí)際公開(kāi)此功能。


查看完整回答
反對(duì) 回復(fù) 2021-08-20
  • 2 回答
  • 0 關(guān)注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)