2014-10-02 86 views
-2

数组创建的我想创建一个2×2矩阵Matrix在numpy的

T = [[A, B], 
    [C, D]] 

,其中每个元素A,B,C,d是一个数组。

这可能吗?

我想能够相乘这些矩阵,例如乘以2个矩阵T1和T2应该给我

T1*T2 = [[A1*A2, B1*B2], 
     [C1*C2, D1*D2]] 

这仍然是相同大小的阵列的矩阵。有这样一个乘法函数吗?

而且,如果我用正常标量矩阵t = [[a,b],[c,d]]乘以T,其中a,b,c,d是标量数,乘法应该给我

t*T = [[a*A, b*B], 
     [c*C, d*D]] 

我该怎么做?

+2

Numpy数组已经支持这个操作。 – 2014-10-02 11:58:48

+1

以'T = np.array([[A,B],[C,D]])开始并尝试。 – grc 2014-10-02 12:05:04

+0

所有的子表格都是相同的大小吗?如果是这样,请尝试4d阵列。 – hpaulj 2014-10-02 12:18:40

回答

1

在numpy中使用ndarray/array时会想到。 http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html

喜欢的东西:

import numpy as np 
A = np.ndarray(shape=(2,2), dtype=float, order='F') 
B = np.ndarray(shape=(2,2), dtype=float, order='F') 
C = np.ndarray(shape=(2,2), dtype=float, order='F') 
D = np.ndarray(shape=(2,2), dtype=float, order='F') 

T = np.array([[A,B],[C,D]]) 

为您的操作,你可能需要编写自己的函数。