Foulke のアルゴリズムは、次のように定義されます。
(In + U)2 = In+ U + U2
と:
In
: 恒等行列
U
: 正方隣接行列
このアルゴリズムを C で再帰的に実装したいと考えています。
どんな助けでも大歓迎です。
あなたの公式は間違っています。単位行列に置き換えるU
と、平等が成り立たないことがわかります。に変更する必要があります(In + U)^2 = In+ 2*U + U^2
。数字と同じように。理にかなっていますね
それ以外の場合は、2次元行列に乗算し、結果を2次元配列で返す関数を実装するだけです。この問題に再帰を使用することは良い選択肢ではないと思います。
BLAS ライブラリを使用することをお勧めします。それとも、代数ライブラリなしですべてを自分で作りたいですか?