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 */