SymPy 中眼睛和身份的区别

2024-02-08

在 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(使用前将#替换为@)

SymPy 中眼睛和身份的区别 的相关文章

随机推荐