00001 /* ========================================================================== */ 00002 /* === umfpack_report_perm ================================================== */ 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_perm 00013 ( 00014 int np, 00015 const int Perm [ ], 00016 const double Control [UMFPACK_CONTROL] 00017 ) ; 00018 00019 long umfpack_dl_report_perm 00020 ( 00021 long np, 00022 const long Perm [ ], 00023 const double Control [UMFPACK_CONTROL] 00024 ) ; 00025 00026 int umfpack_zi_report_perm 00027 ( 00028 int np, 00029 const int Perm [ ], 00030 const double Control [UMFPACK_CONTROL] 00031 ) ; 00032 00033 long umfpack_zl_report_perm 00034 ( 00035 long np, 00036 const long Perm [ ], 00037 const double Control [UMFPACK_CONTROL] 00038 ) ; 00039 00040 /* 00041 double int Syntax: 00042 00043 #include "umfpack.h" 00044 int np, *Perm, status ; 00045 double Control [UMFPACK_CONTROL] ; 00046 status = umfpack_di_report_perm (np, Perm, Control) ; 00047 00048 double long Syntax: 00049 00050 #include "umfpack.h" 00051 long np, *Perm, status ; 00052 double Control [UMFPACK_CONTROL] ; 00053 status = umfpack_dl_report_perm (np, Perm, Control) ; 00054 00055 complex int Syntax: 00056 00057 #include "umfpack.h" 00058 int np, *Perm, status ; 00059 double Control [UMFPACK_CONTROL] ; 00060 status = umfpack_zi_report_perm (np, Perm, Control) ; 00061 00062 complex long Syntax: 00063 00064 #include "umfpack.h" 00065 long np, *Perm, status ; 00066 double Control [UMFPACK_CONTROL] ; 00067 status = umfpack_zl_report_perm (np, Perm, Control) ; 00068 00069 Purpose: 00070 00071 Verifies and prints a permutation vector. 00072 00073 Returns: 00074 00075 UMFPACK_OK if Control [UMFPACK_PRL] <= 2 (the input is not checked). 00076 00077 Otherwise: 00078 UMFPACK_OK if the permutation vector is valid (this includes that case 00079 when Perm is (Int *) NULL, which is not an error condition). 00080 UMFPACK_ERROR_n_nonpositive if np <= 0. 00081 UMFPACK_ERROR_out_of_memory if out of memory. 00082 UMFPACK_ERROR_invalid_permutation if Perm is not a valid permutation vector. 00083 00084 Arguments: 00085 00086 Int np ; Input argument, not modified. 00087 00088 Perm is an integer vector of size np. Restriction: np > 0. 00089 00090 Int Perm [np] ; Input argument, not modified. 00091 00092 A permutation vector of size np. If Perm is not present (an (Int *) 00093 NULL pointer), then it is assumed to be the identity permutation. This 00094 is consistent with its use as an input argument to umfpack_*_qsymbolic, 00095 and is not an error condition. If Perm is present, the entries in Perm 00096 must range between 0 and np-1, and no duplicates may exist. 00097 00098 double Control [UMFPACK_CONTROL] ; Input argument, not modified. 00099 00100 If a (double *) NULL pointer is passed, then the default control 00101 settings are used. Otherwise, the settings are determined from the 00102 Control array. See umfpack_*_defaults on how to fill the Control 00103 array with the default settings. If Control contains NaN's, the 00104 defaults are used. The following Control parameters are used: 00105 00106 Control [UMFPACK_PRL]: printing level. 00107 00108 2 or less: no output. returns silently without checking anything. 00109 3: fully check input, and print a short summary of its status 00110 4: as 3, but print first few entries of the input 00111 5: as 3, but print all of the input 00112 Default: 1 00113 */