a = numpy.array([1,2,3,4])
print(a)
>>> [1 2 3 4]
print(a.T)
>>> [1 2 3 4]
a.shape (4,). a.T.shape - . - . (4,1) A.T.T roundtrip.
b = numpy.array( [ [1], [2], [3], [4] ] )
print(b)
>>> [[1]
[2]
[3]
[4]]
print(b.T)
>>> [[1 2 3 4]]
b.shape (4,1), b.T.shape - (1,4). []. a a = numpy.array([[1,2,3,4]]), (1,4).
b b=np.array([[1,2,3,4]]).T ( b=np.array([1,2,3,4])[:,None] b=np.array([1,2,3,4]).reshape(-1,1))
MATLAB
octave:3> a=[1,2,3,4]
a =
1 2 3 4
octave:4> size(a)
ans =
1 4
octave:5> size(a.')
ans =
4 1
[] 2d.
numpy matrix, MATLAB - , MATLAB 2d.
In [75]: m=np.matrix('1 2 3 4')
[76]: m Out [76]: ([[1, 2, 3, 4]])
In [77]: m.shape
Out[77]: (1, 4)
In [78]: m=np.matrix('1 2; 3 4')
In [79]: m
Out[79]:
matrix([[1, 2],
[3, 4]])
np.matrix, - .
MATLAB vectors, matrix .
print(a*a)
>>> [ 1 4 9 16]
print(a * a.T)
>>> [ 1 4 9 16]
a.T == A. , * . MATLAB .*. np.dot(a,a) 2 .
print(a.T * a)
>>> [ 1 4 9 16]
, .
broadcasting, a[:,None]*a[None,:], . numpy; , MATLAB.
* . , / .
print(b*b)
>>> [[1]
[4]
[9]
[16]] # Expected result, element wise multiplication in a column
A (4,1) * (4,1)=>(4,1). .
print(b * b.T) # Column * Row (Outer product)
>>> [[ 1 2 3 4]
[ 2 4 6 8]
[ 3 6 9 12]
[ 4 8 12 16]] # Expected matrix result
(4,1)*(1,4)=>(4,4) . 2 1 , (4,4)*(4,4). MATLAB - .*?
print(b.T * (b.T))
>>> [[ 1 4 9 16]]
* , . b' .* b' MATLAB.
print(b.T * (b.T).T) # Row * Column, inner product expected
>>> [[ 1 2 3 4]
[ 2 4 6 8]
[ 3 6 9 12]
[ 4 8 12 16]] # Outer product result
* ; inner . (1,4)*(4,1)=>(4,4).
np.dot(b,b) np.trace(b.T*b) np.sum(b*b) 30.
MATLAB, size , (, 2x3 2x2). numpy.
:
numpy 1d ( 0d)
A (4) , (4,1) (1,4) `.
* - .
outer