umfpack_report_vector.h

Go to the documentation of this file.
00001 /* ========================================================================== */
00002 /* === umfpack_report_vector ================================================ */
00003 /* ========================================================================== */
00004 
00005 /* -------------------------------------------------------------------------- */
00006 /* UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.      */
00007 /* Davis.  All Rights Reserved.  See ../README for License.                   */
00008 /* email: davis@cise.ufl.edu    CISE Department, Univ. of Florida.            */
00009 /* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
00010 /* -------------------------------------------------------------------------- */
00011 
00012 int umfpack_di_report_vector
00013 (
00014     int n,
00015     const double X [ ],
00016     const double Control [UMFPACK_CONTROL]
00017 ) ;
00018 
00019 long umfpack_dl_report_vector
00020 (
00021     long n,
00022     const double X [ ],
00023     const double Control [UMFPACK_CONTROL]
00024 ) ;
00025 
00026 int umfpack_zi_report_vector
00027 (
00028     int n,
00029     const double Xx [ ], const double Xz [ ],
00030     const double Control [UMFPACK_CONTROL]
00031 ) ;
00032 
00033 long umfpack_zl_report_vector
00034 (
00035     long n,
00036     const double Xx [ ], const double Xz [ ],
00037     const double Control [UMFPACK_CONTROL]
00038 ) ;
00039 
00040 /*
00041 double int Syntax:
00042 
00043     #include "umfpack.h"
00044     int n, status ;
00045     double *X, Control [UMFPACK_CONTROL] ;
00046     status = umfpack_di_report_vector (n, X, Control) ;
00047 
00048 double long Syntax:
00049 
00050     #include "umfpack.h"
00051     long n, status ;
00052     double *X, Control [UMFPACK_CONTROL] ;
00053     status = umfpack_dl_report_vector (n, X, Control) ;
00054 
00055 complex int Syntax:
00056 
00057     #include "umfpack.h"
00058     int n, status ;
00059     double *Xx, *Xz, Control [UMFPACK_CONTROL] ;
00060     status = umfpack_zi_report_vector (n, Xx, Xz, Control) ;
00061 
00062 complex long Syntax:
00063 
00064     #include "umfpack.h"
00065     long n, status ;
00066     double *Xx, *Xz, Control [UMFPACK_CONTROL] ;
00067     status = umfpack_zl_report_vector (n, Xx, Xz, Control) ;
00068 
00069 Purpose:
00070 
00071     Verifies and prints a dense vector.
00072 
00073 Returns:
00074 
00075     UMFPACK_OK if Control [UMFPACK_PRL] <= 2 (the input is not checked).
00076 
00077     Otherwise:
00078     
00079     UMFPACK_OK if the vector is valid.
00080     UMFPACK_ERROR_argument_missing if X or Xx is missing.
00081     UMFPACK_ERROR_n_nonpositive if n <= 0.
00082 
00083 Arguments:
00084 
00085     Int n ;             Input argument, not modified.
00086 
00087         X is a real or complex vector of size n.  Restriction: n > 0.
00088 
00089     double X [n] ;      Input argument, not modified.  For real versions.
00090 
00091         A real vector of size n.  X must not be (double *) NULL.
00092 
00093     double Xx [n or 2*n] ; Input argument, not modified.  For complex versions.
00094     double Xz [n or 0] ;   Input argument, not modified.  For complex versions.
00095 
00096         A complex vector of size n, in one of two storage formats.
00097         Xx must not be (double *) NULL.
00098 
00099         If Xz is not (double *) NULL, then Xx [i] is the real part of X (i) and
00100         Xz [i] is the imaginary part of X (i).  Both vectors are of length n.
00101         This is the "split" form of the complex vector X.
00102 
00103         If Xz is (double *) NULL, then Xx holds both real and imaginary parts,
00104         where Xx [2*i] is the real part of X (i) and Xx [2*i+1] is the imaginary
00105         part of X (i).  Xx is of length 2*n doubles.  If you have an ANSI C99
00106         compiler with the intrinsic double _Complex type, then Xx can be of
00107         type double _Complex in the calling routine and typecast to (double *)
00108         when passed to umfpack_*_report_vector (this is untested, however).
00109         This is the "merged" form of the complex vector X.
00110 
00111         Future work:  all complex routines in UMFPACK could use this same
00112         strategy for their complex arguments.  The split format is useful for
00113         MATLAB, which holds its real and imaginary parts in seperate arrays.
00114         The merged format is compatible with the intrinsic double _Complex
00115         type in ANSI C99, and is also compatible with SuperLU's method of
00116         storing complex matrices.  In the current version, only 
00117         umfpack_*_report_vector supports both formats.
00118 
00119     double Control [UMFPACK_CONTROL] ;  Input argument, not modified.
00120 
00121         If a (double *) NULL pointer is passed, then the default control
00122         settings are used.  Otherwise, the settings are determined from the
00123         Control array.  See umfpack_*_defaults on how to fill the Control
00124         array with the default settings.  If Control contains NaN's, the
00125         defaults are used.  The following Control parameters are used:
00126 
00127         Control [UMFPACK_PRL]:  printing level.
00128 
00129             2 or less: no output.  returns silently without checking anything.
00130             3: fully check input, and print a short summary of its status
00131             4: as 3, but print first few entries of the input
00132             5: as 3, but print all of the input
00133             Default: 1
00134 */

Generated on Sun May 27 11:59:43 2007 for FEMFLUID by  doxygen 1.4.6