kusano 7d535a
kusano 7d535a
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
kusano 7d535a
<title>SuperLU: SRC/dgstrs.c File Reference</title>
kusano 7d535a
<link href="doxygen.css" rel="stylesheet" type="text/css">
kusano 7d535a
<link href="tabs.css" rel="stylesheet" type="text/css">
kusano 7d535a
kusano 7d535a
kusano 7d535a
kusano 7d535a
  
kusano 7d535a
    
    kusano 7d535a
          
  • Main Page
  • kusano 7d535a
          
  • Data Structures
  • kusano 7d535a
          
  • Files
  • kusano 7d535a
        
    kusano 7d535a
      
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a

    SRC/dgstrs.c File Reference

    Solves a system using LU factorization. More...
    kusano 7d535a

    kusano 7d535a
    #include "slu_ddefs.h"
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a

    Functions

    kusano 7d535a
    void dusolve (int, int, double *, double *)
    kusano 7d535a
    kusano 7d535a
     Solves a dense upper triangular system.  
    kusano 7d535a
    void dlsolve (int, int, double *, double *)
    kusano 7d535a
    kusano 7d535a
     Solves a dense UNIT lower triangular system.  
    kusano 7d535a
    void dmatvec (int, int, int, double *, double *, double *)
    kusano 7d535a
    kusano 7d535a
     Performs a dense matrix-vector multiply: Mxvec = Mxvec + M * vec.  
    kusano 7d535a
    void dgstrs (trans_t trans, SuperMatrix *L, SuperMatrix *U, int *perm_c, int *perm_r, SuperMatrix *B, SuperLUStat_t *stat, int *info)
    kusano 7d535a
    kusano 7d535a
    void dprint_soln (int n, int nrhs, double *soln)
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a

    Detailed Description

    kusano 7d535a
    kusano 7d535a
     -- SuperLU routine (version 3.0) --
    kusano 7d535a
     Univ. of California Berkeley, Xerox Palo Alto Research Center,
    kusano 7d535a
     and Lawrence Berkeley National Lab.
    kusano 7d535a
     October 15, 2003

    kusano 7d535a
     Copyright (c) 1994 by Xerox Corporation.  All rights reserved.

    kusano 7d535a
     THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
    kusano 7d535a
     EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.

    kusano 7d535a
     Permission is hereby granted to use or copy this program for any
    kusano 7d535a
     purpose, provided the above notices are retained on all copies.
    kusano 7d535a
     Permission to modify the code and to distribute modified code is
    kusano 7d535a
     granted, provided the above notices are retained, and a notice that
    kusano 7d535a
     the code was modified is included with the above copyright notice.
    kusano 7d535a
      

    Function Documentation

    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
          
    kusano 7d535a
            
    kusano 7d535a
              void dgstrs           
    kusano 7d535a
              (
    kusano 7d535a
              trans_t 
    kusano 7d535a
               trans, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              SuperMatrix
    kusano 7d535a
               L, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              SuperMatrix
    kusano 7d535a
               U, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              int * 
    kusano 7d535a
               perm_c, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              int * 
    kusano 7d535a
               perm_r, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              SuperMatrix
    kusano 7d535a
               B, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              SuperLUStat_t
    kusano 7d535a
               stat, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              int * 
    kusano 7d535a
               info 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              )
    kusano 7d535a
              
    kusano 7d535a
            
    kusano 7d535a
          
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a

    kusano 7d535a
    kusano 7d535a
     Purpose
    kusano 7d535a
     =======

    kusano 7d535a
     DGSTRS solves a system of linear equations A*X=B or A'*X=B
    kusano 7d535a
     with A sparse and B dense, using the LU factorization computed by
    kusano 7d535a
     DGSTRF.

    kusano 7d535a
     See supermatrix.h for the definition of 'SuperMatrix' structure.

    kusano 7d535a
     Arguments
    kusano 7d535a
     =========

    kusano 7d535a
     trans   (input) trans_t
    kusano 7d535a
              Specifies the form of the system of equations:
    kusano 7d535a
              = NOTRANS: A * X = B  (No transpose)
    kusano 7d535a
              = TRANS:   A'* X = B  (Transpose)
    kusano 7d535a
              = CONJ:    A**H * X = B  (Conjugate transpose)

    kusano 7d535a
     L       (input) SuperMatrix*
    kusano 7d535a
             The factor L from the factorization Pr*A*Pc=L*U as computed by
    kusano 7d535a
             dgstrf(). Use compressed row subscripts storage for supernodes,
    kusano 7d535a
             i.e., L has types: Stype = SLU_SC, Dtype = SLU_D, Mtype = SLU_TRLU.

    kusano 7d535a
     U       (input) SuperMatrix*
    kusano 7d535a
             The factor U from the factorization Pr*A*Pc=L*U as computed by
    kusano 7d535a
             dgstrf(). Use column-wise storage scheme, i.e., U has types:
    kusano 7d535a
             Stype = SLU_NC, Dtype = SLU_D, Mtype = SLU_TRU.

    kusano 7d535a
     perm_c  (input) int*, dimension (L->ncol)
    kusano 7d535a
    	   Column permutation vector, which defines the 
    kusano 7d535a
             permutation matrix Pc; perm_c[i] = j means column i of A is 
    kusano 7d535a
             in position j in A*Pc.

    kusano 7d535a
     perm_r  (input) int*, dimension (L->nrow)
    kusano 7d535a
             Row permutation vector, which defines the permutation matrix Pr; 
    kusano 7d535a
             perm_r[i] = j means row i of A is in position j in Pr*A.

    kusano 7d535a
     B       (input/output) SuperMatrix*
    kusano 7d535a
             B has types: Stype = SLU_DN, Dtype = SLU_D, Mtype = SLU_GE.
    kusano 7d535a
             On entry, the right hand side matrix.
    kusano 7d535a
             On exit, the solution matrix if info = 0;

    kusano 7d535a
     stat     (output) SuperLUStat_t*
    kusano 7d535a
              Record the statistics on runtime and floating-point operation count.
    kusano 7d535a
              See util.h for the definition of 'SuperLUStat_t'.

    kusano 7d535a
     info    (output) int*
    kusano 7d535a
     	   = 0: successful exit
    kusano 7d535a
    	   < 0: if info = -i, the i-th argument had an illegal value
    kusano 7d535a
      
    kusano 7d535a
    kusano 7d535a

    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
          
    kusano 7d535a
            
    kusano 7d535a
              void dlsolve           
    kusano 7d535a
              (
    kusano 7d535a
              int 
    kusano 7d535a
               ldm, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              int 
    kusano 7d535a
               ncol, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              double * 
    kusano 7d535a
               M, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              double * 
    kusano 7d535a
               rhs 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              )
    kusano 7d535a
              
    kusano 7d535a
            
    kusano 7d535a
          
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a

    kusano 7d535a
    The unit lower triangular matrix is stored in a 2D array M(1:nrow,1:ncol). The solution will be returned in the rhs vector. 
    kusano 7d535a
    kusano 7d535a

    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
          
    kusano 7d535a
            
    kusano 7d535a
              void dmatvec           
    kusano 7d535a
              (
    kusano 7d535a
              int 
    kusano 7d535a
               ldm, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              int 
    kusano 7d535a
               nrow, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              int 
    kusano 7d535a
               ncol, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              double * 
    kusano 7d535a
               M, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              double * 
    kusano 7d535a
               vec, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              double * 
    kusano 7d535a
               Mxvec 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              )
    kusano 7d535a
              
    kusano 7d535a
            
    kusano 7d535a
          
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a

    kusano 7d535a
    The input matrix is M(1:nrow,1:ncol); The product is returned in Mxvec[]. 
    kusano 7d535a
    kusano 7d535a

    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
          
    kusano 7d535a
            
    kusano 7d535a
              void dprint_soln           
    kusano 7d535a
              (
    kusano 7d535a
              int 
    kusano 7d535a
               n, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              int 
    kusano 7d535a
               nrhs, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              double * 
    kusano 7d535a
               soln 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              )
    kusano 7d535a
              
    kusano 7d535a
            
    kusano 7d535a
          
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a

    kusano 7d535a
    kusano 7d535a
    kusano 7d535a

    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
          
    kusano 7d535a
            
    kusano 7d535a
              void dusolve           
    kusano 7d535a
              (
    kusano 7d535a
              int 
    kusano 7d535a
               ldm, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              int 
    kusano 7d535a
               ncol, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              double * 
    kusano 7d535a
               M, 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              
    kusano 7d535a
              double * 
    kusano 7d535a
               rhs 
    kusano 7d535a
            
    kusano 7d535a
            
    kusano 7d535a
              
    kusano 7d535a
              )
    kusano 7d535a
              
    kusano 7d535a
            
    kusano 7d535a
          
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a
    kusano 7d535a

    kusano 7d535a
    The upper triangular matrix is stored in a 2-dim array M(1:ldm,1:ncol). The solution will be returned in the rhs vector. 
    kusano 7d535a
    kusano 7d535a

    kusano 7d535a
    kusano 7d535a

    <address style="text-align: right;"><small>Generated on Mon Nov 22 10:23:47 2010 for SuperLU by </small></address>
    kusano 7d535a
    kusano 7d535a
    doxygen 1.5.5 
    kusano 7d535a
    kusano 7d535a