>>246
237は行列同士の*=で1行分しか一時領域が要らないのではないか,
という疑問を単に投げただけのもので,議論の本筋からそれたものでした.すいません.
>でもそうじゃない場合は困るよね。
はい困ります.ただ,困るのはCでもC++でも同じことだと思います.
>op=で一時オブジェクトが必要なときはC式のスタイルよりパフォーマンスが悪くなる
というのは,上の議論において未だ論拠が指摘されていないように見えます.
自分としても,Cスタイルにおけるmultiply_assign(Matrix &a, Matrix const &b)という記述と
operator+=の記述との間にパフォーマンスの差を生じさせるものがあるとは思えないです.

>>248
いえ,私が指摘したいのは,
「ETを実装{しない/できない} -> 数値演算で逆行列を使うのはおかしい」
ではないです.
数値演算で逆行列を使うことは悪いとするスタンスは適切ではないか,ということだけです.
ただ,これは数値計算の一般論の指摘でこのスレで書くべきことではなかったです.すいません.

>>249
>式テンプレートを使わず逆行列のメソッドを提供すればいいのになんでblitz++はやらないのかね?
以下は私の中途半端な知識による考えです.適当に流してください.
通常,行列の逆行列が真に必要となる場面は非常に限られ,ほとんどの場合,
逆行列を陽に計算するよりも適切なアルゴリズムを選択する方が
計算量・精度双方の観点から圧倒的に有利になります.
例えば,行列の逆行列と{ベクトル/行列}との乗算では直接逆行列を計算することは論外で,
通常はLU分解法で行列を三角化してから計算します.
なので,あえて逆行列を陽に求めるメソッドを提供せず,逆行列を表す式オブジェクトとの演算を
適切なアルゴリズムにdispatchしているのではないかと愚考します.あくまで私見です.