Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 5908

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>cs.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<div class="title">cs.h</div>  </div>
</div>
<div class="contents">
<a href="cs_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef _CS_H</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define _CS_H</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span><span class="preprocessor">#include &lt;stdlib.h&gt;</span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;limits.h&gt;</span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;<a class="code" href="math_8h.html">math.h</a>&gt;</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00007"></a>00007 <span class="preprocessor">#ifdef MATLAB_MEX_FILE</span>
<a name="l00008"></a>00008 <span class="preprocessor"></span><span class="preprocessor">#include &quot;mex.h&quot;</span>
<a name="l00009"></a>00009 <span class="preprocessor">#endif</span>
<a name="l00010"></a><a class="code" href="cs_8h.html#a4371903ff8b39a742cfaf6c6d7f60c4b">00010</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_VER 2                    </span><span class="comment">/* CSparse Version */</span>
<a name="l00011"></a><a class="code" href="cs_8h.html#ac86012ab063a9b8248eaac8bec3b648b">00011</a> <span class="preprocessor">#define CS_SUBVER 2</span>
<a name="l00012"></a><a class="code" href="cs_8h.html#a7f63c57bd63a43fe7ca98e82f524f2ea">00012</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_SUBSUB 4</span>
<a name="l00013"></a><a class="code" href="cs_8h.html#a368a611d92ef4a9df9b95cfad8dccf80">00013</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_DATE &quot;Nov 30, 2009&quot;     </span><span class="comment">/* CSparse release date */</span>
<a name="l00014"></a><a class="code" href="cs_8h.html#ae6b1a40644b8ddacbbc3bd7c255dbbb4">00014</a> <span class="preprocessor">#define CS_COPYRIGHT &quot;Copyright (c) Timothy A. Davis, 2006-2009&quot;</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">/* --- primary CSparse routines and data structures ------------------------- */</span>
<a name="l00017"></a>00017 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structcs__sparse.html">cs_sparse</a>    <span class="comment">/* matrix in compressed-column or triplet form */</span>
<a name="l00018"></a>00018 {
<a name="l00019"></a><a class="code" href="structcs__sparse.html#aab49fc365ddf6273376a96d3a6aa751f">00019</a>     <span class="keywordtype">int</span> <a class="code" href="structcs__sparse.html#aab49fc365ddf6273376a96d3a6aa751f">nzmax</a> ;     <span class="comment">/* maximum number of entries */</span>
<a name="l00020"></a><a class="code" href="structcs__sparse.html#a8aeba3ffed4d599a4906e78329d3448b">00020</a>     <span class="keywordtype">int</span> <a class="code" href="structcs__sparse.html#a8aeba3ffed4d599a4906e78329d3448b">m</a> ;         <span class="comment">/* number of rows */</span>
<a name="l00021"></a><a class="code" href="structcs__sparse.html#a86c18870dc1551c71f8ea551efe68625">00021</a>     <span class="keywordtype">int</span> <a class="code" href="structcs__sparse.html#a86c18870dc1551c71f8ea551efe68625">n</a> ;         <span class="comment">/* number of columns */</span>
<a name="l00022"></a><a class="code" href="structcs__sparse.html#a263a2347e8dcf1a7a20ee66730297b85">00022</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__sparse.html#a263a2347e8dcf1a7a20ee66730297b85">p</a> ;        <span class="comment">/* column pointers (size n+1) or col indices (size nzmax) */</span>
<a name="l00023"></a><a class="code" href="structcs__sparse.html#aeb6831b93f8a901b4a5d520c46990f44">00023</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__sparse.html#aeb6831b93f8a901b4a5d520c46990f44">i</a> ;        <span class="comment">/* row indices, size nzmax */</span>
<a name="l00024"></a><a class="code" href="structcs__sparse.html#a0d6d06e4893a7d4d86e94ce49358d9c1">00024</a>     <span class="keywordtype">double</span> *<a class="code" href="structcs__sparse.html#a0d6d06e4893a7d4d86e94ce49358d9c1">x</a> ;     <span class="comment">/* numerical values, size nzmax */</span>
<a name="l00025"></a><a class="code" href="structcs__sparse.html#a707363d7869d3fc4126027c1c9c7cf7c">00025</a>     <span class="keywordtype">int</span> <a class="code" href="structcs__sparse.html#a707363d7869d3fc4126027c1c9c7cf7c">nz</a> ;        <span class="comment">/* # of entries in triplet matrix, -1 for compressed-col */</span>
<a name="l00026"></a>00026 } <a class="code" href="cs_8h.html#a44e471a015cf32e012cffef17e81b6db">cs</a> ;
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="cs_8h.html#a12000fbd0b9198d3852978cca8386afe">cs_add</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *B, <span class="keywordtype">double</span> alpha, <span class="keywordtype">double</span> beta) ;
<a name="l00029"></a>00029 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a661c215839fe06dfed360d022188abad">cs_cholsol</a> (<span class="keywordtype">int</span> order, <span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">double</span> *b) ;
<a name="l00030"></a>00030 <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="cs_8h.html#a917a026613fc4f26e5c5c1b8ce2f8389">cs_compress</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *T) ;
<a name="l00031"></a>00031 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a83dc83954d821b748c3ba9fea1f6b5ca">cs_dupl</a> (<a class="code" href="structcs__sparse.html">cs</a> *A) ;
<a name="l00032"></a>00032 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a123f77ef9b940089a931a994deb21735">cs_entry</a> (<a class="code" href="structcs__sparse.html">cs</a> *T, <span class="keywordtype">int</span> i, <span class="keywordtype">int</span> j, <span class="keywordtype">double</span> x) ;
<a name="l00033"></a>00033 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#ac0eed964540f66b5e15c3eb300816a43">cs_entry_no_extend</a> (<a class="code" href="structcs__sparse.html">cs</a> *T, <span class="keywordtype">int</span> i, <span class="keywordtype">int</span> j, <span class="keywordtype">double</span> x) ;   <span class="comment">//! Added by JLBC for MRPT: Just like cs_entry but doesn&#39;t extend the matrix limits.</span>
<a name="l00034"></a>00034 <span class="comment"></span><span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a7c887151e9bd6dd56f580c8ae6a5af31" title="Added by JLBC for MRPT: Just like cs_entry but doesn&#39;t extend the matrix limits.">cs_gaxpy</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keyword">const</span> <span class="keywordtype">double</span> *x, <span class="keywordtype">double</span> *<a class="code" href="namespace_eigen_1_1internal.html#a3d7a581aeb951248dc6fe114e9e05f07">y</a>) ;
<a name="l00035"></a>00035 <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="cs_8h.html#a12eb66c4f53e51ee5e03ec0b9f24b368">cs_load</a> (FILE *f) ;
<a name="l00036"></a>00036 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a2ecf7b79f04b1f14554e67d3522b0ad4">cs_lusol</a> (<span class="keywordtype">int</span> order, <span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">double</span> *b, <span class="keywordtype">double</span> tol) ;
<a name="l00037"></a>00037 <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="cs_8h.html#a066e18f8570c820530c73ebc88b30a97">cs_multiply</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *B) ;
<a name="l00038"></a>00038 <span class="keywordtype">double</span> <a class="code" href="cs_8h.html#ae2b324f8f0cdc3610d98ce6cebd50075">cs_norm</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A) ;
<a name="l00039"></a>00039 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#ab3e2c74ed6cf7521170a45d04aab9b51">cs_print</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">int</span> brief) ;
<a name="l00040"></a>00040 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#af1cde25f7d702464291dd2a7e85b4770">cs_qrsol</a> (<span class="keywordtype">int</span> order, <span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">double</span> *b) ;
<a name="l00041"></a>00041 <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="cs_8h.html#a090225477a18abe5f8d5ab26e4efaf3a">cs_transpose</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">int</span> values) ;
<a name="l00042"></a>00042 <span class="comment">/* utilities */</span>
<a name="l00043"></a>00043 <span class="keywordtype">void</span> *<a class="code" href="cs_8h.html#ad3e846c0142a1457e8e85bcaf559fb98">cs_calloc</a> (<span class="keywordtype">int</span> n, <span class="keywordtype">size_t</span> <a class="code" href="namespacemrpt_1_1math.html#a632ae0aecf78103f87f18f9ac33f7170">size</a>) ;
<a name="l00044"></a>00044 <span class="keywordtype">void</span> *<a class="code" href="cs_8h.html#a78c1d1194aacc65212bb0d2b03643ac7">cs_free</a> (<span class="keywordtype">void</span> *p) ;
<a name="l00045"></a>00045 <span class="keywordtype">void</span> *<a class="code" href="cs_8h.html#a7e829e1175f2c8ddb0d6d9e0bb90f985">cs_realloc</a> (<span class="keywordtype">void</span> *p, <span class="keywordtype">int</span> n, <span class="keywordtype">size_t</span> <a class="code" href="namespacemrpt_1_1math.html#a632ae0aecf78103f87f18f9ac33f7170">size</a>, <span class="keywordtype">int</span> *ok) ;
<a name="l00046"></a>00046 <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="cs_8h.html#aad3a584d9185a4fe4497a36f892b9c72">cs_spalloc</a> (<span class="keywordtype">int</span> m, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> nzmax, <span class="keywordtype">int</span> values, <span class="keywordtype">int</span> triplet) ;
<a name="l00047"></a>00047 <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="cs_8h.html#a6d705e404a7831ccf01bc0ea064215b9">cs_spfree</a> (<a class="code" href="structcs__sparse.html">cs</a> *A) ;
<a name="l00048"></a>00048 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a5a9bc4224732ce1cedc50119afc687c1">cs_sprealloc</a> (<a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">int</span> nzmax) ;
<a name="l00049"></a>00049 <span class="keywordtype">void</span> *<a class="code" href="cs_8h.html#a4c6c75c54cbdf2f3fd4574a90c2f8a86">cs_malloc</a> (<span class="keywordtype">int</span> n, <span class="keywordtype">size_t</span> <a class="code" href="namespacemrpt_1_1math.html#a632ae0aecf78103f87f18f9ac33f7170">size</a>) ;
<a name="l00050"></a>00050 
<a name="l00051"></a>00051 <span class="comment">/* --- secondary CSparse routines and data structures ----------------------- */</span>
<a name="l00052"></a>00052 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structcs__symbolic.html">cs_symbolic</a>  <span class="comment">/* symbolic Cholesky, LU, or QR analysis */</span>
<a name="l00053"></a>00053 {
<a name="l00054"></a><a class="code" href="structcs__symbolic.html#a4724390fc87ae2fb8f82a93ce1ddf55d">00054</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__symbolic.html#a4724390fc87ae2fb8f82a93ce1ddf55d">pinv</a> ;     <span class="comment">/* inverse row perm. for QR, fill red. perm for Chol */</span>
<a name="l00055"></a><a class="code" href="structcs__symbolic.html#aecc57aadbdfe0598bf00fb3648fcf098">00055</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__symbolic.html#aecc57aadbdfe0598bf00fb3648fcf098">q</a> ;        <span class="comment">/* fill-reducing column permutation for LU and QR */</span>
<a name="l00056"></a><a class="code" href="structcs__symbolic.html#aefc6fc6ae59f5c51b225c93a549b6838">00056</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__symbolic.html#aefc6fc6ae59f5c51b225c93a549b6838">parent</a> ;   <span class="comment">/* elimination tree for Cholesky and QR */</span>
<a name="l00057"></a><a class="code" href="structcs__symbolic.html#a85eed6fd134282ada142ebaae0fe2403">00057</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__symbolic.html#a85eed6fd134282ada142ebaae0fe2403">cp</a> ;       <span class="comment">/* column pointers for Cholesky, row counts for QR */</span>
<a name="l00058"></a><a class="code" href="structcs__symbolic.html#a232f0ac2071e80cf1feed5f63b7d02b5">00058</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__symbolic.html#a232f0ac2071e80cf1feed5f63b7d02b5">leftmost</a> ; <span class="comment">/* leftmost[i] = min(find(A(i,:))), for QR */</span>
<a name="l00059"></a><a class="code" href="structcs__symbolic.html#a6e76dde6232a98e3b5d96d942c08b12e">00059</a>     <span class="keywordtype">int</span> <a class="code" href="structcs__symbolic.html#a6e76dde6232a98e3b5d96d942c08b12e">m2</a> ;        <span class="comment">/* # of rows for QR, after adding fictitious rows */</span>
<a name="l00060"></a><a class="code" href="structcs__symbolic.html#a4f723af5f9ae0047f678a82a146d17b0">00060</a>     <span class="keywordtype">double</span> <a class="code" href="structcs__symbolic.html#a4f723af5f9ae0047f678a82a146d17b0">lnz</a> ;    <span class="comment">/* # entries in L for LU or Cholesky; in V for QR */</span>
<a name="l00061"></a><a class="code" href="structcs__symbolic.html#a75ba99f8c206d85c4936e11053e7f5e3">00061</a>     <span class="keywordtype">double</span> <a class="code" href="structcs__symbolic.html#a75ba99f8c206d85c4936e11053e7f5e3">unz</a> ;    <span class="comment">/* # entries in U for LU; in R for QR */</span>
<a name="l00062"></a>00062 } <a class="code" href="cs_8h.html#afdd66916fadd9fd39cd279717aa5c6b9">css</a> ;
<a name="l00063"></a>00063 
<a name="l00064"></a>00064 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structcs__numeric.html">cs_numeric</a>   <span class="comment">/* numeric Cholesky, LU, or QR factorization */</span>
<a name="l00065"></a>00065 {
<a name="l00066"></a><a class="code" href="structcs__numeric.html#a93a8cf26f01d3df51b41acc690f120d7">00066</a>     <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="structcs__numeric.html#a93a8cf26f01d3df51b41acc690f120d7">L</a> ;         <span class="comment">/* L for LU and Cholesky, V for QR */</span>
<a name="l00067"></a><a class="code" href="structcs__numeric.html#a1e07204edb10064ca1e471289fced1cb">00067</a>     <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="structcs__numeric.html#a1e07204edb10064ca1e471289fced1cb">U</a> ;         <span class="comment">/* U for LU, R for QR, not used for Cholesky */</span>
<a name="l00068"></a><a class="code" href="structcs__numeric.html#a43298b46a89a885b6cb2a2414ace6308">00068</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__numeric.html#a43298b46a89a885b6cb2a2414ace6308">pinv</a> ;     <span class="comment">/* partial pivoting for LU */</span>
<a name="l00069"></a><a class="code" href="structcs__numeric.html#ad81bc354670c58c7e715293e98316152">00069</a>     <span class="keywordtype">double</span> *<a class="code" href="structcs__numeric.html#ad81bc354670c58c7e715293e98316152">B</a> ;     <span class="comment">/* beta [0..n-1] for QR */</span>
<a name="l00070"></a>00070 } <a class="code" href="cs_8h.html#aa81f48a471a94557a00da42ceb21dc68">csn</a> ;
<a name="l00071"></a>00071 
<a name="l00072"></a>00072 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structcs__dmperm__results.html">cs_dmperm_results</a>    <span class="comment">/* cs_dmperm or cs_scc output */</span>
<a name="l00073"></a>00073 {
<a name="l00074"></a><a class="code" href="structcs__dmperm__results.html#ad5b18b3ab0307b83144cb71c71756159">00074</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__dmperm__results.html#ad5b18b3ab0307b83144cb71c71756159">p</a> ;        <span class="comment">/* size m, row permutation */</span>
<a name="l00075"></a><a class="code" href="structcs__dmperm__results.html#a418ca5ca6ebeae1b8c2d411b57e2d485">00075</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__dmperm__results.html#a418ca5ca6ebeae1b8c2d411b57e2d485">q</a> ;        <span class="comment">/* size n, column permutation */</span>
<a name="l00076"></a><a class="code" href="structcs__dmperm__results.html#a1cb623a8e1c1a221e444b19af4355150">00076</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__dmperm__results.html#a1cb623a8e1c1a221e444b19af4355150">r</a> ;        <span class="comment">/* size nb+1, block k is rows r[k] to r[k+1]-1 in A(p,q) */</span>
<a name="l00077"></a><a class="code" href="structcs__dmperm__results.html#a318a4bff072e62686b30c00a9113c5cc">00077</a>     <span class="keywordtype">int</span> *<a class="code" href="structcs__dmperm__results.html#a318a4bff072e62686b30c00a9113c5cc">s</a> ;        <span class="comment">/* size nb+1, block k is cols s[k] to s[k+1]-1 in A(p,q) */</span>
<a name="l00078"></a><a class="code" href="structcs__dmperm__results.html#a273a6867c52fb2c813575d73ed0d40ee">00078</a>     <span class="keywordtype">int</span> <a class="code" href="structcs__dmperm__results.html#a273a6867c52fb2c813575d73ed0d40ee">nb</a> ;        <span class="comment">/* # of blocks in fine dmperm decomposition */</span>
<a name="l00079"></a><a class="code" href="structcs__dmperm__results.html#af17bae097d2ceb70ca1e8d96006bc225">00079</a>     <span class="keywordtype">int</span> <a class="code" href="structcs__dmperm__results.html#af17bae097d2ceb70ca1e8d96006bc225">rr</a> [5] ;    <span class="comment">/* coarse row decomposition */</span>
<a name="l00080"></a><a class="code" href="structcs__dmperm__results.html#ae56ca45f0058903a3c1e586cff63ecef">00080</a>     <span class="keywordtype">int</span> <a class="code" href="structcs__dmperm__results.html#ae56ca45f0058903a3c1e586cff63ecef">cc</a> [5] ;    <span class="comment">/* coarse column decomposition */</span>
<a name="l00081"></a>00081 } <a class="code" href="cs_8h.html#a157bda8b8156601179bd598e17ff4b9d">csd</a> ;
<a name="l00082"></a>00082 
<a name="l00083"></a>00083 <span class="keywordtype">int</span> *<a class="code" href="cs_8h.html#a633a0b0214f3ee86a27adf6ee6dea640">cs_amd</a> (<span class="keywordtype">int</span> order, <span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A) ;
<a name="l00084"></a>00084 <a class="code" href="structcs__numeric.html">csn</a> *<a class="code" href="cs_8h.html#a5ae664f3c6b2baeed717be084e00e13f">cs_chol</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keyword">const</span> <a class="code" href="structcs__symbolic.html">css</a> *S) ;
<a name="l00085"></a>00085 <a class="code" href="structcs__dmperm__results.html">csd</a> *<a class="code" href="cs_8h.html#ae2efa3ed8c8a2931e584b6d39a293e38">cs_dmperm</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">int</span> seed) ;
<a name="l00086"></a>00086 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a39d53ef3034685545cda58ae28af6bb5">cs_droptol</a> (<a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">double</span> tol) ;
<a name="l00087"></a>00087 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a50c30e47141ef37dbb4b342e1b4ba924">cs_dropzeros</a> (<a class="code" href="structcs__sparse.html">cs</a> *A) ;
<a name="l00088"></a>00088 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a27050a31d36046e833b7763fe8ef62ce">cs_happly</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *V, <span class="keywordtype">int</span> i, <span class="keywordtype">double</span> beta, <span class="keywordtype">double</span> *x) ;
<a name="l00089"></a>00089 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a1d7df434402e7553c34dbd59fd040159">cs_ipvec</a> (<span class="keyword">const</span> <span class="keywordtype">int</span> *p, <span class="keyword">const</span> <span class="keywordtype">double</span> *b, <span class="keywordtype">double</span> *x, <span class="keywordtype">int</span> n) ;
<a name="l00090"></a>00090 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#adbd011bdb4d7bef9825ca1c743fc6b46">cs_lsolve</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *L, <span class="keywordtype">double</span> *x) ;
<a name="l00091"></a>00091 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#afc61741ee2f33a3544f1c5f6b9caf9f6">cs_ltsolve</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *L, <span class="keywordtype">double</span> *x) ;
<a name="l00092"></a>00092 <a class="code" href="structcs__numeric.html">csn</a> *<a class="code" href="cs_8h.html#a6a35ad4816f210234a33eed09b19d181">cs_lu</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keyword">const</span> <a class="code" href="structcs__symbolic.html">css</a> *S, <span class="keywordtype">double</span> tol) ;
<a name="l00093"></a>00093 <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="cs_8h.html#ada9cc712c0db19bc1dc1ef9211e6ca3c">cs_permute</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keyword">const</span> <span class="keywordtype">int</span> *pinv, <span class="keyword">const</span> <span class="keywordtype">int</span> *q, <span class="keywordtype">int</span> values) ;
<a name="l00094"></a>00094 <span class="keywordtype">int</span> *<a class="code" href="cs_8h.html#aecb6a10a64006a8b239a36aed5be33fd">cs_pinv</a> (<span class="keyword">const</span> <span class="keywordtype">int</span> *p, <span class="keywordtype">int</span> n) ;
<a name="l00095"></a>00095 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#ad854f5cf7572128900a5acb1a7c87754">cs_pvec</a> (<span class="keyword">const</span> <span class="keywordtype">int</span> *p, <span class="keyword">const</span> <span class="keywordtype">double</span> *b, <span class="keywordtype">double</span> *x, <span class="keywordtype">int</span> n) ;
<a name="l00096"></a>00096 <a class="code" href="structcs__numeric.html">csn</a> *<a class="code" href="cs_8h.html#a767dc90c22d90fe898f72c2da0d98c03">cs_qr</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keyword">const</span> <a class="code" href="structcs__symbolic.html">css</a> *S) ;
<a name="l00097"></a>00097 <a class="code" href="structcs__symbolic.html">css</a> *<a class="code" href="cs_8h.html#a7c5aa6c4fadeba20b904a1c56b4543f5">cs_schol</a> (<span class="keywordtype">int</span> order, <span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A) ;
<a name="l00098"></a>00098 <a class="code" href="structcs__symbolic.html">css</a> *<a class="code" href="cs_8h.html#a31db4da8e996966094f83c7601dc08ff">cs_sqr</a> (<span class="keywordtype">int</span> order, <span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">int</span> qr) ;
<a name="l00099"></a>00099 <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="cs_8h.html#a3f7a692a1d59e85e601e4ca13c1acffc">cs_symperm</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keyword">const</span> <span class="keywordtype">int</span> *pinv, <span class="keywordtype">int</span> values) ;
<a name="l00100"></a>00100 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#ad5fa81f80009c06259a77fd7d2092f78">cs_updown</a> (<a class="code" href="structcs__sparse.html">cs</a> *L, <span class="keywordtype">int</span> sigma, <span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *C, <span class="keyword">const</span> <span class="keywordtype">int</span> *parent) ;
<a name="l00101"></a>00101 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#aa4cdacecec403b30b97abc7c27594b4f">cs_usolve</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *U, <span class="keywordtype">double</span> *x) ;
<a name="l00102"></a>00102 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a9fbb54471515f219326666ffc4e3e255">cs_utsolve</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *U, <span class="keywordtype">double</span> *x) ;
<a name="l00103"></a>00103 <span class="comment">/* utilities */</span>
<a name="l00104"></a>00104 <a class="code" href="structcs__symbolic.html">css</a> *<a class="code" href="cs_8h.html#ace766075ef439ad6e4347f6b076eb4b7">cs_sfree</a> (<a class="code" href="structcs__symbolic.html">css</a> *S) ;
<a name="l00105"></a>00105 <a class="code" href="structcs__numeric.html">csn</a> *<a class="code" href="cs_8h.html#af2e6d75dfc24a842fdbce3aa510dc4bc">cs_nfree</a> (<a class="code" href="structcs__numeric.html">csn</a> *N) ;
<a name="l00106"></a>00106 <a class="code" href="structcs__dmperm__results.html">csd</a> *<a class="code" href="cs_8h.html#a7c59264397d2c5cc85c87c879aedc4f5">cs_dfree</a> (<a class="code" href="structcs__dmperm__results.html">csd</a> *D) ;
<a name="l00107"></a>00107 
<a name="l00108"></a>00108 <span class="comment">/* --- tertiary CSparse routines -------------------------------------------- */</span>
<a name="l00109"></a>00109 <span class="keywordtype">int</span> *<a class="code" href="cs_8h.html#aa7fdeead97aef81cdf18af7576a7f722">cs_counts</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keyword">const</span> <span class="keywordtype">int</span> *parent, <span class="keyword">const</span> <span class="keywordtype">int</span> *post, <span class="keywordtype">int</span> ata) ;
<a name="l00110"></a>00110 <span class="keywordtype">double</span> <a class="code" href="cs_8h.html#a97200b7cc3ad296c964134a59616efdd">cs_cumsum</a> (<span class="keywordtype">int</span> *p, <span class="keywordtype">int</span> *c, <span class="keywordtype">int</span> n) ;
<a name="l00111"></a>00111 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#aa2d683eb04f79a4643fbe50038e641bd">cs_dfs</a> (<span class="keywordtype">int</span> j, <a class="code" href="structcs__sparse.html">cs</a> *G, <span class="keywordtype">int</span> top, <span class="keywordtype">int</span> *xi, <span class="keywordtype">int</span> *pstack, <span class="keyword">const</span> <span class="keywordtype">int</span> *pinv) ;
<a name="l00112"></a>00112 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a1eedf915abf19ed779bba30ccffde5a3">cs_ereach</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">int</span> k, <span class="keyword">const</span> <span class="keywordtype">int</span> *parent, <span class="keywordtype">int</span> *s, <span class="keywordtype">int</span> *w) ;
<a name="l00113"></a>00113 <span class="keywordtype">int</span> *<a class="code" href="cs_8h.html#a5c531804008e67c207e93f14c2551b1a">cs_etree</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">int</span> ata) ;
<a name="l00114"></a>00114 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#ade63a58ec1758250c64518d817ea3c4c">cs_fkeep</a> (<a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">int</span> (*fkeep) (<span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">double</span>, <span class="keywordtype">void</span> *), <span class="keywordtype">void</span> *other) ;
<a name="l00115"></a>00115 <span class="keywordtype">double</span> <a class="code" href="cs_8h.html#a096c9057bf2038f9eaef0c1dfb09f3dd">cs_house</a> (<span class="keywordtype">double</span> *x, <span class="keywordtype">double</span> *beta, <span class="keywordtype">int</span> n) ;
<a name="l00116"></a>00116 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#adf3182dea8214e7a96ac2d055d60d267">cs_leaf</a> (<span class="keywordtype">int</span> i, <span class="keywordtype">int</span> j, <span class="keyword">const</span> <span class="keywordtype">int</span> *first, <span class="keywordtype">int</span> *maxfirst, <span class="keywordtype">int</span> *prevleaf,
<a name="l00117"></a>00117     <span class="keywordtype">int</span> *ancestor, <span class="keywordtype">int</span> *jleaf) ;
<a name="l00118"></a>00118 <span class="keywordtype">int</span> *<a class="code" href="cs_8h.html#a0404ef3688f241d15729b5c54c59a704">cs_maxtrans</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">int</span> seed) ;
<a name="l00119"></a>00119 <span class="keywordtype">int</span> *<a class="code" href="cs_8h.html#adc01793c66e6caa0eef76be3dda7ffd5">cs_post</a> (<span class="keyword">const</span> <span class="keywordtype">int</span> *parent, <span class="keywordtype">int</span> n) ;
<a name="l00120"></a>00120 <span class="keywordtype">int</span> *<a class="code" href="cs_8h.html#aaffd464fe529af826a7c61edd18cd874">cs_randperm</a> (<span class="keywordtype">int</span> n, <span class="keywordtype">int</span> seed) ;
<a name="l00121"></a>00121 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a9ec7f8c7e89af292aeb734df017aecc0">cs_reach</a> (<a class="code" href="structcs__sparse.html">cs</a> *G, <span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *B, <span class="keywordtype">int</span> k, <span class="keywordtype">int</span> *xi, <span class="keyword">const</span> <span class="keywordtype">int</span> *pinv) ;
<a name="l00122"></a>00122 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a3729a7e21dbc3309ac96461ddb060328">cs_scatter</a> (<span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *A, <span class="keywordtype">int</span> j, <span class="keywordtype">double</span> beta, <span class="keywordtype">int</span> *w, <span class="keywordtype">double</span> *x, <span class="keywordtype">int</span> mark,
<a name="l00123"></a>00123     <a class="code" href="structcs__sparse.html">cs</a> *C, <span class="keywordtype">int</span> nz) ;
<a name="l00124"></a>00124 <a class="code" href="structcs__dmperm__results.html">csd</a> *<a class="code" href="cs_8h.html#a9fede5f7dcf4367d7d005ca6dd0ba100">cs_scc</a> (<a class="code" href="structcs__sparse.html">cs</a> *A) ;
<a name="l00125"></a>00125 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#adcb6aabd14949ff1294ad629276c1a05">cs_spsolve</a> (<a class="code" href="structcs__sparse.html">cs</a> *G, <span class="keyword">const</span> <a class="code" href="structcs__sparse.html">cs</a> *B, <span class="keywordtype">int</span> k, <span class="keywordtype">int</span> *xi, <span class="keywordtype">double</span> *x,
<a name="l00126"></a>00126     <span class="keyword">const</span> <span class="keywordtype">int</span> *pinv, <span class="keywordtype">int</span> lo) ;
<a name="l00127"></a>00127 <span class="keywordtype">int</span> <a class="code" href="cs_8h.html#a7b064c4799cc09da13c13d982197eff7">cs_tdfs</a> (<span class="keywordtype">int</span> j, <span class="keywordtype">int</span> k, <span class="keywordtype">int</span> *head, <span class="keyword">const</span> <span class="keywordtype">int</span> *next, <span class="keywordtype">int</span> *post,
<a name="l00128"></a>00128     <span class="keywordtype">int</span> *stack) ;
<a name="l00129"></a>00129 <span class="comment">/* utilities */</span>
<a name="l00130"></a>00130 <a class="code" href="structcs__dmperm__results.html">csd</a> *<a class="code" href="cs_8h.html#aefbcfeb2d1143578988d22d116dde57b">cs_dalloc</a> (<span class="keywordtype">int</span> m, <span class="keywordtype">int</span> n) ;
<a name="l00131"></a>00131 <a class="code" href="structcs__dmperm__results.html">csd</a> *<a class="code" href="cs_8h.html#a312cb23797ac49cd9e99853f6bd2895f">cs_ddone</a> (<a class="code" href="structcs__dmperm__results.html">csd</a> *D, <a class="code" href="structcs__sparse.html">cs</a> *C, <span class="keywordtype">void</span> *w, <span class="keywordtype">int</span> ok) ;
<a name="l00132"></a>00132 <a class="code" href="structcs__sparse.html">cs</a> *<a class="code" href="cs_8h.html#a41590e7ef8c8f3ebce8c7bbe07303c28">cs_done</a> (<a class="code" href="structcs__sparse.html">cs</a> *C, <span class="keywordtype">void</span> *w, <span class="keywordtype">void</span> *x, <span class="keywordtype">int</span> ok) ;
<a name="l00133"></a>00133 <span class="keywordtype">int</span> *<a class="code" href="cs_8h.html#a9c3bd8e36cdfb832d199b580e22467c7">cs_idone</a> (<span class="keywordtype">int</span> *p, <a class="code" href="structcs__sparse.html">cs</a> *C, <span class="keywordtype">void</span> *w, <span class="keywordtype">int</span> ok) ;
<a name="l00134"></a>00134 <a class="code" href="structcs__numeric.html">csn</a> *<a class="code" href="cs_8h.html#a24796e2f78414578fd2b8e7528535cbb">cs_ndone</a> (<a class="code" href="structcs__numeric.html">csn</a> *N, <a class="code" href="structcs__sparse.html">cs</a> *C, <span class="keywordtype">void</span> *w, <span class="keywordtype">void</span> *x, <span class="keywordtype">int</span> ok) ;
<a name="l00135"></a>00135 
<a name="l00136"></a><a class="code" href="cs_8h.html#a7447e0bed6bf453743551d158e019e8b">00136</a> <span class="preprocessor">#define CS_MAX(a,b) (((a) &gt; (b)) ? (a) : (b))</span>
<a name="l00137"></a><a class="code" href="cs_8h.html#a2635aa5c35f05bb0e4c88be5aabae949">00137</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_MIN(a,b) (((a) &lt; (b)) ? (a) : (b))</span>
<a name="l00138"></a><a class="code" href="cs_8h.html#aa64f99348d6e0bd00fd5f974199b685a">00138</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_FLIP(i) (-(i)-2)</span>
<a name="l00139"></a><a class="code" href="cs_8h.html#ac9ba6b1092f27aeed7f94a418610aff9">00139</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_UNFLIP(i) (((i) &lt; 0) ? CS_FLIP(i) : (i))</span>
<a name="l00140"></a><a class="code" href="cs_8h.html#ad5ef446ddee80d5771be956a23520bf5">00140</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_MARKED(w,j) (w [j] &lt; 0)</span>
<a name="l00141"></a><a class="code" href="cs_8h.html#ad5096d9a8169cff461816575072022f0">00141</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_MARK(w,j) { w [j] = CS_FLIP (w [j]) ; }</span>
<a name="l00142"></a><a class="code" href="cs_8h.html#a11fc95c9740a561d409f89b987d8072f">00142</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_CSC(A) (A &amp;&amp; (A-&gt;nz == -1))</span>
<a name="l00143"></a><a class="code" href="cs_8h.html#a62bab576c9482f6e11c4cee5a1b5a39a">00143</a> <span class="preprocessor"></span><span class="preprocessor">#define CS_TRIPLET(A) (A &amp;&amp; (A-&gt;nz &gt;= 0))</span>
<a name="l00144"></a>00144 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
</pre></div></div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>