# No subject

**Thomas Schwaller
**
et@appl-math.tu-muenchen.de

*Thu, 16 Nov 1995 14:57:24 +0100*

Hi all,
when writing my first matrix algorithms I faced a "problem" of
"inconsistency" concerning matrices and vectors.
Suppose a naive user being used to Matlab, Scilab or octave.
He/she want's to to his/her first matrix computations:
a=Matrix([1,2,3],[2,3,4],[4,5,6])
b=ones(3)
Multiply(a,b)
Traceback (innermost last):
File "<stdin>", line 1, in ?
File "/home/et/Python-1.3/Lib/Matrix.py", line 114, in Multiply
return add.inner(multiply, a, b.transpose())
Matrix.error: 1st dimension invalid
Aha he/she thinks, b ia a row vector. So let's transpose it
b=ones(3).transpose()
Traceback (innermost last):
File "<stdin>", line 1, in ?
Matrix.error: 1st dimension invalid
So wat the hell is going on here, (s)he thinks.
So let's try
b=ones(3, 1)
Multiply(a,b)
[[6.0], [9.0], [15.0]]
Ah yes, well let's compute a dot product of b and compare it with something:
if dot(b,b) == 3.0: print 'ok'
else : print 'not ok'
not ok
Hm..
print dot(b,b)
[3.0]
Ah, I see..
if dot(b,b)[0] == 3.0: print 'ok'
else : print 'not ok'
ok
At this point our potential user who heard really hot things about the python
matrix class will probably not use it anymore.
What can we do to change his/her opinion, because WE know it's still
a very hot topic and we all love it, don't we? :-)
### END OF THE NIGHTMARE TALE
;;;;-))
TOM
=================
MATRIX-SIG - SIG on Matrix Math for Python
send messages to: matrix-sig@python.org
administrivia to: matrix-sig-request@python.org
=================