condest {Matrix} | R Documentation |
“Estimate”, i.e. compute approximately the CONDition number of
a (potentially large, often sparse) matrix A
.
It works by apply a fast approximation of the 1-norm,
norm(A,"1")
, through onenormest(.)
.
condest(A, t = min(n, 5), normA = norm(A, "1"), silent = FALSE, quiet = TRUE) onenormest(A, t = min(n, 5), A.x, At.x, n, silent = FALSE, quiet = silent, iter.max = 10, eps = 4 * .Machine$double.eps)
A |
a square matrix, optional for |
t |
number of columns to use in the iterations. |
normA |
number; (an estimate of) the 1-norm of |
silent |
logical indicating if warning and (by default) convergence messages should be displayed. |
quiet |
logical indicating if convergence messages should be displayed. |
A.x, At.x |
when |
n |
|
iter.max |
maximal number of iterations for the 1-norm estimator. |
eps |
the relaive change that is deemed irrelevant. |
Both functions return a list
;
onenormest()
with components,
est |
a number > 0, the estimated |
v |
the maximal A X column. |
The function condest()
returns a list with components,
est |
a number > 0, the estimated condition number
k.; when r := |
v |
integer vector length |
w |
numeric vector, the largest A x found. |
iter |
the number of iterations used. |
This is based on octave's condest()
and
onenormest()
implementations with original author
Jason Riedy, U Berkeley; translation to R and
adaption by Martin Maechler.
Nicholas J. Higham and Françoise Tisseur (2000). A Block Algorithm for Matrix 1-Norm Estimation, with an Application to 1-Norm Pseudospectra. SIAM J. Matrix Anal. Appl. 21, 4, 1185–1201. http://dx.doi.org/10.1137/S0895479899356080
William W. Hager (1984). Condition Estimates. SIAM J. Sci. Stat. Comput. 5, 311–316.
data(KNex) mtm <- with(KNex, crossprod(mm)) system.time(ce <- condest(mtm)) ## reciprocal 1 / ce$est system.time(rc <- rcond(mtm)) # takes ca 3 x longer rc all.equal(rc, 1/ce$est) # TRUE -- the approxmation was good