umfpack_col_to_triplet.h

Go to the documentation of this file.
00001 /* ========================================================================== */
00002 /* === umfpack_col_to_triplet =============================================== */
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_col_to_triplet
00013 (
00014     int n_col,
00015     const int Ap [ ],
00016     int Tj [ ]
00017 ) ;
00018 
00019 long umfpack_dl_col_to_triplet
00020 (
00021     long n_col,
00022     const long Ap [ ],
00023     long Tj [ ]
00024 ) ;
00025 
00026 int umfpack_zi_col_to_triplet
00027 (
00028     int n_col,
00029     const int Ap [ ],
00030     int Tj [ ]
00031 ) ;
00032 
00033 long umfpack_zl_col_to_triplet
00034 (
00035     long n_col,
00036     const long Ap [ ],
00037     long Tj [ ]
00038 ) ;
00039 
00040 /*
00041 double int Syntax:
00042 
00043     #include "umfpack.h"
00044     int n_col, *Tj, *Ap, status ;
00045     status = umfpack_di_col_to_triplet (n_col, Ap, Tj) ;
00046 
00047 double long Syntax:
00048 
00049     #include "umfpack.h"
00050     long n_col, *Tj, *Ap, status ;
00051     status = umfpack_dl_col_to_triplet (n_col, Ap, Tj) ;
00052 
00053 complex int Syntax:
00054 
00055     #include "umfpack.h"
00056     int n_col, *Tj, *Ap, status ;
00057     status = umfpack_zi_col_to_triplet (n_col, Ap, Tj) ;
00058 
00059 complex long Syntax:
00060 
00061     #include "umfpack.h"
00062     long n_col, *Tj, *Ap, status ;
00063     status = umfpack_zl_col_to_triplet (n_col, Ap, Tj) ;
00064 
00065 Purpose:
00066 
00067     Converts a column-oriented matrix to a triplet form.  Only the column
00068     pointers, Ap, are required, and only the column indices of the triplet form
00069     are constructed.   This routine is the opposite of umfpack_*_triplet_to_col.
00070     The matrix may be singular and/or rectangular.  Analogous to [i, Tj, x] =
00071     find (A) in MATLAB, except that zero entries present in the column-form of
00072     A are present in the output, and i and x are not created (those are just Ai
00073     and Ax+Az*1i, respectively, for a column-form matrix A).
00074 
00075 Returns:
00076 
00077     UMFPACK_OK if successful
00078     UMFPACK_ERROR_argument_missing if Ap or Tj is missing
00079     UMFPACK_ERROR_n_nonpositive if n_col <= 0
00080     UMFPACK_ERROR_invalid_matrix if Ap [n_col] < 0, Ap [0] != 0, or
00081         Ap [j] > Ap [j+1] for any j in the range 0 to n-1.
00082     Unsorted columns and duplicate entries do not cause an error (these would
00083     only be evident by examining Ai).  Empty rows and columns are OK.
00084 
00085 Arguments:
00086 
00087     Int n_col ;         Input argument, not modified.
00088 
00089         A is an n_row-by-n_col matrix.  Restriction: n_col > 0.
00090         (n_row is not required)
00091 
00092     Int Ap [n_col+1] ;  Input argument, not modified.
00093 
00094         The column pointers of the column-oriented form of the matrix.  See
00095         umfpack_*_*symbolic for a description.  The number of entries in
00096         the matrix is nz = Ap [n_col].  Restrictions on Ap are the same as those
00097         for umfpack_*_transpose.  Ap [0] must be zero, nz must be >= 0, and
00098         Ap [j] <= Ap [j+1] and Ap [j] <= Ap [n_col] must be true for all j in
00099         the range 0 to n_col-1.  Empty columns are OK (that is, Ap [j] may equal
00100         Ap [j+1] for any j in the range 0 to n_col-1).
00101 
00102     Int Tj [nz] ;       Output argument.
00103 
00104         Tj is an integer array of size nz on input, where nz = Ap [n_col].
00105         Suppose the column-form of the matrix is held in Ap, Ai, Ax, and Az
00106         (see umfpack_*_*symbolic for a description).  Then on output, the
00107         triplet form of the same matrix is held in Ai (row indices), Tj (column
00108         indices), and Ax (numerical values).  Note, however, that this routine
00109         does not require Ai and Ax (or Az for the complex version) in order to
00110         do the conversion.
00111 */

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