SuperLU 6.0.1
Macros | Functions
dlacon2.c File Reference

Estimates the 1-norm. More...

#include <math.h>
#include "slu_Cnames.h"
Include dependency graph for dlacon2.c:

Macros

#define d_sign(a, b)   (b >= 0 ? fabs(a) : -fabs(a)) /* Copy sign */
 
#define i_dnnt(a)    ( a>=0 ? floor(a+.5) : -floor(.5-a) ) /* Round to nearest integer */
 

Functions

int dlacon2_ (int *n, double *v, double *x, int *isgn, double *est, int *kase, int isave[3])
 

Detailed Description

Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy)

All rights reserved.

The source code is distributed under BSD license, see the file License.txt at the top-level directory.

-- SuperLU routine (version 5.0) --
Univ. of California Berkeley, Xerox Palo Alto Research Center,
and Lawrence Berkeley National Lab.
July 24, 2022

Macro Definition Documentation

◆ d_sign

#define d_sign (   a,
 
)    (b >= 0 ? fabs(a) : -fabs(a)) /* Copy sign */

◆ i_dnnt

#define i_dnnt (   a)     ( a>=0 ? floor(a+.5) : -floor(.5-a) ) /* Round to nearest integer */

Function Documentation

◆ dlacon2_()

int dlacon2_ ( int *  n,
double *  v,
double *  x,
int *  isgn,
double *  est,
int *  kase,
int  isave[3] 
)
  Purpose   
  =======   

  DLACON2 estimates the 1-norm of a square matrix A.   
  Reverse communication is used for evaluating matrix-vector products. 

  This is a thread safe version of CLACON, which uses the array ISAVE
  in place of a STATIC variables, as follows:

    DLACON     DLACON2
     jump     isave[0]
     j        isave[1]
     iter     isave[2]


  Arguments   
  =========   

  N      (input) INT
         The order of the matrix.  N >= 1.   

  V      (workspace) DOUBLE PRECISION array, dimension (N)   
         On the final return, V = A*W,  where  EST = norm(V)/norm(W)   
         (W is not returned).   

  X      (input/output) DOUBLE PRECISION array, dimension (N)   
         On an intermediate return, X should be overwritten by   
               A * X,   if KASE=1,   
               A' * X,  if KASE=2,
        and DLACON must be re-called with all the other parameters   
         unchanged.   

  ISGN   (workspace) INT array, dimension (N)

  EST    (output) DOUBLE PRECISION   
         An estimate (a lower bound) for norm(A).   

  KASE   (input/output) INT
         On the initial call to DLACON, 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 DLACON, KASE will again be 0.   

  isave  (input/output) int [3]
         ISAVE is INTEGER array, dimension (3)
         ISAVE is used to save variables between calls to DLACON2

  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.   
  ===================================================================== 
Here is the call graph for this function: