对于 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
加速矩阵运算的实际性能与用户定义的数据类型的实际性能进行比较可能会很有趣。不确定获胜者将是什么。