Hi, I got this problem in a real life code and it took me some time to figure out that np.linalg.norm has a terrible numerical behavior. The problem is nicely described here http://fseoane.net/blog/2011/computing-the-vector-norm/
numpy/linalg/linalg.py claims to be a "high-level Python interface to the LAPACK library". That's great but the low level norm function is coded in pure python : x = asarray(x) if ord is None: # check the default case first and handle it immediately return sqrt(add.reduce((x.conj() * x).ravel().real)) Is there a way to use *by default* the blas function to compute the norm? ok....looks like sum as the same terrible numerical behavior x=(np.array([1e4] + [1]*10000, dtype=np.float32)) np.sum(x*x) returns 1e+08 instead of 1.0001e+08 Moreover, np.linalg.norm is slow compare to blas. Is there a way/plan to fix it? Xavier _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion