我想定义一个处理矩阵的函数,例如..
如果我有一个矩阵的特征多项式与我,我想检查凯利汉密尔顿定理..什么可以做得更好?
var('x')
f(x)=2x^2+x+3 # this the characteristic polynomial of $A$ (say)
print f(A)# this is what I want as an answer..
在上面,如果我想用矩阵替换我的x,我必须做什么?
因此,最终目标是找到一个可以取矩阵的多项式 提前谢谢......
答案 0 :(得分:1)
令人惊讶的是,尽管已经提到six years ago,但显然这并没有经常出现,所以我们还没有解决它。
sage: M = matrix([[1,2],[3,4]])
sage: g(x) = x^2-5*x-2
sage: g(M)
TypeError: no canonical coercion from Full MatrixSpace of 2 by 2 dense matrices over Integer Ring to Callable function ring with argument x
(至少做一些关于此事的是Trac 15487。)
但是,请尝试using this trick。问题仅在于符号表达式,而不是多项式。
sage: M = matrix([[1,2],[3,4]])
sage: f = M.charpoly()
sage: f.subs(x=M)
[0 0]
[0 0]
编辑:一般来说,尝试一下like this。
M = matrix([[1,2],[3,4]])
R.<t> = PolynomialRing(SR)
f = t^2+t+1
f(M)