抽象矩阵乘法与变量

抽象矩阵乘法与变量

问题描述:

我知道python做矩阵乘法的能力。 不幸的是,我不知道如何抽象地做到这一点?所以不要用 确定的数字,而是用变量。抽象矩阵乘法与变量

例子:

M = (1 0) * (1 d) 
    (a c) (0 1) 

是否有某种方式来定义a,c和d,使矩阵乘法 给我

(1 d  ) 
(a a*d + c) 

+1

有一个看看'sympy',一个用于符号计算的Python库。 – dseuss

使用sympy你可以这样做:

>>> from sympy import * 
>>> var('a c d A B') 
(a, c, d, A, B) 
>>> A = Matrix([[1, 0], [a, c]]) 
>>> A 
Matrix([ 
[1, 0], 
[a, c]]) 
>>> B = Matrix([[1, d], [0, 1]]) 
>>> B 
Matrix([ 
[1, d], 
[0, 1]]) 
>>> M = A.multiply(B) 
>>> M 
Matrix([ 
[1,  d], 
[a, a*d + c]]) 

就像任何变量一样,数组/矩阵只能用特定值初始化。你能做的唯一的事情就是让功能,使初始化更容易

import numpy as np 

def helper(a, c, d): 
    A = np.array([[1, 0], [a, c]]) 
    B = np.array([[1, d], [0, 1]]) 
    return A @ B 

(其中@操作员明确的矩阵乘法运算符)

+1

是否应该有一个函数名? – Asterisk

+0

@星号:是的,当然,这是一个正常的功能。修正了错字。 –