-/* Maxima's norm() can't calculate the 2-norm. Only works for non-complex
- * matrices. */
-norm_2(x) := sqrt(maxi(eigenvalues(transpose(x) . x)[1]));
+/* Maxima's mat_norm() can't calculate the 2-norm. Thanks to Wolfgang Lindner
+ * (http://www.ma.utexas.edu/pipermail/maxima/2007/006300.html) for an
+ * improved version. */
+mat_norm2(x) := sqrt(lmax(eigenvalues(transpose(conjugate(x)).x)[1]));