Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > cf15e0e2e943c725837e328d614ee85e > files > 220

fflas-ffpack-doc-1.4.2-1.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>FflasFfpack: FFPACK Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<script type="text/javascript">
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function toggleVisibility(linkObj) {
 var base = linkObj.getAttribute('id');
 var summary = document.getElementById(base + '-summary');
 var content = document.getElementById(base + '-content');
 var trigger = document.getElementById(base + '-trigger');
 if ( hasClass(linkObj,'closed') ) {
   summary.style.display = 'none';
   content.style.display = 'block';
   trigger.src = 'open.png';
   removeClass(linkObj,'closed');
   addClass(linkObj,'opened');
 } else if ( hasClass(linkObj,'opened') ) {
   summary.style.display = 'block';
   content.style.display = 'none';
   trigger.src = 'closed.png';
   removeClass(linkObj,'opened');
   addClass(linkObj,'closed');
 }
 return false;
}
</script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FflasFfpack</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
      <li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">FFPACK Namespace Reference</div>  </div>
</div>
<div class="contents">

<p>Set of elimination based routines for dense linear algebra with matrices over finite prime field of characteristic less than 2^26.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k_1_1_protected.html">Protected</a></td></tr>
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_charpoly_failed.html">CharpolyFailed</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1call_l_udivine__small.html">callLUdivine_small</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1call_l_udivine__small_3_01double_01_4.html">callLUdivine_small&lt; double &gt;</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1call_l_udivine__small_3_01float_01_4.html">callLUdivine_small&lt; float &gt;</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_modular_balanced_3_01double_01_4.html">ModularBalanced&lt; double &gt;</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_modular_balanced_3_01float_01_4.html">ModularBalanced&lt; float &gt;</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_modular_balanced_3_01int32__t_01_4.html">ModularBalanced&lt; int32_t &gt;</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_modular_balanced_3_01int64__t_01_4.html">ModularBalanced&lt; int64_t &gt;</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html">Modular&lt; double &gt;</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01float_01_4.html">Modular&lt; float &gt;</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01int32__t_01_4.html">Modular&lt; int32_t &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of Modular to int32_t element type with efficient dot product.  <a href="class_f_f_p_a_c_k_1_1_modular_3_01int32__t_01_4.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01int64__t_01_4.html">Modular&lt; int64_t &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of Modular to int64_t element type with efficient dot product.  <a href="class_f_f_p_a_c_k_1_1_modular_3_01int64__t_01_4.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_modular_rand_iter.html">ModularRandIter</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_modular_balanced_rand_iter.html">ModularBalancedRandIter</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_nonzero_rand_iter.html">NonzeroRandIter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random iterator for nonzero random numbers.  <a href="class_f_f_p_a_c_k_1_1_nonzero_rand_iter.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_unparametric_field.html">UnparametricField</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_f_f_p_a_c_k_1_1_failure.html">Failure</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A precondtion failed.  <a href="class_f_f_p_a_c_k_1_1_failure.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k.html#ac2a6401775cab6ca594bdd80a18fb3fa">FFPACK_LUDIVINE_TAG</a> { <a class="el" href="namespace_f_f_p_a_c_k.html#ac2a6401775cab6ca594bdd80a18fb3faaa8acc2f7ffc071663ff5573922aeae1c">FfpackLQUP</a> = 1, 
<a class="el" href="namespace_f_f_p_a_c_k.html#ac2a6401775cab6ca594bdd80a18fb3faa29b9cff9bd4d1b6950355b5ae2b3d5d5">FfpackSingular</a> = 2
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k.html#a308e1e35711a432504e8e39edbebc136">FFPACK_CHARPOLY_TAG</a> { <br/>
&#160;&#160;<a class="el" href="namespace_f_f_p_a_c_k.html#a308e1e35711a432504e8e39edbebc136a557d37b329a7fc7bd9cdb78d9b9d16b2">FfpackLUK</a> = 1, 
<a class="el" href="namespace_f_f_p_a_c_k.html#a308e1e35711a432504e8e39edbebc136a50f7c15be5df03caaa681535e1024bfd">FfpackKG</a> = 2, 
<a class="el" href="namespace_f_f_p_a_c_k.html#a308e1e35711a432504e8e39edbebc136a32820ba1670feaf44f8641e308ce2dbe">FfpackHybrid</a> = 3, 
<a class="el" href="namespace_f_f_p_a_c_k.html#a308e1e35711a432504e8e39edbebc136aa01e156ff516a1fd665949ee5ffb1b98">FfpackKGFast</a> = 4, 
<br/>
&#160;&#160;<a class="el" href="namespace_f_f_p_a_c_k.html#a308e1e35711a432504e8e39edbebc136a33efaeb06725c76afa632539aba47174">FfpackDanilevski</a> = 5, 
<a class="el" href="namespace_f_f_p_a_c_k.html#a308e1e35711a432504e8e39edbebc136af0a6883491a308daf287f29eedb1ad57">FfpackArithProg</a> = 6, 
<a class="el" href="namespace_f_f_p_a_c_k.html#a308e1e35711a432504e8e39edbebc136ab88094c87972b8bd08e8a685acb31b18">FfpackKGFastG</a> = 7
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k.html#a107f52467704859a1154ec9cd5a4689d">FFPACK_MINPOLY_TAG</a> { <a class="el" href="namespace_f_f_p_a_c_k.html#a107f52467704859a1154ec9cd5a4689dad0e55ce97ccfcce7620232f2ca14f682">FfpackDense</a> = 1, 
<a class="el" href="namespace_f_f_p_a_c_k.html#a107f52467704859a1154ec9cd5a4689da28e9c013fa3d4db7ce10f499d5967429">FfpackKGF</a> = 2
 }</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k.html#a44576b7a71abab3e7593e9448d18436f">LUpdate</a> (const <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html">Field</a> &amp;F, const <a class="el" href="namespace_f_f_l_a_s.html#a953b1159fd5330713d8a05ec27fbb068">FFLAS::FFLAS_DIAG</a> Diag, const <a class="el" href="namespace_f_f_l_a_s.html#afb7f98f2ba205ba04f6f90a5dfc8d838">FFLAS::FFLAS_TRANSPOSE</a> trans, const size_t M, const size_t N, typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *A, const size_t lda, const size_t R, const size_t K, typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *B, const size_t ldb, size_t *P, size_t *Q, const <a class="el" href="namespace_f_f_p_a_c_k.html#ac2a6401775cab6ca594bdd80a18fb3fa">FFPACK::FFPACK_LUDIVINE_TAG</a> LuTag, const size_t cutoff)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates an existing LU factorisation with more rows.  <a href="#a44576b7a71abab3e7593e9448d18436f"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Polynomial , class Field &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Polynomial &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k.html#ae54749e7452fded7ef46dda992d3bb80">mulpoly</a> (const <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html">Field</a> &amp;F, Polynomial &amp;res, const Polynomial &amp;P1, const Polynomial &amp;P2)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field , class Polynomial &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">std::list&lt; Polynomial &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k.html#af733613958eb46dad44c368d017a782d">Danilevski</a> (const <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html">Field</a> &amp;F, std::list&lt; Polynomial &gt; &amp;charp, const size_t N, typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *A, const size_t lda)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field , class Polynomial &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Polynomial &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k.html#ab050656edb83f9c3ecdeacb6351b42b4">MinPoly</a> (const <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html">Field</a> &amp;F, Polynomial &amp;minP, const size_t N, const typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *A, const size_t lda, typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *U, size_t ldu, typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *X, size_t ldx, size_t *P)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k.html#a31868e3a3c511eacf11db88943267e38">operator&lt;&lt;</a> (std::ostream &amp;o, const Modular&lt; T &gt; &amp;F)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k.html#a9167e396cb9195beb4f92a6f567067be">operator&lt;&lt;</a> (std::ostream &amp;o, const ModularBalanced&lt; T &gt; &amp;F)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k.html#a8b4b4f574d74b75d2d4746e07b36e16f">operator&lt;&lt;</a> (std::ostream &amp;o, const <a class="el" href="class_f_f_p_a_c_k_1_1_unparametric_field.html">UnparametricField</a>&lt; T &gt; &amp;F)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Target , typename Source &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Target &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_f_f_p_a_c_k.html#aa3b627889642c2bcc578621430e64fbe">Caster</a> (Target &amp;t, const Source &amp;s)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Set of elimination based routines for dense linear algebra with matrices over finite prime field of characteristic less than 2^26. </p>
<p>This class only provides a set of static member functions. No instantiation is allowed.</p>
<p>It enlarges the set of BLAS routines of the class <a class="el" href="namespace_f_f_l_a_s.html" title="FFLAS: Finite Field Linear Algebra Subroutines.">FFLAS</a>, with higher level routines based on elimination. </p>
</div><hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ac2a6401775cab6ca594bdd80a18fb3fa"></a><!-- doxytag: member="FFPACK::FFPACK_LUDIVINE_TAG" ref="ac2a6401775cab6ca594bdd80a18fb3fa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespace_f_f_p_a_c_k.html#ac2a6401775cab6ca594bdd80a18fb3fa">FFPACK_LUDIVINE_TAG</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ac2a6401775cab6ca594bdd80a18fb3faaa8acc2f7ffc071663ff5573922aeae1c"></a><!-- doxytag: member="FfpackLQUP" ref="ac2a6401775cab6ca594bdd80a18fb3faaa8acc2f7ffc071663ff5573922aeae1c" args="" -->FfpackLQUP</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac2a6401775cab6ca594bdd80a18fb3faa29b9cff9bd4d1b6950355b5ae2b3d5d5"></a><!-- doxytag: member="FfpackSingular" ref="ac2a6401775cab6ca594bdd80a18fb3faa29b9cff9bd4d1b6950355b5ae2b3d5d5" args="" -->FfpackSingular</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a308e1e35711a432504e8e39edbebc136"></a><!-- doxytag: member="FFPACK::FFPACK_CHARPOLY_TAG" ref="a308e1e35711a432504e8e39edbebc136" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespace_f_f_p_a_c_k.html#a308e1e35711a432504e8e39edbebc136">FFPACK_CHARPOLY_TAG</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a308e1e35711a432504e8e39edbebc136a557d37b329a7fc7bd9cdb78d9b9d16b2"></a><!-- doxytag: member="FfpackLUK" ref="a308e1e35711a432504e8e39edbebc136a557d37b329a7fc7bd9cdb78d9b9d16b2" args="" -->FfpackLUK</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a308e1e35711a432504e8e39edbebc136a50f7c15be5df03caaa681535e1024bfd"></a><!-- doxytag: member="FfpackKG" ref="a308e1e35711a432504e8e39edbebc136a50f7c15be5df03caaa681535e1024bfd" args="" -->FfpackKG</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a308e1e35711a432504e8e39edbebc136a32820ba1670feaf44f8641e308ce2dbe"></a><!-- doxytag: member="FfpackHybrid" ref="a308e1e35711a432504e8e39edbebc136a32820ba1670feaf44f8641e308ce2dbe" args="" -->FfpackHybrid</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a308e1e35711a432504e8e39edbebc136aa01e156ff516a1fd665949ee5ffb1b98"></a><!-- doxytag: member="FfpackKGFast" ref="a308e1e35711a432504e8e39edbebc136aa01e156ff516a1fd665949ee5ffb1b98" args="" -->FfpackKGFast</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a308e1e35711a432504e8e39edbebc136a33efaeb06725c76afa632539aba47174"></a><!-- doxytag: member="FfpackDanilevski" ref="a308e1e35711a432504e8e39edbebc136a33efaeb06725c76afa632539aba47174" args="" -->FfpackDanilevski</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a308e1e35711a432504e8e39edbebc136af0a6883491a308daf287f29eedb1ad57"></a><!-- doxytag: member="FfpackArithProg" ref="a308e1e35711a432504e8e39edbebc136af0a6883491a308daf287f29eedb1ad57" args="" -->FfpackArithProg</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a308e1e35711a432504e8e39edbebc136ab88094c87972b8bd08e8a685acb31b18"></a><!-- doxytag: member="FfpackKGFastG" ref="a308e1e35711a432504e8e39edbebc136ab88094c87972b8bd08e8a685acb31b18" args="" -->FfpackKGFastG</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a107f52467704859a1154ec9cd5a4689d"></a><!-- doxytag: member="FFPACK::FFPACK_MINPOLY_TAG" ref="a107f52467704859a1154ec9cd5a4689d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespace_f_f_p_a_c_k.html#a107f52467704859a1154ec9cd5a4689d">FFPACK_MINPOLY_TAG</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a107f52467704859a1154ec9cd5a4689dad0e55ce97ccfcce7620232f2ca14f682"></a><!-- doxytag: member="FfpackDense" ref="a107f52467704859a1154ec9cd5a4689dad0e55ce97ccfcce7620232f2ca14f682" args="" -->FfpackDense</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a107f52467704859a1154ec9cd5a4689da28e9c013fa3d4db7ce10f499d5967429"></a><!-- doxytag: member="FfpackKGF" ref="a107f52467704859a1154ec9cd5a4689da28e9c013fa3d4db7ce10f499d5967429" args="" -->FfpackKGF</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a44576b7a71abab3e7593e9448d18436f"></a><!-- doxytag: member="FFPACK::LUpdate" ref="a44576b7a71abab3e7593e9448d18436f" args="(const Field &amp;F, const FFLAS::FFLAS_DIAG Diag, const FFLAS::FFLAS_TRANSPOSE trans, const size_t M, const size_t N, typename Field::Element *A, const size_t lda, const size_t R, const size_t K, typename Field::Element *B, const size_t ldb, size_t *P, size_t *Q, const FFPACK::FFPACK_LUDIVINE_TAG LuTag, const size_t cutoff)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t LUpdate </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html">Field</a> &amp;&#160;</td>
          <td class="paramname"><em>F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespace_f_f_l_a_s.html#a953b1159fd5330713d8a05ec27fbb068">FFLAS::FFLAS_DIAG</a>&#160;</td>
          <td class="paramname"><em>Diag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespace_f_f_l_a_s.html#afb7f98f2ba205ba04f6f90a5dfc8d838">FFLAS::FFLAS_TRANSPOSE</a>&#160;</td>
          <td class="paramname"><em>trans</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>M</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>N</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>lda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *&#160;</td>
          <td class="paramname"><em>B</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>ldb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>P</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>Q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespace_f_f_p_a_c_k.html#ac2a6401775cab6ca594bdd80a18fb3fa">FFPACK::FFPACK_LUDIVINE_TAG</a>&#160;</td>
          <td class="paramname"><em>LuTag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>cutoff</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Updates an existing LU factorisation with more rows. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">F</td><td>Field on which arithmetic is done </td></tr>
    <tr><td class="paramname">Diag</td><td>Is <code>L</code> unit ? (if so, <code><a class="el" href="namespace_f_f_l_a_s.html#a953b1159fd5330713d8a05ec27fbb068ac08ba3f3a8fb3434ac74ea713d5bc0b4" title="Triangular matrix has an implicit unit diagonal ( )">FFLAS::FflasUnit</a></code>) </td></tr>
    <tr><td class="paramname">trans</td><td>Not used yet, should be <code><a class="el" href="namespace_f_f_l_a_s.html#afb7f98f2ba205ba04f6f90a5dfc8d838a7c0e29ca635cd7c7cf53517eed237d48" title="Matrix is not transposed.">FFLAS::FflasNoTrans</a></code> </td></tr>
    <tr><td class="paramname">M</td><td>rows in <code>A</code> </td></tr>
    <tr><td class="paramname">N</td><td>cols in <code>A</code> </td></tr>
    <tr><td class="paramname">A</td><td><code>A</code> is already in <code>LU</code> factorisation </td></tr>
    <tr><td class="paramname">lda</td><td>leading dimension of <code>A</code> </td></tr>
    <tr><td class="paramname">R</td><td>rank of <code>A</code> </td></tr>
    <tr><td class="paramname">K</td><td>rows in <code>B</code> </td></tr>
    <tr><td class="paramname">B</td><td>more rows to append to <code>A</code> </td></tr>
    <tr><td class="paramname">ldb</td><td>leading dimension of <code>B</code> (not tested if != lda) </td></tr>
    <tr><td class="paramname">P</td><td>permutation for <code>LU</code> in <code>A</code>. Should be big enough so it can store the permutation for <code>LU</code> of <code>A</code> and <code>B</code> </td></tr>
    <tr><td class="paramname">Q</td><td>same as <code>P</code> </td></tr>
    <tr><td class="paramname">LuTag</td><td>see <code>LUdivine</code>. </td></tr>
    <tr><td class="paramname">cutoff</td><td>see <code>LUdivine</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>rank of <code>A.append(B)</code> </dd></dl>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>std::swap ? </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>std::swap ? </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>std::swap ? </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>std::swap ? </dd></dl>
</p>

</div>
</div>
<a class="anchor" id="ae54749e7452fded7ef46dda992d3bb80"></a><!-- doxytag: member="FFPACK::mulpoly" ref="ae54749e7452fded7ef46dda992d3bb80" args="(const Field &amp;F, Polynomial &amp;res, const Polynomial &amp;P1, const Polynomial &amp;P2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Polynomial&amp; FFPACK::mulpoly </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html">Field</a> &amp;&#160;</td>
          <td class="paramname"><em>F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Polynomial &amp;&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Polynomial &amp;&#160;</td>
          <td class="paramname"><em>P1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Polynomial &amp;&#160;</td>
          <td class="paramname"><em>P2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af733613958eb46dad44c368d017a782d"></a><!-- doxytag: member="FFPACK::Danilevski" ref="af733613958eb46dad44c368d017a782d" args="(const Field &amp;F, std::list&lt; Polynomial &gt; &amp;charp, const size_t N, typename Field::Element *A, const size_t lda)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;Polynomial&gt;&amp; FFPACK::Danilevski </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html">Field</a> &amp;&#160;</td>
          <td class="paramname"><em>F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::list&lt; Polynomial &gt; &amp;&#160;</td>
          <td class="paramname"><em>charp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>N</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>lda</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab050656edb83f9c3ecdeacb6351b42b4"></a><!-- doxytag: member="FFPACK::MinPoly" ref="ab050656edb83f9c3ecdeacb6351b42b4" args="(const Field &amp;F, Polynomial &amp;minP, const size_t N, const typename Field::Element *A, const size_t lda, typename Field::Element *U, size_t ldu, typename Field::Element *X, size_t ldx, size_t *P)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Polynomial&amp; FFPACK::MinPoly </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html">Field</a> &amp;&#160;</td>
          <td class="paramname"><em>F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Polynomial &amp;&#160;</td>
          <td class="paramname"><em>minP</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>N</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>lda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *&#160;</td>
          <td class="paramname"><em>U</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ldu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename <a class="el" href="class_f_f_p_a_c_k_1_1_modular_3_01double_01_4.html#a5afafa54b23c86d7cf88fc9225afe3b6">Field::Element</a> *&#160;</td>
          <td class="paramname"><em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ldx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>P</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a31868e3a3c511eacf11db88943267e38"></a><!-- doxytag: member="FFPACK::operator&lt;&lt;" ref="a31868e3a3c511eacf11db88943267e38" args="(std::ostream &amp;o, const Modular&lt; T &gt; &amp;F)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; FFPACK::operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>o</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Modular&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>F</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9167e396cb9195beb4f92a6f567067be"></a><!-- doxytag: member="FFPACK::operator&lt;&lt;" ref="a9167e396cb9195beb4f92a6f567067be" args="(std::ostream &amp;o, const ModularBalanced&lt; T &gt; &amp;F)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; FFPACK::operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>o</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ModularBalanced&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>F</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a8b4b4f574d74b75d2d4746e07b36e16f"></a><!-- doxytag: member="FFPACK::operator&lt;&lt;" ref="a8b4b4f574d74b75d2d4746e07b36e16f" args="(std::ostream &amp;o, const UnparametricField&lt; T &gt; &amp;F)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; FFPACK::operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>o</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const UnparametricField&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>F</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa3b627889642c2bcc578621430e64fbe"></a><!-- doxytag: member="FFPACK::Caster" ref="aa3b627889642c2bcc578621430e64fbe" args="(Target &amp;t, const Source &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Target&amp; FFPACK::Caster </td>
          <td>(</td>
          <td class="paramtype">Target &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Source &amp;&#160;</td>
          <td class="paramname"><em>s</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Mon Aug 29 2011 for FflasFfpack by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>