あなたが表現を使用することができます
添加は明らかに動作します。乗算については、
は、表現を保存するため、リング同型になります。a+b−3−−−√
(ab−3ba)
(a1b1−3b1a1)(a2b2−3b2a2)=(a1a2−3b1b2a1b2+b1a2−3(a1b2+b1a2)a1a2−3b1b2)
行列の行列式を取得すると、(二乗)ノルム。したがって、予想どおり、逆数は逆行列に対応します。a2+3b2
あなたはすでにtriplesの使用を検討しました。これにより、整数と共通の分母を使用すると仮定します。このアプローチは、マトリックス表現でも役立つ場合があります。
更新:マトリックス表現の一般的な方法では、コンパニオンマトリックスを使用します。たとえば、代わりに
を表現たい場合、つまり。のコンパニオンマトリックスはであり、これは自体のような関連するすべてのリング演算で動作します。もちろん、はとして表すことができます。したがって、行列表現は
a+bωω=exp(2πi3)ω2+ω+1=0ω(01−1−1)ω1(1001)a+bω
(ab−ba−b)
これがリング準同型であることを確認したい場合があります。また、これは見やすいです。乗算の場合、対応する数式は
(a1+b1ω)(a2+b2ω)(a1b1−b1a1−b1)(a2b2−b2a2−b2)=(a1a2−b1b2)+(a1b2+b1a2−b1b2)ω=(a1a2−b1b2a1b2+b1a2−b1b2−(a1b2+b1a2−b1b2)a1a2−a1b2−b1a2)
numpy
-accelerated matrix opsの実際のパフォーマンスをユーザー定義のデータ型のパフォーマンスと比較することは興味深いかもしれません。勝者がどうなるかわからない。