如何获得 sympy 矩阵的行总和?
How to get the sum of row on sympy matrix?
我想为此获得至少一个解决方案:
row_sum(Y) = x.t + row_sum(B)
Y 和 B 是矩阵 (n, m),x 是向量 (n)。
我知道 B,我知道 row_sum(Y) 但不知道 x。
我想获得一些 t 值的 Y 和 x。
Y 随 t 线性变化,但 x 是常数向量。
我如何创建一个方程式,其中 Y 和 B 的行之和同时得到 x 和 Y?
要获得矩阵中每一行的总和,请将其乘以所有元素的列向量。一般来说,如果 Z 是一个矩阵,那么
Z * ones(Z.shape[1], 1)
returns这么一笔。
这是此类操作的完整示例,使用您示例的符号。
from sympy import *
t = symbols('t')
Y = Matrix([[1+4*t, 2-t], [3-5*t, 4+t]])
x = symarray('x', (2,))
B = Matrix([[5, 4], [3, 2]])
solve(Y*ones(2, 1) - x*t - B*ones(2, 1))
输出为[{x_0: -3*x_1 - 9, t: 2/(x_1 + 4)}]
。答案不是唯一的,因为只有 2 个方程具有三个未知数 t,x_0,x_1。
我想为此获得至少一个解决方案:
row_sum(Y) = x.t + row_sum(B)
Y 和 B 是矩阵 (n, m),x 是向量 (n)。 我知道 B,我知道 row_sum(Y) 但不知道 x。 我想获得一些 t 值的 Y 和 x。 Y 随 t 线性变化,但 x 是常数向量。
我如何创建一个方程式,其中 Y 和 B 的行之和同时得到 x 和 Y?
要获得矩阵中每一行的总和,请将其乘以所有元素的列向量。一般来说,如果 Z 是一个矩阵,那么
Z * ones(Z.shape[1], 1)
returns这么一笔。
这是此类操作的完整示例,使用您示例的符号。
from sympy import *
t = symbols('t')
Y = Matrix([[1+4*t, 2-t], [3-5*t, 4+t]])
x = symarray('x', (2,))
B = Matrix([[5, 4], [3, 2]])
solve(Y*ones(2, 1) - x*t - B*ones(2, 1))
输出为[{x_0: -3*x_1 - 9, t: 2/(x_1 + 4)}]
。答案不是唯一的,因为只有 2 个方程具有三个未知数 t,x_0,x_1。