#include <math.h>
#include "slu_Cnames.h"
Defines | |
#define | d_sign(a, b) (b >= 0 ? fabs(a) : -fabs(a)) |
#define | i_dnnt(a) ( a>=0 ? floor(a+.5) : -floor(.5-a) ) |
Functions | |
int | slacon_ (int *n, float *v, float *x, int *isgn, float *est, int *kase) |
-- SuperLU routine (version 2.0) -- Univ. of California Berkeley, Xerox Palo Alto Research Center, and Lawrence Berkeley National Lab. November 15, 1997
#define d_sign | ( | a, | |||
b | ) | (b >= 0 ? fabs(a) : -fabs(a)) |
#define i_dnnt | ( | a | ) | ( a>=0 ? floor(a+.5) : -floor(.5-a) ) |
int slacon_ | ( | int * | n, | |
float * | v, | |||
float * | x, | |||
int * | isgn, | |||
float * | est, | |||
int * | kase | |||
) |
Purpose =======
SLACON estimates the 1-norm of a square matrix A. Reverse communication is used for evaluating matrix-vector products.
Arguments =========
N (input) INT The order of the matrix. N >= 1.
V (workspace) FLOAT PRECISION array, dimension (N) On the final return, V = A*W, where EST = norm(V)/norm(W) (W is not returned).
X (input/output) FLOAT PRECISION array, dimension (N) On an intermediate return, X should be overwritten by A * X, if KASE=1, A' * X, if KASE=2, and SLACON must be re-called with all the other parameters unchanged.
ISGN (workspace) INT array, dimension (N)
EST (output) FLOAT PRECISION An estimate (a lower bound) for norm(A).
KASE (input/output) INT On the initial call to SLACON, KASE should be 0. On an intermediate return, KASE will be 1 or 2, indicating whether X should be overwritten by A * X or A' * X. On the final return from SLACON, KASE will again be 0.
Further Details ======= =======
Contributed by Nick Higham, University of Manchester. Originally named CONEST, dated March 16, 1988.
Reference: N.J. Higham, "FORTRAN codes for estimating the one-norm of a real or complex matrix, with applications to condition estimation", ACM Trans. Math. Soft., vol. 14, no. 4, pp. 381-396, December 1988. =====================================================================