Estimate the 1-norm of the matrix A using a block algorithm.
normest1 is best for large sparse matrices where only an estimate of
the norm is required. For small to medium sized matrices, consider using
norm (A, 1). In addition, normest1 can be used for the
estimate of the 1-norm of a linear operator A when matrix-vector
products A * x and A' * x can be
cheaply computed. In this case, instead of the matrix A, a function
Afun (flag, x) is used; it must return:
"dim"
"real"
A * x, if flag is "notransp"
A' * x, if flag is "transp"
A typical case is A defined by b ^ m, in which the
result A * x can be computed without even forming
explicitly b ^ m by:
y = x; for i = 1:m y = b * y; endfor
The parameters p1, p2, … are arguments of
Afun (flag, x, p1, p2, …).
The default value for t is 2. The algorithm requires matrix-matrix products with sizes n x n and n x t.
The initial matrix x0 should have columns of unit 1-norm. The default
initial matrix x0 has the first column
ones (n, 1) / n and, if t > 1, the remaining
columns with random elements -1 / n, 1 / n,
divided by n.
On output, nest is the desired estimate, v and w
are vectors such that w = A * v, with
norm (w, 1) = c * norm (v, 1). iter
contains in iter(1) the number of iterations (the maximum is
hardcoded to 5) and in iter(2) the total number of products
A * x or A' * x performed by the
algorithm.
Algorithm Note: normest1 uses random numbers during evaluation.
Therefore, if consistent results are required, the "state" of the
random generator should be fixed before invoking normest1.
Reference: N. J. Higham and F. Tisseur, A block algorithm for matrix 1-norm estimation, with and application to 1-norm pseudospectra, SIAM J. Matrix Anal. Appl., pp. 1185–1201, Vol 21, No. 4, 2000.
See also: normest, norm, cond, condest.
Package: octave