欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

R語(yǔ)言RcppEigen計(jì)算點(diǎn)乘與矩陣乘法連乘算法錯(cuò)誤解決

 更新時(shí)間:2021年11月06日 11:29:49   作者:Kanny廣小隸  
這篇文章主要為大家介紹了RcppEigen計(jì)算點(diǎn)乘與矩陣乘法時(shí)發(fā)生連乘計(jì)算錯(cuò)誤的解決方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助

計(jì)算點(diǎn)乘與矩陣乘法連乘計(jì)算錯(cuò)誤

當(dāng)我們想將 R 中的連乘(如下公式所示)修改成 Rcpp 代碼時(shí),

t(X)^2 %*% X

理論上我們只用在 .cpp 代碼中輸入下述語(yǔ)句即可(默認(rèn)使用了 RcppEigen 庫(kù)):

X.adjoint().array().square() * X.array().square();

但實(shí)際上這樣會(huì)會(huì)出現(xiàn)問(wèn)題,原因是 X.adjoint().array().square()X.array().square() 沒(méi)有成功轉(zhuǎn)化成 Eigen::MatrixXd 形式。雖然單獨(dú)顯示兩部分都沒(méi)問(wèn)題(可以直接輸出看到),但是連乘的時(shí)候就會(huì)出錯(cuò)。這時(shí)我們分開進(jìn)行一個(gè)默認(rèn)轉(zhuǎn)換,然后再進(jìn)行矩陣乘法即可,如下所示:

Eigen::MatrixXd A, B;
A = X.adjoint().array().square();
B = X.array().square();
A * B;

這樣就可以解決之前的計(jì)算錯(cuò)誤問(wèn)題了。

以上就是RcppEigen計(jì)算點(diǎn)乘與矩陣乘法連乘計(jì)算錯(cuò)誤解決的詳細(xì)內(nèi)容,更多關(guān)于RcppEigen計(jì)算點(diǎn)乘與矩陣乘法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論