258 lines
10 KiB
HTML
258 lines
10 KiB
HTML
<!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/spanel_bmod.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 Page</span></a></li>
|
|
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="contents">
|
|
<h1>SRC/spanel_bmod.c File Reference</h1>Performs numeric block updates. <a href="#_details">More...</a>
|
|
<p>
|
|
<code>#include <stdio.h></code><br>
|
|
<code>#include <stdlib.h></code><br>
|
|
<code>#include "<a class="el" href="slu__sdefs_8h-source.html">slu_sdefs.h</a>"</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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="spanel__bmod_8c.html#a8bbeb2abbd5a10ac13fa9b48504691c">slsolve</a> (int, int, float *, float *)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Solves a dense UNIT lower triangular system. <a href="#a8bbeb2abbd5a10ac13fa9b48504691c"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="spanel__bmod_8c.html#b452e957171a4d0d9cfe6abb3d8a950c">smatvec</a> (int, int, int, float *, float *, float *)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs a dense matrix-vector multiply: Mxvec = Mxvec + M * vec. <a href="#b452e957171a4d0d9cfe6abb3d8a950c"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="spanel__bmod_8c.html#e6f7d2939a3b49f7b1022645be6dde4e">scheck_tempv</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="spanel__bmod_8c.html#1d0a6dc46d27416a6d5864dda1dba577">spanel_bmod</a> (const int m, const int w, const int jcol, const int nseg, float *dense, float *tempv, int *segrep, int *repfnz, <a class="el" href="structGlobalLU__t.html">GlobalLU_t</a> *Glu, <a class="el" href="structSuperLUStat__t.html">SuperLUStat_t</a> *stat)</td></tr>
|
|
|
|
</table>
|
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
|
<pre>
|
|
-- SuperLU routine (version 3.0) --
|
|
Univ. of California Berkeley, Xerox Palo Alto Research Center,
|
|
and Lawrence Berkeley National Lab.
|
|
October 15, 2003</pre><p>
|
|
<pre> Copyright (c) 1994 by Xerox Corporation. All rights reserved.</pre><p>
|
|
<pre> THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
|
|
EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK.</pre><p>
|
|
<pre> Permission is hereby granted to use or copy this program for any
|
|
purpose, provided the above notices are retained on all copies.
|
|
Permission to modify the code and to distribute modified code is
|
|
granted, provided the above notices are retained, and a notice that
|
|
the code was modified is included with the above copyright notice.
|
|
</pre> <hr><h2>Function Documentation</h2>
|
|
<a class="anchor" name="e6f7d2939a3b49f7b1022645be6dde4e"></a><!-- doxytag: member="spanel_bmod.c::scheck_tempv" ref="e6f7d2939a3b49f7b1022645be6dde4e" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void scheck_tempv </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="a8bbeb2abbd5a10ac13fa9b48504691c"></a><!-- doxytag: member="spanel_bmod.c::slsolve" ref="a8bbeb2abbd5a10ac13fa9b48504691c" args="(int, int, float *, float *)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void slsolve </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ldm</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ncol</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>M</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>rhs</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
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.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="b452e957171a4d0d9cfe6abb3d8a950c"></a><!-- doxytag: member="spanel_bmod.c::smatvec" ref="b452e957171a4d0d9cfe6abb3d8a950c" args="(int, int, int, float *, float *, float *)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void smatvec </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ldm</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>nrow</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ncol</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>M</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>vec</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>Mxvec</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
The input matrix is M(1:nrow,1:ncol); The product is returned in Mxvec[].
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="1d0a6dc46d27416a6d5864dda1dba577"></a><!-- doxytag: member="spanel_bmod.c::spanel_bmod" ref="1d0a6dc46d27416a6d5864dda1dba577" args="(const int m, const int w, const int jcol, const int nseg, float *dense, float *tempv, int *segrep, int *repfnz, GlobalLU_t *Glu, SuperLUStat_t *stat)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void spanel_bmod </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"> <em>m</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"> <em>w</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"> <em>jcol</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const int </td>
|
|
<td class="paramname"> <em>nseg</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>dense</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>tempv</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>segrep</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>repfnz</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structGlobalLU__t.html">GlobalLU_t</a> * </td>
|
|
<td class="paramname"> <em>Glu</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structSuperLUStat__t.html">SuperLUStat_t</a> * </td>
|
|
<td class="paramname"> <em>stat</em></td><td> </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> Performs numeric block updates (sup-panel) in topological order.
|
|
It features: col-col, 2cols-col, 3cols-col, and sup-col updates.
|
|
Special processing on the supernodal portion of L[*,j]</pre><p>
|
|
<pre> Before entering this routine, the original nonzeros in the panel
|
|
were already copied into the spa[m,w].</pre><p>
|
|
<pre> Updated/Output parameters-
|
|
dense[0:m-1,w]: L[*,j:j+w-1] and U[*,j:j+w-1] are returned
|
|
collectively in the m-by-w vector dense[*].
|
|
</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
|
|
<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>
|