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