数学で複素行列を計算するためには、SPVMの現在のデータ構造ではできないことがわかった

数学で複素行列を計算するためにはSPVMの現在のデータ構造ではできないことがわかった。

SPVMは、複数数値型を持っているが、これは最大16個の数値を持っているので、4×4行列までは表現できる。

だけど、少し調べていると、複素行列というのがあって、これだと、一つの要素に、実数と虚数を表現しないといけないので、さらに2倍、32個必要。

SPVMの目標は、数値計算だから、そもそも、このデータ構造を表現できないと、用途が狭められてしまう。

なぜ最大16かというと、SPVMの命令長は64bitで、ぎりぎりにつめてこの数になっている。

これはパフォーマンスのために、つめているのだけれど、そもそも、数値計算に利用できないと意味ないので、命令長を伸ばすしかない。

ランタイムのパフォーマンスは落ちるが、プリコンパイルした場合は、C言語のソースになるので、パフォーマンスは、まったく落ちない。

妥協して、ランタイムのパフォーマンスを犠牲にして、128bitの命令長にしよう。それしかない。

コンテンツ