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)
onenormest()
, where
instead of A
, A.x
and At.x
can be specified,
see there.A
, by
default norm(A, "1")
; may be replaced by an estimate.A
is missing, these two must be given as
functions which compute A %% x
, or t(A) %% x
,
respectively.== nrow(A)
, only needed when A
is not specified.list
;
onenormest()
with components,norm(A, "1")
.condest()
returns a list with components,rcond(A)
,
$1/\hat\kappa \approx r$.n
, with an 1
at the index
j
with maximal column A[,j]
in $A$.norm
, rcond
.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
Run the code above in your browser using DataLab