抽象矩阵乘法与变量

时间:2017-10-20 12:33:25

标签: python numpy symbolic-math

我知道python执行矩阵乘法的能力。 不幸的是我不知道如何抽象地这样做?所以没有 确定的数字,但有变量。

示例:

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

有没有办法定义a,c和d,以便矩阵乘法 给了我

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

2 个答案:

答案 0 :(得分:5)

使用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]])

答案 1 :(得分:0)

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

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

@运算符是显式矩阵乘法运算符)