2014-10-02 135 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]]) 

爲您的操作,你可能需要編寫自己的函數。