condest
1-norm condition number estimate
Syntax
c = condest(A)
c = condest(A,t)
[c,v] = condest(A)
Description
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
.
Note
condest
invokes rand
.
If repeatable results are required then use rng
to
set the random number generator to its startup settings before using condest
.
rng('default')
Tips
This function is particularly useful for sparse matrices.
Algorithms
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 without computing A−1.
This is posed as the convex but nondifferentiable optimization problem subject to
References
[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