bug in condition numbers in Maple V.3 to Maple V.5 (31.1.98)

Dale Alspach

Here is a MAPLE BUG for the benefit of the MUG. It’s still there in MAPLE V Release 4, although I ran this under UNIX maple. I read the output into the program (or the other way around).

Notice the MAPLE 2-norm is actually the _SMALLEST_ singular value, not the largest. The 2-condition is the reciprocal of what it should be, which is the ratio of the largest over the smallest singular value.


It is corrected with Maple 6. (U. Klein)

Prof. Dr. Peter Thieler

One of my students drew my attention to your remark on Maple’s behaviour with respect to the 2-norm of matrices.

Let me refer to the nice book GOLUB/ORTEGA, Scientific Computing - An Introduction with Parallel Computing, Academic Press, 1993. There I find a short and very well usable chapter on basic facts that are of interest in the field of numerical linear algebra. The subchapter 2.3 is dealing with norms.

The authors define the EUCLIDean matrix norm - similar to the way Maple does. See then subchapter 6.2 for norm based condition numbers. Again, GOLUB and ORTEGA give the definition Maple is also using.

Trying ?linalg,norm , you will get the information:

 "The '2'-norm of a matrix is the square root of the maximum eigenvalue of the matrix A * transpose(A) . ".

You may use your example to reproduce Maple’s definition:


Trying ?linalg,condition , you get the text:

"cond(A, normname) computes norm(A, normname) * norm(inverse(A), normname)."

Again, you may use your example to test Maple:


I use the same book, subchapter 2.2, to recall that B:=A*transpose(A) and C:=transpose(A)*A both are positive definite (which means that they cannot have negative eigenvalues). Moreover, both of them are symmetric, which means that det(B-lambda*I)=det(C-lambda*I) holds and, thus, B and C do have the same eigenvalues (not: eigenvectors!). Hence, the GOLUB/ORTEGA definition (using the spectral radius of C to determine the EUCLID norm of A) and Maple’s definition (using the spectral radius of B to do the same) coincide and reflect what can be found elsewhere as well.


Taking all this into account, I am sure that you will agree, that Maple is quite good in calculating the EUCLIDean norm or the EUCLIDean condition number of a matrix.

I think there is no bug.

Nevertheless, it is also very common to use condition numbers different to that seen above. The definition you mention reminds me of the TODD number (R. TODD, The Condition of Certain Matrices, Quart. J. Mech. and Appl. Math. 2 (1949) 469-472; Math. Rev. 11, 619) which is given by the quotient of the largest of the absolute vaues of the eigenvalues of A over the smallest of the absolute vaues of the eigenvalues of A. This is, in other words, the spectral radius of A, multiplied by the spectral radius of the inverse of A.

In this case, your example yields: