numpy matrixとndarrayの違い
2480 ワード
バージョン:2.7.10
例:
1.ndarray任意の次元matで2次元のみ
2.行列乗算
3.matrixとndarrayの交換
4.matrixとarrayはobjectsの後に付けることができる.Tはその転置を得る.しかしmatrix objectsは後で追加することもできる.H fは共役行列を得る、加算.Iは逆行列を得る.
5.**演算子の役割も異なります.aはmatrixであるため、a**2はa*aを返し、行列の乗算に相当します.cはarrayで、c**2は相当して、cの中の元素は1つずつ平方を求めます
6.numpyのarrayとnumpyのmatrixの最大の違いは、帰約演算を行うとarrayの次元数が変化するが、matrixは常に2次元に保たれることである.例えば以下に平均値を求める演算
例:
A=np.array([[1,2],[3,4]])
B=np.array([[5,6],[7,8]])
C=np.mat([[1,2],[3,4]])
D=np.mat([[6,7],[8,9]])
1.ndarray任意の次元matで2次元のみ
#
A=np.array([[[1,2]]])
#
B = np.mat([[[1,2]]])
2.行列乗算
ndarray:
1. np.dot ( )
A.dot(B)=np.dot(A,B)
:
array([[19, 22],
[43, 50]])
2 A*B=np.multiply(A,B) ( )
:
array([[ 5, 12],
[21, 32]])
matrix:
1. C*D=np.dot(C,D)=C.dot(D) ( )
:
matrix([[22, 25],
[50, 57]])
2. np=np.multiply(C,D) ( )
:
matrix([[6, 7],
[8, 9]])
3.matrixとndarrayの交換
1.matrix->ndarray ( matrix A np.asarray() )
E=C.A
E=np.asarray(C)
# E A , A E
2.ndarray->matrix ( np.asmatrix() )
E=np.asmatrix(A)
4.matrixとarrayはobjectsの後に付けることができる.Tはその転置を得る.しかしmatrix objectsは後で追加することもできる.H fは共役行列を得る、加算.Iは逆行列を得る.
5.**演算子の役割も異なります.aはmatrixであるため、a**2はa*aを返し、行列の乗算に相当します.cはarrayで、c**2は相当して、cの中の元素は1つずつ平方を求めます
6.numpyのarrayとnumpyのmatrixの最大の違いは、帰約演算を行うとarrayの次元数が変化するが、matrixは常に2次元に保たれることである.例えば以下に平均値を求める演算
>>> C
matrix([[1, 2],
[3, 4]])
>>> C.mean(1)
matrix([[1.5],
[3.5]])
>>> A
array([[1, 2],
[3, 4]])
>>> A.mean(1)
array([1.5, 3.5])
>>>