问题描述
def Pij(n,i,j):
return elementary_matrix(QQ,n,row1=i-1,row2=j-1)
def Si(n,x):
return elementary_matrix(QQ,scale=x)
def Qij(n,j,row2=j-1,scale=x)
def MatOnes(n):
return Matrix(QQ,[[1 for i in range(n)] for j in range(n)])
我的问题:我如何找到上述三种类型的基本矩阵,使得
他们的乘积 C 具有属性 C * Matones(n) * C.transpose() 是对角矩阵?
解决方法
我认为 Sage 没有内置这样的功能; diagonalization 方法可能是最接近的方法。也许您可以修改 its source code 以准确执行您想要的操作。
顺便说一句,请注意您可以将 MatOnes
函数替换为 matrix.ones(QQ,n)
。