2011-01-26 24 views
1

下三角行列と上三角行列を乗算したいのですが...通常の行列乗算はゼロを掛けるのに時間がかかるので無駄です...計算時間を節約するために、MATLAB特定の方法..行列は、数千下三角行列の乗算

+2

手作りの解決策は、matlabよりも遅くなる可能性があります。 –

+0

コードとタイミングを教えてください。ありがとう – eat

答えて

5

のオーダーの大きさであり、彼らはより少ないメモリを使用して、ゼロによる乗算を行いませんので、あなたSPARSE配列を使用して、いくつかの利益を得ることができますが、彼らは計算上のオーバーヘッドのビットが付属しています。

それ以外の場合は、Matlabコードを記述することで線形代数操作の効率を上げることができます。

2

それはしたがって、各行列の半分係数はナイーブ行列乗算方式は「無駄」ということを意味し、ゼロでゼロ

を掛けるにはあまり時間を費やしているので、通常の行列の乗算は無駄ですその時間の3/4。そして、あなたはもっと複雑なことをしてその時間を回復しようとしますか?

私はあなたがMATLABに勝てないほどのお金を賭けるでしょう。その行列ルーチンは、その計算エンジンの中心にあります。ほとんどの場合、係数がゼロであることを確認し、自分自身で「無駄な時間」を排除します。

私はJonasのコメントをエコーし​​ますが、疎な行列を使用する唯一の時間は係数の大部分がゼロであるということです。 > 90%で、50%ではなく。