Main Content


1-norm condition number estimate


c = condest(A)
c = condest(A,t)
[c,v] = condest(A)


c = condest(A) computes a lower bound c for the 1-norm condition number of a square matrix A.

c = condest(A,t) changes t, a positive integer parameter equal to the number of columns in an underlying iteration matrix. Increasing the number of columns usually gives a better condition estimate but increases the cost. The default is t = 2, which almost always gives an estimate correct to within a factor 2.

[c,v] = condest(A) also computes a vector v which is an approximate null vector if c is large. v satisfies norm(A*v,1) = norm(A,1)*norm(v,1)/c.


condest invokes rand. If repeatable results are required then use rng to set the random number generator to its startup settings before using condest.



This function is particularly useful for sparse matrices.


condest is based on the 1-norm condition estimator of Hager [1] and a block-oriented generalization of Hager's estimator given by Higham and Tisseur [2]. The heart of the algorithm involves an iterative search to estimate A11 without computing A−1. This is posed as the convex but nondifferentiable optimization problem maxA1x1 subject to x1=1


[1] William W. Hager, “Condition Estimates,” SIAM J. Sci. Stat. Comput. 5, 1984, 311-316, 1984.

[2] Nicholas J. Higham and Françoise Tisseur, “A Block Algorithm for Matrix 1-Norm Estimation with an Application to 1-Norm Pseudospectra, “SIAM J. Matrix Anal. Appl., Vol. 21, 1185-1201, 2000.

Extended Capabilities

Version History

Introduced before R2006a

See Also

| |