在 SymPy 中,有什么区别eye(5)
and Identity(5)
?
如果我有一个矩阵X
, 我看到X + eye(5)
and X + Identity(5)
给出不同的结果(后者不是矩阵)。
SymPy 区分
-
显式矩阵,具有一定的大小,例如 3 x 3,以及明确的(可能是符号性的)条目;
-
矩阵表达式,它可能具有符号大小,例如 n × n。
eye
创建一个矩阵,Identity
创建一个矩阵表达式。例如:
n = Symbol("n")
A = Identity(n) # works
A = eye(n) # throws an error
人们可以用这个对象做一些计算,例如
t = trace(A) # n
B = BlockMatrix([[A, -A], [-A, A]])
如果可能,可以将矩阵表达式转换为显式矩阵:as_explicit
method:
A = Identity(3)
print(A.as_explicit())
prints
Matrix([
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]])
一个可以用Matrix(A)
达到同样的效果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)