Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 圣人新人;在向量和矩阵中引入符号(变量)_Python_Linear Algebra_Symbolic Math_Sage - Fatal编程技术网

Python 圣人新人;在向量和矩阵中引入符号(变量)

Python 圣人新人;在向量和矩阵中引入符号(变量),python,linear-algebra,symbolic-math,sage,Python,Linear Algebra,Symbolic Math,Sage,我想用符号而不是数字来计算线性代数运算。 例如,具有以下矩阵: A = matrix(QQ,[ [ 2, 1, 2, -6], [-1, 2, 1, 7], [ 3, -1, -3, -1], [ 1, 5, 6, 0], [ 2, 2, 1, 1] ]) 我想对带有符号变量的向量进行乘法,如下所示: t = 'real' var('x1') assume(x1, t) var('x2') assume(x2, t) var

我想用符号而不是数字来计算线性代数运算。 例如,具有以下矩阵:

A = matrix(QQ,[
    [ 2,  1,  2, -6],
    [-1,  2,  1,  7],
    [ 3, -1, -3, -1],
    [ 1,  5,  6,  0],
    [ 2,  2,  1,  1]
    ])
我想对带有符号变量的向量进行乘法,如下所示:

t = 'real'
var('x1')
assume(x1, t)
var('x2')
assume(x2, t)
var('x3')
assume(x3, t)
var('x4')
assume(x4, t)
xx = vector(QQ, [x1, x2, x3, x4])
A * xx.transpose()
不幸的是,构建
xx
向量失败,产生以下错误消息:

TypeError: Cannot evaluate symbolic expression to a numeric value.

这不起作用,所以我如何在Sage的线性代数框架中使用符号?

一个解决方案是使用多项式环中的条目

sage: R.<x1,x2,x3,x4> = PolynomialRing(QQ)
sage: R
Multivariate Polynomial Ring in x1, x2, x3, x4 over Rational Field
结果是另一个向量,其条目位于
R

sage: xx = vector(R,[x1,x2,x3,x4])
sage: A * xx
另一个解决方案是使用符号环
SR
,正如@kcrisman在ask sage上指出的那样