Octave:
m = [0 1 0; 0 0 1; 1 0 0]
v = [2 3 1]'
m\v
ans =
1
2
3
Python: import numpy as np
m = np.array([[0,1,0],[0,0,1],[1,0,0]])
v = np.transpose(np.array([2,3,1]))
# wtf? oh, I guess then
v = np.transpose(np.array([[2,3,1]]))
np.linalg.solve(m,v)
array([[ 1.],
[ 2.],
[ 3.]])
If you just want to play around, Python has more clutter and gotchas.Of course, when you start to write real software, then the tools that Python provides for organizing your code start to weight more and the clumsiness of np.linalg.solve(m,v) over m\v starts to weight less.
But I can see how a 50-line testing script in Octave organically grows to a 2000-line application, and then it's already a lot of work to rewrite in Python.
Edit: a reply below makes a good point simplifying the Python code a little bit.