Blob Blame Raw
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>SuperLU: SRC/ssp_blas3.c File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>SRC/ssp_blas3.c File Reference</h1>Sparse BLAS3, using some dense BLAS3 operations. <a href="#_details">More...</a>
<p>
<code>#include &quot;<a class="el" href="slu__sdefs_8h-source.html">slu_sdefs.h</a>&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssp__blas3_8c.html#4922193147765a6b36d753e5db65a268">sp_sgemm</a> (char *transa, char *transb, int m, int n, int k, float alpha, <a class="el" href="structSuperMatrix.html">SuperMatrix</a> *<a class="el" href="ilu__zdrop__row_8c.html#c900805a486cbb8489e3c176ed6e0d8e">A</a>, float *b, int ldb, float beta, float *c, int ldc)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<pre>
 -- SuperLU routine (version 2.0) --
 Univ. of California Berkeley, Xerox Palo Alto Research Center,
 and Lawrence Berkeley National Lab.
 November 15, 1997
 </pre> <hr><h2>Function Documentation</h2>
<a class="anchor" name="4922193147765a6b36d753e5db65a268"></a><!-- doxytag: member="ssp_blas3.c::sp_sgemm" ref="4922193147765a6b36d753e5db65a268" args="(char *transa, char *transb, int m, int n, int k, float alpha, SuperMatrix *A, float *b, int ldb, float beta, float *c, int ldc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sp_sgemm           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>transa</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>transb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>alpha</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSuperMatrix.html">SuperMatrix</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ldb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>beta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ldc</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<pre>
 Purpose   
   =======</pre><p>
<pre>   sp_s performs one of the matrix-matrix operations</pre><p>
<pre>      C := alpha*op( A )*op( B ) + beta*C,</pre><p>
<pre>   where  op( X ) is one of</pre><p>
<pre>      op( X ) = X   or   op( X ) = X'   or   op( X ) = conjg( X' ),</pre><p>
<pre>   alpha and beta are scalars, and A, B and C are matrices, with op( A ) 
   an m by k matrix,  op( B )  a  k by n matrix and  C an m by n matrix.</pre><p>
<pre>   Parameters   
   ==========</pre><p>
<pre>   TRANSA - (input) char*
            On entry, TRANSA specifies the form of op( A ) to be used in 
            the matrix multiplication as follows:   
               TRANSA = 'N' or 'n',  op( A ) = A.   
               TRANSA = 'T' or 't',  op( A ) = A'.   
               TRANSA = 'C' or 'c',  op( A ) = conjg( A' ).   
            Unchanged on exit.</pre><p>
<pre>   TRANSB - (input) char*
            On entry, TRANSB specifies the form of op( B ) to be used in 
            the matrix multiplication as follows:   
               TRANSB = 'N' or 'n',  op( B ) = B.   
               TRANSB = 'T' or 't',  op( B ) = B'.   
               TRANSB = 'C' or 'c',  op( B ) = conjg( B' ).   
            Unchanged on exit.</pre><p>
<pre>   M      - (input) int   
            On entry,  M  specifies  the number of rows of the matrix 
	     op( A ) and of the matrix C.  M must be at least zero. 
	     Unchanged on exit.</pre><p>
<pre>   N      - (input) int
            On entry,  N specifies the number of columns of the matrix 
	     op( B ) and the number of columns of the matrix C. N must be 
	     at least zero.
	     Unchanged on exit.</pre><p>
<pre>   K      - (input) int
            On entry, K specifies the number of columns of the matrix 
	     op( A ) and the number of rows of the matrix op( B ). K must 
	     be at least  zero.   
           Unchanged on exit.</pre><p>
<pre>   ALPHA  - (input) float
            On entry, ALPHA specifies the scalar alpha.</pre><p>
<pre>   A      - (input) SuperMatrix*
            Matrix A with a sparse format, of dimension (A-&gt;nrow, A-&gt;ncol).
            Currently, the type of A can be:
                Stype = NC or NCP; Dtype = SLU_S; Mtype = GE. 
            In the future, more general A can be handled.</pre><p>
<pre>   B      - FLOAT PRECISION array of DIMENSION ( LDB, kb ), where kb is 
            n when TRANSB = 'N' or 'n',  and is  k otherwise.   
            Before entry with  TRANSB = 'N' or 'n',  the leading k by n 
            part of the array B must contain the matrix B, otherwise 
            the leading n by k part of the array B must contain the 
            matrix B.   
            Unchanged on exit.</pre><p>
<pre>   LDB    - (input) int
            On entry, LDB specifies the first dimension of B as declared 
            in the calling (sub) program. LDB must be at least <a class="el" href="slamch_8c.html#ffe776513b24d84b39af8ab0930fef7f">max( 1, n )</a>.  
            Unchanged on exit.</pre><p>
<pre>   BETA   - (input) float
            On entry, BETA specifies the scalar beta. When BETA is   
            supplied as zero then C need not be set on input.</pre><p>
<pre>   C      - FLOAT PRECISION array of DIMENSION ( LDC, n ).   
            Before entry, the leading m by n part of the array C must 
            contain the matrix C,  except when beta is zero, in which 
            case C need not be set on entry.   
            On exit, the array C is overwritten by the m by n matrix 
	     ( alpha*op( A )*B + beta*C ).</pre><p>
<pre>   LDC    - (input) int
            On entry, LDC specifies the first dimension of C as declared 
            in the calling (sub)program. LDC must be at least <a class="el" href="slamch_8c.html#ffe776513b24d84b39af8ab0930fef7f">max(1,m)</a>.   
            Unchanged on exit.</pre><p>
<pre>   ==== Sparse Level 3 Blas routine.   
 </pre> 
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Nov 22 10:23:48 2010 for SuperLU by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>