Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > c5653a35bb94fee65ffe21230992c863 > files > 651

linbox-doc-1.2.1-1.fc15.noarch.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>linbox: LinBox 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">linbox</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>
      <li><a href="examples.html"><span>Examples</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="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">LinBox Namespace Reference</div>  </div>
</div>
<div class="contents">

<p>Namespace in which all linbox code resides.  
<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_lin_box_1_1_matrix_hom.html">MatrixHom</a></td></tr>

<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Limited doc so far. Used in <a class="el" href="class_lin_box_1_1_rational_solver.html" title="Interface for the different specialization of p-adic lifting based solvers.">RationalSolver</a>. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lin_box_1_1_raw_indexed_tags.html">RawIndexedTags</a></td></tr>

<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>limited doc so far </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lin_box_1_1_get_entry_tags.html">GetEntryTags</a></td></tr>

<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>limited doc so far. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lin_box_1_1_trace_tags.html">TraceTags</a></td></tr>

<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>undocumented </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lin_box_1_1_vector_wrapper.html">VectorWrapper</a></td></tr>

<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>limited doc so far. </p>
<br/></td></tr>
</p>
<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_lin_box_1_1_blackbox_block_container_base.html">BlackboxBlockContainerBase</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A base class for <a class="el" href="class_lin_box_1_1_blackbox_block_container.html" title="no doc.">BlackboxBlockContainer</a>.  <a href="class_lin_box_1_1_blackbox_block_container_base.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_lin_box_1_1_blackbox_block_container.html">BlackboxBlockContainer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">no doc.  <a href="class_lin_box_1_1_blackbox_block_container.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_lin_box_1_1_blackbox_block_container_record.html">BlackboxBlockContainerRecord</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">no doc.  <a href="class_lin_box_1_1_blackbox_block_container_record.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_lin_box_1_1_blackbox_container_base.html">BlackboxContainerBase</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A base class for <a class="el" href="class_lin_box_1_1_blackbox_container.html" title="Limited doc so far.">BlackboxContainer</a>.  <a href="class_lin_box_1_1_blackbox_container_base.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_lin_box_1_1_blackbox_container_symmetric.html">BlackboxContainerSymmetric</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">See base class for doc.  <a href="class_lin_box_1_1_blackbox_container_symmetric.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_lin_box_1_1_blackbox_container_symmetrize.html">BlackboxContainerSymmetrize</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Symmetrizing iterator (for rank computations).  <a href="class_lin_box_1_1_blackbox_container_symmetrize.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_lin_box_1_1_blackbox_container.html">BlackboxContainer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Limited doc so far.  <a href="class_lin_box_1_1_blackbox_container.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_lin_box_1_1_blas_matrix_domain_subin.html">BlasMatrixDomainSubin</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">C -= A.  <a href="class_lin_box_1_1_blas_matrix_domain_subin.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_lin_box_1_1_blas_matrix_domain_addin.html">BlasMatrixDomainAddin</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">C += A.  <a href="class_lin_box_1_1_blas_matrix_domain_addin.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_lin_box_1_1_blas_matrix_domain.html">BlasMatrixDomain</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for all functionnalities provided for <a class="el" href="class_lin_box_1_1_blas_matrix.html" title="BlasMatrix.">BlasMatrix</a>.  <a href="class_lin_box_1_1_blas_matrix_domain.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_lin_box_1_1_block_lanczos_solver.html">BlockLanczosSolver</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Block Lanczos iteration.  <a href="class_lin_box_1_1_block_lanczos_solver.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_lin_box_1_1_block_massey_domain.html">BlockMasseyDomain</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the linear generator of a sequence of matrices.  <a href="class_lin_box_1_1_block_massey_domain.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_chinese_remainder_seq.html">ChineseRemainderSeq</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">No doc.  <a href="struct_lin_box_1_1_chinese_remainder_seq.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_chinese_remainder.html">ChineseRemainder</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around OMP/SEQ version of ChineseRemainderXXX&lt;CRABase&gt;.  <a href="struct_lin_box_1_1_chinese_remainder.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_early_multip_c_r_a.html">EarlyMultipCRA</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NO DOC.  <a href="struct_lin_box_1_1_early_multip_c_r_a.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_early_single_c_r_a.html">EarlySingleCRA</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NO DOC.  <a href="struct_lin_box_1_1_early_single_c_r_a.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_full_multip_fixed_c_r_a.html">FullMultipFixedCRA</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Chinese Remaindering Algorithm for multiple residues.  <a href="struct_lin_box_1_1_full_multip_fixed_c_r_a.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_full_multip_blas_mat_c_r_a.html">FullMultipBlasMatCRA</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NO DOC.  <a href="struct_lin_box_1_1_full_multip_blas_mat_c_r_a.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_full_multip_c_r_a.html">FullMultipCRA</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NO DOC...  <a href="struct_lin_box_1_1_full_multip_c_r_a.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_givaro_rns_fixed_c_r_a.html">GivaroRnsFixedCRA</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NO DOC...  <a href="struct_lin_box_1_1_givaro_rns_fixed_c_r_a.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_lin_box_1_1_dense_container.html">DenseContainer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Limited doc so far.  <a href="class_lin_box_1_1_dense_container.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_lin_box_1_1_diophantine_solver.html">DiophantineSolver</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">DiophantineSolver&lt;QSolver&gt; creates a diophantine solver using a QSolver to generate rational solutions.  <a href="class_lin_box_1_1_diophantine_solver.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_lin_box_1_1_eliminator.html">Eliminator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Elimination system.  <a href="class_lin_box_1_1_eliminator.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_lin_box_1_1_gauss_domain.html">GaussDomain</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Repository of functions for rank by elimination on sparse matrices.  <a href="class_lin_box_1_1_gauss_domain.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_lin_box_1_1_l_a_block_lanczos_solver.html">LABlockLanczosSolver</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Biorthogonalising block Lanczos iteration.  <a href="class_lin_box_1_1_l_a_block_lanczos_solver.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_lin_box_1_1_lanczos_solver.html">LanczosSolver</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Solve a linear system using the conjugate Lanczos iteration.  <a href="class_lin_box_1_1_lanczos_solver.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_lin_box_1_1_last_invariant_factor.html">LastInvariantFactor</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used in a Smith Form algorithm.  <a href="class_lin_box_1_1_last_invariant_factor.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_lin_box_1_1_dixon_lifting_container.html">DixonLiftingContainer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dixon Lifting Container.  <a href="class_lin_box_1_1_dixon_lifting_container.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_lin_box_1_1_wiedemann_lifting_container.html">WiedemannLiftingContainer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Wiedemann LiftingContianer.  <a href="class_lin_box_1_1_wiedemann_lifting_container.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_lin_box_1_1_block_wiedemann_lifting_container.html">BlockWiedemannLiftingContainer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Block Wiedemann LiftingContianer.  <a href="class_lin_box_1_1_block_wiedemann_lifting_container.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_lin_box_1_1_block_hankel_lifting_container.html">BlockHankelLiftingContainer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Block Hankel LiftingContianer.  <a href="class_lin_box_1_1_block_hankel_lifting_container.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_lin_box_1_1_sparse_l_u_lifting_container.html">SparseLULiftingContainer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_lin_box_1_1_sparse_l_u_lifting_container.html" title="SparseLULiftingContainer.">SparseLULiftingContainer</a>.  <a href="class_lin_box_1_1_sparse_l_u_lifting_container.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_lin_box_tag.html">LinBoxTag</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for tags.  <a href="struct_lin_box_1_1_lin_box_tag.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_lin_box_1_1_massey_domain.html">MasseyDomain</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Berlekamp/Massey algorithm.  <a href="class_lin_box_1_1_massey_domain.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_lin_box_1_1_matrix_rank.html">MatrixRank</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the rank of an integer matrix in place over a finite field by Gaussian elimination.  <a href="class_lin_box_1_1_matrix_rank.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_lin_box_1_1_m_g_block_lanczos_solver.html">MGBlockLanczosSolver</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Block Lanczos iteration.  <a href="class_lin_box_1_1_m_g_block_lanczos_solver.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_lin_box_1_1_one_invariant_factor.html">OneInvariantFactor</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Limited doc so far.  <a href="class_lin_box_1_1_one_invariant_factor.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_rational_remainder.html">RationalRemainder</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Chinese remainder of rationals.  <a href="struct_lin_box_1_1_rational_remainder.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_rational_remainder2.html">RationalRemainder2</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Chinese remainder of rationals.  <a href="struct_lin_box_1_1_rational_remainder2.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_lin_box_1_1_rational_reconstruction.html">RationalReconstruction</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Limited doc so far.  <a href="class_lin_box_1_1_rational_reconstruction.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_lin_box_1_1_rational_solver.html">RationalSolver</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the different specialization of p-adic lifting based solvers.  <a href="class_lin_box_1_1_rational_solver.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_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_wiedemann_traits_01_4.html">RationalSolver&lt; Ring, Field, RandomPrime, WiedemannTraits &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Partial specialization of p-adic based solver with Wiedemann algorithm.  <a href="class_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_wiedemann_traits_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_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_block_wiedemann_traits_01_4.html">RationalSolver&lt; Ring, Field, RandomPrime, BlockWiedemannTraits &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">partial specialization of p-adic based solver with block Wiedemann algorithm.  <a href="class_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_block_wiedemann_traits_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_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_dixon_traits_01_4.html">RationalSolver&lt; Ring, Field, RandomPrime, DixonTraits &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">partial specialization of p-adic based solver with Dixon algorithm.  <a href="class_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_dixon_traits_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_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_block_hankel_traits_01_4.html">RationalSolver&lt; Ring, Field, RandomPrime, BlockHankelTraits &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Block Hankel.  <a href="class_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_block_hankel_traits_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_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_sparse_elimination_traits_01_4.html">RationalSolver&lt; Ring, Field, RandomPrime, SparseEliminationTraits &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sparse LU.  <a href="class_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_sparse_elimination_traits_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_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_wan_traits_01_4.html">RationalSolver&lt; Ring, Field, RandomPrime, WanTraits &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">solver using a hybrid Numeric/Symbolic computation.  <a href="class_lin_box_1_1_rational_solver_3_01_ring_00_01_field_00_01_random_prime_00_01_wan_traits_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_lin_box_1_1_r_n_s.html">RNS</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_lin_box_1_1_r_n_s.html" title="RNS.">RNS</a>.  <a href="class_lin_box_1_1_r_n_s.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_lin_box_1_1_sigma_basis.html">SigmaBasis</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of <img class="formulaInl" alt="$\sigma$" src="form_19.png"/>-basis (minimal basis).  <a href="class_lin_box_1_1_sigma_basis.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_lin_box_1_1_smith_form_binary.html">SmithFormBinary</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute Smith form.  <a href="class_lin_box_1_1_smith_form_binary.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_lin_box_1_1_smith_form_iliopoulos.html">SmithFormIliopoulos</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This is Iliopoulos' algorithm do diagonalize.  <a href="class_lin_box_1_1_smith_form_iliopoulos.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_lin_box_1_1_smith_form_local.html">SmithFormLocal</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Smith normal form (invariant factors) of a matrix over a local ring.  <a href="class_lin_box_1_1_smith_form_local.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_lin_box_1_1_power_gauss_domain.html">PowerGaussDomain</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Repository of functions for rank modulo a prime power by elimination on sparse matrices.  <a href="class_lin_box_1_1_power_gauss_domain.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_lin_box_1_1_vector_fraction.html">VectorFraction</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">VectorFraction&lt;Domain&gt; is a vector of rational elements with common reduced denominator.  <a href="class_lin_box_1_1_vector_fraction.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_lin_box_1_1_wiedemann_solver.html">WiedemannSolver</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Linear system solvers based on Wiedemann's method.  <a href="class_lin_box_1_1_wiedemann_solver.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_lin_box_1_1_blackbox_archetype.html">BlackboxArchetype</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">showing the member functions provided by all blackbox matrix classes.  <a href="class_lin_box_1_1_blackbox_archetype.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_lin_box_1_1_blackbox_interface.html">BlackboxInterface</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This blackbox base class exists solely to aid documentation organization.  <a href="class_lin_box_1_1_blackbox_interface.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_lin_box_1_1_blas_blackbox.html">BlasBlackbox</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dense matrix representation for BLAS based elimination.  <a href="class_lin_box_1_1_blas_blackbox.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_lin_box_1_1_butterfly.html">Butterfly</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Switching Network based BlackBox Matrix.  <a href="class_lin_box_1_1_butterfly.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_companion.html">Companion</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Companion matrix of a monic polynomial.  <a href="struct_lin_box_1_1_companion.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_lin_box_1_1_compose.html">Compose</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Blackbox of a product: <img class="formulaInl" alt="$C = AB$" src="form_23.png"/>, i.e <img class="formulaInl" alt="$Cx \gets A(Bx)$" src="form_24.png"/>.  <a href="class_lin_box_1_1_compose.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_lin_box_1_1_compose_3_01___blackbox_00_01___blackbox_01_4.html">Compose&lt; _Blackbox, _Blackbox &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">specialization for _Blackbox1 = _Blackbox2  <a href="class_lin_box_1_1_compose_3_01___blackbox_00_01___blackbox_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_lin_box_1_1_compose_traits.html">ComposeTraits</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">used in ..., for example  <a href="class_lin_box_1_1_compose_traits.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_lin_box_1_1_compose_traits_3_01_dense_matrix_3_01_field_01_4_01_4.html">ComposeTraits&lt; DenseMatrix&lt; Field &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">used in smith-binary, for example  <a href="class_lin_box_1_1_compose_traits_3_01_dense_matrix_3_01_field_01_4_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_lin_box_1_1_compose_owner.html">ComposeOwner</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Blackbox of a product: <img class="formulaInl" alt="$C = AB$" src="form_23.png"/>, i.e <img class="formulaInl" alt="$Cx \gets A(Bx)$" src="form_24.png"/>.  <a href="class_lin_box_1_1_compose_owner.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_lin_box_1_1_dense_matrix.html">DenseMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Blackbox interface to dense matrix representation.  <a href="class_lin_box_1_1_dense_matrix.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_lin_box_1_1_dense_matrix_factory.html">DenseMatrixFactory</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dense matrix factory.  <a href="class_lin_box_1_1_dense_matrix_factory.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_lin_box_1_1_diagonal.html">Diagonal</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random diagonal matrices are used heavily as preconditioners.  <a href="class_lin_box_1_1_diagonal.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_lin_box_1_1_diagonal_3_01___field_00_01_vector_categories_1_1_dense_vector_tag_01_4.html">Diagonal&lt; _Field, VectorCategories::DenseVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_diagonal.html" title="Random diagonal matrices are used heavily as preconditioners.">Diagonal</a> for application to dense vectors.  <a href="class_lin_box_1_1_diagonal_3_01___field_00_01_vector_categories_1_1_dense_vector_tag_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_lin_box_1_1_diagonal_3_01___field_00_01_vector_categories_1_1_sparse_sequence_vector_tag_01_4.html">Diagonal&lt; _Field, VectorCategories::SparseSequenceVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_diagonal.html" title="Random diagonal matrices are used heavily as preconditioners.">Diagonal</a> for application to sparse sequence vectors.  <a href="class_lin_box_1_1_diagonal_3_01___field_00_01_vector_categories_1_1_sparse_sequence_vector_tag_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_lin_box_1_1_diagonal_3_01___field_00_01_vector_categories_1_1_sparse_associative_vector_tag_01_4.html">Diagonal&lt; _Field, VectorCategories::SparseAssociativeVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_diagonal.html" title="Random diagonal matrices are used heavily as preconditioners.">Diagonal</a> for application to sparse associative vectors.  <a href="class_lin_box_1_1_diagonal_3_01___field_00_01_vector_categories_1_1_sparse_associative_vector_tag_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_lin_box_1_1_dif.html">Dif</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Blackbox of a difference: <code>C := A - B</code>, i.e <code>Cx = Ax - Bx</code>.  <a href="class_lin_box_1_1_dif.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_lin_box_1_1_direct_sum.html">DirectSum</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If C = DirectSum(A, B) and y = xA and z = wB, then (y,z) = (x,w)C.  <a href="class_lin_box_1_1_direct_sum.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_lin_box_1_1_blackbox_factory.html">BlackboxFactory</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A tool for computations with integer and rational matrices.  <a href="class_lin_box_1_1_blackbox_factory.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_lin_box_1_1_hilbert___j_i_t___entry.html">Hilbert_JIT_Entry</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The object needed to build a <a class="el" href="class_lin_box_1_1_hilbert.html" title="Example of a blackbox that is space efficient, though not time efficient.">Hilbert</a> matrix as a JIT matrix.  <a href="class_lin_box_1_1_hilbert___j_i_t___entry.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_lin_box_1_1_hilbert.html">Hilbert</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Example of a blackbox that is space efficient, though not time efficient.  <a href="class_lin_box_1_1_hilbert.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_lin_box_1_1_inverse.html">Inverse</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A Blackbox for the inverse.  <a href="class_lin_box_1_1_inverse.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_lin_box_1_1_j_i_t___matrix.html">JIT_Matrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Example of a blackbox that is space efficient, though not time efficient.  <a href="class_lin_box_1_1_j_i_t___matrix.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_lin_box_1_1_matrix_blackbox.html">MatrixBlackbox</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Matrix black box.  <a href="class_lin_box_1_1_matrix_blackbox.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_lin_box_1_1_moore_penrose.html">MoorePenrose</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generalized inverse of a blackbox.  <a href="class_lin_box_1_1_moore_penrose.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_lin_box_1_1_sylvester.html">Sylvester</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a representation of the <a class="el" href="class_lin_box_1_1_sylvester.html" title="This is a representation of the Sylvester matrix of two polynomials.">Sylvester</a> matrix of two polynomials.  <a href="class_lin_box_1_1_sylvester.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_lin_box_1_1_null_matrix.html">NullMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a representation of the 0 by 0 empty matrix which does not occupy memory.  <a href="class_lin_box_1_1_null_matrix.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_lin_box_1_1_permutation.html">Permutation</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">size is n.  <a href="class_lin_box_1_1_permutation.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_lin_box_1_1_polynomial_b_b.html">PolynomialBB</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">represent the matrix P(A) where A is a blackbox and P a polynomial  <a href="class_lin_box_1_1_polynomial_b_b.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_lin_box_1_1_polynomial_b_b_owner.html">PolynomialBBOwner</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">represent the matrix P(A) where A is a blackbox and P a polynomial  <a href="class_lin_box_1_1_polynomial_b_b_owner.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_lin_box_1_1_z_o_quad.html">ZOQuad</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A class of striped or block-decomposed zero-one matrices.  <a href="class_lin_box_1_1_z_o_quad.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_lin_box_1_1_scalar_matrix.html">ScalarMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Blackbox for <code>aI</code>.  <a href="class_lin_box_1_1_scalar_matrix.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_lin_box_1_1_sparse_matrix.html">SparseMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of sparse rows.  <a href="class_lin_box_1_1_sparse_matrix.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_lin_box_1_1_sparse_matrix_factory.html">SparseMatrixFactory</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sparse matrix factory This class inherits <a class="el" href="class_lin_box_1_1_blackbox_factory.html">BlackboxFactory</a> and provides a method for using a <a class="el" href="class_lin_box_1_1_sparse_matrix_base.html">SparseMatrixBase</a> object with integer or rational data type as input to the high-level integer and rational solutions functions.  <a href="class_lin_box_1_1_sparse_matrix_factory.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_lin_box_1_1_squarize.html">Squarize</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">transpose matrix without copying.  <a href="class_lin_box_1_1_squarize.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_lin_box_1_1_submatrix.html">Submatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">leading principal minor of existing matrix without copying.  <a href="class_lin_box_1_1_submatrix.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_lin_box_1_1_submatrix_3_01_blackbox_00_01_vector_categories_1_1_dense_vector_tag_01_4.html">Submatrix&lt; Blackbox, VectorCategories::DenseVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization for dense vectors.  <a href="class_lin_box_1_1_submatrix_3_01_blackbox_00_01_vector_categories_1_1_dense_vector_tag_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_lin_box_1_1_submatrix_3_01_blackbox_00_01_vector_categories_1_1_dense_zero_one_vector_tag_01_4.html">Submatrix&lt; Blackbox, VectorCategories::DenseZeroOneVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization for dense <a class="el" href="class_lin_box_1_1_zero_one.html" title="Time and space efficient representation of sparse {0,1}-matrices.">ZeroOne</a> vectors.  <a href="class_lin_box_1_1_submatrix_3_01_blackbox_00_01_vector_categories_1_1_dense_zero_one_vector_tag_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_lin_box_1_1_submatrix_3_01_dense_matrix_3_01___field_01_4_00_01_vector_categories_1_1_dense_vector_tag_01_4.html">Submatrix&lt; DenseMatrix&lt; _Field &gt;, VectorCategories::DenseVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">special case for the submatrix of a dense matrix  <a href="class_lin_box_1_1_submatrix_3_01_dense_matrix_3_01___field_01_4_00_01_vector_categories_1_1_dense_vector_tag_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_lin_box_1_1_submatrix_owner_3_01_blackbox_00_01_vector_categories_1_1_dense_vector_tag_01_4.html">SubmatrixOwner&lt; Blackbox, VectorCategories::DenseVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization for dense vectors.  <a href="class_lin_box_1_1_submatrix_owner_3_01_blackbox_00_01_vector_categories_1_1_dense_vector_tag_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_lin_box_1_1_sum.html">Sum</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">blackbox of a matrix sum without copying.  <a href="class_lin_box_1_1_sum.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_lin_box_1_1_sum_owner.html">SumOwner</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">blackbox of a matrix sum without copying.  <a href="class_lin_box_1_1_sum_owner.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_lin_box_1_1_toeplitz.html">Toeplitz</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This is the blackbox representation of a <a class="el" href="class_lin_box_1_1_toeplitz.html" title="This is the blackbox representation of a Toeplitz matrix.">Toeplitz</a> matrix.  <a href="class_lin_box_1_1_toeplitz.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_lin_box_1_1_toeplitz_3_01typename_01___p_field_1_1_coeff_field_00_01___p_field_01_4.html">Toeplitz&lt; typename _PField::CoeffField, _PField &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization for when the field of matrix elements is the same as the coefficient field of the polynomial field.  <a href="class_lin_box_1_1_toeplitz_3_01typename_01___p_field_1_1_coeff_field_00_01___p_field_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_lin_box_1_1_transpose.html">Transpose</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">transpose matrix without copying.  <a href="class_lin_box_1_1_transpose.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_lin_box_1_1_transpose_owner.html">TransposeOwner</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">transpose matrix without copying.  <a href="class_lin_box_1_1_transpose_owner.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_lin_box_1_1_triples_b_b.html">TriplesBB</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">wrapper for NAG Sparse Matrix format.  <a href="class_lin_box_1_1_triples_b_b.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_lin_box_1_1_zero_one.html">ZeroOne</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Time and space efficient representation of sparse {0,1}-matrices.  <a href="class_lin_box_1_1_zero_one.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_zero_one_3_01_g_f2_01_4.html">ZeroOne&lt; GF2 &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Time and space efficient representation of sparse matrices over GF2.  <a href="struct_lin_box_1_1_zero_one_3_01_g_f2_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_lin_box_1_1_element_abstract.html">ElementAbstract</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract element base class, a technicality.  <a href="class_lin_box_1_1_element_abstract.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_lin_box_1_1_element_archetype.html">ElementArchetype</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Field and Ring element interface specification and archetypical instance class.  <a href="class_lin_box_1_1_element_archetype.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_lin_box_1_1_element_envelope.html">ElementEnvelope</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adaptor from archetypical interface to abstract interface, a technicality.  <a href="class_lin_box_1_1_element_envelope.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_lin_box_1_1_g_m_p_rational_element.html">GMPRationalElement</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">elements of GMP_Rationals.  <a href="class_lin_box_1_1_g_m_p_rational_element.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_lin_box_1_1_field_abstract.html">FieldAbstract</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">field base class.  <a href="class_lin_box_1_1_field_abstract.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_lin_box_1_1_field_archetype.html">FieldArchetype</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">field specification and archetypical instance.  <a href="class_lin_box_1_1_field_archetype.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_lin_box_1_1_block_ring.html">BlockRing</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Elements are wrapped <a class="el" href="class_lin_box_1_1_blas_matrix.html" title="BlasMatrix.">BlasMatrix</a> objects.  <a href="class_lin_box_1_1_block_ring.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_lin_box_1_1_field_envelope.html">FieldEnvelope</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Derived class used to implement the field archetypeHelps to minimize code bloat.  <a href="class_lin_box_1_1_field_envelope.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_lin_box_1_1_field_interface.html">FieldInterface</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This field base class exists solely to aid documentation organization.  <a href="class_lin_box_1_1_field_interface.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_lin_box_1_1_ring_categories.html">RingCategories</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">some basic information about each field or ring.  <a href="class_lin_box_1_1_ring_categories.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_givaro_field_3_01_lin_box_1_1_g_f2_01_4.html">GivaroField&lt; LinBox::GF2 &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">give <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> fields an allure of Givaro FieldsThis class adds the necessary requirements allowing the construction of an extension of a <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> field.  <a href="struct_lin_box_1_1_givaro_field_3_01_lin_box_1_1_g_f2_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_lin_box_1_1_givaro_extension.html">GivaroExtension</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This template class is defined to be in phase with the <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> archetype.  <a href="class_lin_box_1_1_givaro_extension.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_lin_box_1_1_givaro_extension_3_01_givaro_gfq_01_4.html">GivaroExtension&lt; GivaroGfq &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This template class is define just to be in phase with the <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> archetype.  <a href="class_lin_box_1_1_givaro_extension_3_01_givaro_gfq_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_lin_box_1_1_hom_3_01_base_field_00_01_givaro_extension_3_01_base_field_01_4_01_4.html">Hom&lt; BaseField, GivaroExtension&lt; BaseField &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NO DOC.  <a href="class_lin_box_1_1_hom_3_01_base_field_00_01_givaro_extension_3_01_base_field_01_4_01_4.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_givaro_field.html">GivaroField</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">give <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> fields an allure of Givaro FieldsThis class adds the necessary requirements allowing the construction of an extension of a <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> field or a givaro polynomial of a <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> field ...  <a href="struct_lin_box_1_1_givaro_field.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_lin_box_1_1_givaro_gfq.html">GivaroGfq</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper of Givaro's GFqDom&lt;int32_t&gt; class.  <a href="class_lin_box_1_1_givaro_gfq.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_lin_box_1_1_givaro_montg.html">GivaroMontg</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">wrapper of Givaro's ::Givaro::Montgomery&lt; ::Givaro::Std32&gt;.  <a href="class_lin_box_1_1_givaro_montg.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_lin_box_1_1_givaro_zpz.html">GivaroZpz</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">wrapper of Givaro's ZpzDom.  <a href="class_lin_box_1_1_givaro_zpz.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_lin_box_1_1_no_hom_error.html">NoHomError</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Error object for attempt to establish a <a class="el" href="class_lin_box_1_1_hom.html" title="map element of source ring(field) to target ringAn instance of Hom is a homomorphism from a ring of t...">Hom</a> that cannot exist.  <a href="class_lin_box_1_1_no_hom_error.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_lin_box_1_1_hom.html">Hom</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">map element of source ring(field) to target ringAn instance of <a class="el" href="class_lin_box_1_1_hom.html" title="map element of source ring(field) to target ringAn instance of Hom is a homomorphism from a ring of t...">Hom</a> is a homomorphism from a ring of type Source to a ring (usually field) of type Target.  <a href="class_lin_box_1_1_hom.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_lin_box_1_1_lidia_gfq.html">LidiaGfq</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">defines the Galois Field GF(p<sup>k</sup>).  <a href="class_lin_box_1_1_lidia_gfq.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_local2__32.html">Local2_32</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast arithmetic mod 2^32, including gcd.  <a href="struct_lin_box_1_1_local2__32.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_lin_box_1_1_modular_balanced_3_01double_01_4.html">ModularBalanced&lt; double &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Centered representation of <img class="formulaInl" alt="$\mathbf{Z}/m\mathbf{Z}$" src="form_4.png"/>.  <a href="class_lin_box_1_1_modular_balanced_3_01double_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_lin_box_1_1_field_a_x_p_y_3_01_modular_balanced_3_01double_01_4_01_4.html">FieldAXPY&lt; ModularBalanced&lt; double &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_field_a_x_p_y.html" title="FieldAXPY object.">FieldAXPY</a>.  <a href="class_lin_box_1_1_field_a_x_p_y_3_01_modular_balanced_3_01double_01_4_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_lin_box_1_1_dot_product_domain_3_01_modular_balanced_3_01double_01_4_01_4.html">DotProductDomain&lt; ModularBalanced&lt; double &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of DotProductDomain.  <a href="class_lin_box_1_1_dot_product_domain_3_01_modular_balanced_3_01double_01_4_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_lin_box_1_1_modular_3_01int8__t_01_4.html">Modular&lt; int8_t &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_modular.html" title="Prime fields of positive characteristic implemented directly in LinBox.">Modular</a> to signed 8 bit element type with efficient dot product.  <a href="class_lin_box_1_1_modular_3_01int8__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_lin_box_1_1_modular_3_01double_01_4.html">Modular&lt; double &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard representation of <img class="formulaInl" alt="$\mathbf{Z}/m\mathbf{Z}$" src="form_4.png"/>.  <a href="class_lin_box_1_1_modular_3_01double_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_lin_box_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 <a class="el" href="class_lin_box_1_1_modular.html" title="Prime fields of positive characteristic implemented directly in LinBox.">Modular</a> to int32_t element type with efficient dot product.  <a href="class_lin_box_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_lin_box_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 <a class="el" href="class_lin_box_1_1_modular.html" title="Prime fields of positive characteristic implemented directly in LinBox.">Modular</a> to int64_t element type with efficient dot product.  <a href="class_lin_box_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_lin_box_1_1_modular_3_01int16__t_01_4.html">Modular&lt; int16_t &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_modular.html" title="Prime fields of positive characteristic implemented directly in LinBox.">Modular</a> to short element type with efficient dot product.  <a href="class_lin_box_1_1_modular_3_01int16__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_lin_box_1_1_modular.html">Modular</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prime fields of positive characteristic implemented directly in <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a>.  <a href="class_lin_box_1_1_modular.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_lin_box_1_1_modular_3_01uint8__t_01_4.html">Modular&lt; uint8_t &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allows compact storage when the modulus is less than 2^8.  <a href="class_lin_box_1_1_modular_3_01uint8__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_lin_box_1_1_modular_3_01uint16__t_01_4.html">Modular&lt; uint16_t &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of class <a class="el" href="class_lin_box_1_1_modular.html" title="Prime fields of positive characteristic implemented directly in LinBox.">Modular</a> for uint16_t element type.  <a href="class_lin_box_1_1_modular_3_01uint16__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_lin_box_1_1_modular_3_01uint32__t_01_4.html">Modular&lt; uint32_t &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of class <a class="el" href="class_lin_box_1_1_modular.html" title="Prime fields of positive characteristic implemented directly in LinBox.">Modular</a> for uint32_t element type.  <a href="class_lin_box_1_1_modular_3_01uint32__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_lin_box_1_1_field_a_x_p_y_3_01_modular_3_01___element_01_4_01_4.html">FieldAXPY&lt; Modular&lt; _Element &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_field_a_x_p_y.html" title="FieldAXPY object.">FieldAXPY</a> for parameterized modular field.  <a href="class_lin_box_1_1_field_a_x_p_y_3_01_modular_3_01___element_01_4_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_lin_box_1_1_field_a_x_p_y_3_01_modular_3_01uint8__t_01_4_01_4.html">FieldAXPY&lt; Modular&lt; uint8_t &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_field_a_x_p_y.html" title="FieldAXPY object.">FieldAXPY</a> for uint8_t modular field.  <a href="class_lin_box_1_1_field_a_x_p_y_3_01_modular_3_01uint8__t_01_4_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_lin_box_1_1_field_a_x_p_y_3_01_modular_3_01uint16__t_01_4_01_4.html">FieldAXPY&lt; Modular&lt; uint16_t &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_field_a_x_p_y.html" title="FieldAXPY object.">FieldAXPY</a> for uint16_t modular field.  <a href="class_lin_box_1_1_field_a_x_p_y_3_01_modular_3_01uint16__t_01_4_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_lin_box_1_1_field_a_x_p_y_3_01_modular_3_01uint32__t_01_4_01_4.html">FieldAXPY&lt; Modular&lt; uint32_t &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_field_a_x_p_y.html" title="FieldAXPY object.">FieldAXPY</a> for unsigned short modular field.  <a href="class_lin_box_1_1_field_a_x_p_y_3_01_modular_3_01uint32__t_01_4_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_lin_box_1_1_dot_product_domain_3_01_modular_3_01uint8__t_01_4_01_4.html">DotProductDomain&lt; Modular&lt; uint8_t &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of DotProductDomain for unsigned short modular field.  <a href="class_lin_box_1_1_dot_product_domain_3_01_modular_3_01uint8__t_01_4_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_lin_box_1_1_dot_product_domain_3_01_modular_3_01uint16__t_01_4_01_4.html">DotProductDomain&lt; Modular&lt; uint16_t &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of DotProductDomain for unsigned short modular field.  <a href="class_lin_box_1_1_dot_product_domain_3_01_modular_3_01uint16__t_01_4_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_lin_box_1_1_dot_product_domain_3_01_modular_3_01uint32__t_01_4_01_4.html">DotProductDomain&lt; Modular&lt; uint32_t &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of DotProductDomain for uint32_t modular field.  <a href="class_lin_box_1_1_dot_product_domain_3_01_modular_3_01uint32__t_01_4_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_lin_box_1_1_m_v_product_domain_3_01_modular_3_01uint8__t_01_4_01_4.html">MVProductDomain&lt; Modular&lt; uint8_t &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_m_v_product_domain.html" title="Helper class to allow specializations of certain matrix-vector products.">MVProductDomain</a> for uint8_t modular field.  <a href="class_lin_box_1_1_m_v_product_domain_3_01_modular_3_01uint8__t_01_4_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_lin_box_1_1_m_v_product_domain_3_01_modular_3_01uint16__t_01_4_01_4.html">MVProductDomain&lt; Modular&lt; uint16_t &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_m_v_product_domain.html" title="Helper class to allow specializations of certain matrix-vector products.">MVProductDomain</a> for uint16_t modular field.  <a href="class_lin_box_1_1_m_v_product_domain_3_01_modular_3_01uint16__t_01_4_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_lin_box_1_1_m_v_product_domain_3_01_modular_3_01uint32__t_01_4_01_4.html">MVProductDomain&lt; Modular&lt; uint32_t &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_m_v_product_domain.html" title="Helper class to allow specializations of certain matrix-vector products.">MVProductDomain</a> for uint32_t modular field.  <a href="class_lin_box_1_1_m_v_product_domain_3_01_modular_3_01uint32__t_01_4_01_4.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_n_t_l__zz__p.html">NTL_zz_p</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">long ints modulo a positive integer.  <a href="struct_lin_box_1_1_n_t_l__zz__p.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_lin_box_1_1_n_t_l__zz__p_e.html">NTL_zz_pE</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">for large cardinality, small prime.  <a href="class_lin_box_1_1_n_t_l__zz__p_e.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_lin_box_1_1_n_t_l__zz__p_x.html">NTL_zz_pX</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Ring (in fact, a unique factorization domain) of polynomial with coefficients in class <a class="el" href="struct_lin_box_1_1_n_t_l__zz__p.html" title="long ints modulo a positive integer.">NTL_zz_p</a> (integers mod a wordsize prime).  <a href="class_lin_box_1_1_n_t_l__zz__p_x.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_n_t_l___p_i_d__zz__p.html">NTL_PID_zz_p</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">extend Wrapper of zz_p from NTL.  <a href="struct_lin_box_1_1_n_t_l___p_i_d__zz__p.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_lin_box_1_1_n_t_l___z_z.html">NTL_ZZ</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">the integer ring.  <a href="class_lin_box_1_1_n_t_l___z_z.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_n_t_l___z_z__p.html">NTL_ZZ_p</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper of zz_p from NTL.  <a href="struct_lin_box_1_1_n_t_l___z_z__p.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_lin_box_1_1_n_t_l___z_z__p_x.html">NTL_ZZ_pX</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Ring (in fact, a unique factorization domain) of polynomial with coefficients in class <a class="el" href="struct_lin_box_1_1_n_t_l___z_z__p.html" title="Wrapper of zz_p from NTL.">NTL_ZZ_p</a> (integers mod a wordsize prime).  <a href="class_lin_box_1_1_n_t_l___z_z__p_x.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_lin_box_1_1_param_fuzzy.html">ParamFuzzy</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract parameterized field of "fuzzy" doubles.  <a href="class_lin_box_1_1_param_fuzzy.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_lin_box_1_1_p_i_d__double.html">PID_double</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NO DOC.  <a href="class_lin_box_1_1_p_i_d__double.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_lin_box_1_1_p_i_d__integer.html">PID_integer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Domain for integer operations.  <a href="class_lin_box_1_1_p_i_d__integer.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_lin_box_1_1_p_i_r__ntl___z_z__p.html">PIR_ntl_ZZ_p</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">extend Wrapper of ZZ_p from NTL.  <a href="class_lin_box_1_1_p_i_r__ntl___z_z__p.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_rebind.html">Rebind</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">used in support of <a class="el" href="class_lin_box_1_1_hom.html" title="map element of source ring(field) to target ringAn instance of Hom is a homomorphism from a ring of t...">Hom</a>, <a class="el" href="namespace_lin_box_1_1_matrix_hom.html" title="Limited doc so far. Used in RationalSolver.">MatrixHom</a>  <a href="struct_lin_box_1_1_rebind.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_lin_box_1_1_field_a_x_p_y_3_01_unparametric_field_3_01integer_01_4_01_4.html">FieldAXPY&lt; UnparametricField&lt; integer &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NO DOc.  <a href="class_lin_box_1_1_field_a_x_p_y_3_01_unparametric_field_3_01integer_01_4_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_lin_box_1_1_matrix_archetype.html">MatrixArchetype</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Directly-represented matrix archetype.  <a href="class_lin_box_1_1_matrix_archetype.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_lin_box_1_1_blas_matrix.html">BlasMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_lin_box_1_1_blas_matrix.html" title="BlasMatrix.">BlasMatrix</a>.  <a href="class_lin_box_1_1_blas_matrix.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_lin_box_1_1_blas_tag.html">BlasTag</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">TAG for triangular blas matrix.  <a href="class_lin_box_1_1_blas_tag.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_lin_box_1_1_triangular_blas_matrix.html">TriangularBlasMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Triangular BLAS matrix.  <a href="class_lin_box_1_1_triangular_blas_matrix.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_lin_box_1_1index_domain.html">indexDomain</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Class used for permuting indices.  <a href="class_lin_box_1_1index_domain.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_lin_box_1_1_transposed_blas_matrix.html">TransposedBlasMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_lin_box_1_1_transposed_blas_matrix.html" title="TransposedBlasMatrix.">TransposedBlasMatrix</a>.  <a href="class_lin_box_1_1_transposed_blas_matrix.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_lin_box_1_1_transposed_blas_matrix_3_01_transposed_blas_matrix_3_01_matrix_01_4_01_4.html">TransposedBlasMatrix&lt; TransposedBlasMatrix&lt; Matrix &gt; &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_lin_box_1_1_transposed_blas_matrix.html" title="TransposedBlasMatrix.">TransposedBlasMatrix</a>.  <a href="class_lin_box_1_1_transposed_blas_matrix_3_01_transposed_blas_matrix_3_01_matrix_01_4_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_lin_box_1_1_dense_rows_matrix.html">DenseRowsMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dense row-wise matrix container.  <a href="class_lin_box_1_1_dense_rows_matrix.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_lin_box_1_1_dense_submatrix.html">DenseSubmatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Submatrix of a dense matrix  <a href="class_lin_box_1_1_dense_submatrix.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_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> dense matrix template.  <a href="class_lin_box_1_1_dense_matrix_base.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_lin_box_1_1_l_q_u_p_matrix.html">LQUPMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">LQUP factorisation.  <a href="class_lin_box_1_1_l_q_u_p_matrix.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_matrix_categories.html">MatrixCategories</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">For specializing matrix arithmetic.  <a href="struct_lin_box_1_1_matrix_categories.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_lin_box_1_1_m_v_product_domain.html">MVProductDomain</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper class to allow specializations of certain matrix-vector products.  <a href="class_lin_box_1_1_m_v_product_domain.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_lin_box_1_1_matrix_domain.html">MatrixDomain</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Class of matrix arithmetic functions.  <a href="class_lin_box_1_1_matrix_domain.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_lin_box_1_1_blas_permutation.html">BlasPermutation</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Lapack-style permutation.  <a href="class_lin_box_1_1_blas_permutation.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_lin_box_1_1_matrix_permutation.html">MatrixPermutation</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_lin_box_1_1_permutation.html" title="size is n.">Permutation</a> classique.  <a href="class_lin_box_1_1_matrix_permutation.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_rank_builder.html">RankBuilder</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">random method for constructing rank  <a href="struct_lin_box_1_1_rank_builder.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_lin_box_1_1_random_dense_matrix.html">RandomDenseMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random Dense Matrix builder.  <a href="class_lin_box_1_1_random_dense_matrix.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_lin_box_1_1_invalid_matrix_input.html">InvalidMatrixInput</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Exception class for invalid matrix input.  <a href="class_lin_box_1_1_invalid_matrix_input.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_lin_box_1_1_field_i_o.html">FieldIO</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dummy field for conceptually unclear io.  <a href="class_lin_box_1_1_field_i_o.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_lin_box_1_1_sparse_matrix_base.html">SparseMatrixBase</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sparse matrix container This class acts as a generic row-wise container for sparse matrices.  <a href="class_lin_box_1_1_sparse_matrix_base.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_lin_box_1_1_transpose_matrix.html">TransposeMatrix</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Matrix transpose.  <a href="class_lin_box_1_1_transpose_matrix.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_lin_box_1_1_rand_iter_abstract.html">RandIterAbstract</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random field element generator.  <a href="class_lin_box_1_1_rand_iter_abstract.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_lin_box_1_1_rand_iter_archetype.html">RandIterArchetype</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random field element generator archetype.  <a href="class_lin_box_1_1_rand_iter_archetype.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_lin_box_1_1_rand_iter_envelope.html">RandIterEnvelope</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random field base element generator.  <a href="class_lin_box_1_1_rand_iter_envelope.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_lin_box_1_1_gmp_random_prime.html">GmpRandomPrime</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">generating random prime integers, using the gmp library.  <a href="class_lin_box_1_1_gmp_random_prime.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_lin_box_1_1_modular_balanced_rand_iter.html">ModularBalancedRandIter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random field base element generator.  <a href="class_lin_box_1_1_modular_balanced_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_lin_box_1_1_modular_crooked_rand_iter.html">ModularCrookedRandIter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random field base element generator.  <a href="class_lin_box_1_1_modular_crooked_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_lin_box_1_1_modular_rand_iter.html">ModularRandIter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random field base element generator.  <a href="class_lin_box_1_1_modular_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_lin_box_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_lin_box_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_lin_box_1_1_random_integer_iterator.html">RandomIntegerIterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random Prime Generator.  <a href="class_lin_box_1_1_random_integer_iterator.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_lin_box_1_1_random_integer_iter.html">RandomIntegerIter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random Integer Iterator.  <a href="class_lin_box_1_1_random_integer_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_lin_box_1_1_random_prime_iterator.html">RandomPrimeIterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random Prime Generator.  <a href="class_lin_box_1_1_random_prime_iterator.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_lin_box_1_1_random_prime_iter.html">RandomPrimeIter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random Prime Iterator.  <a href="class_lin_box_1_1_random_prime_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_lin_box_1_1_unparametric_rand_iter.html">UnparametricRandIter</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Unparameterized random field element generator template.  <a href="class_lin_box_1_1_unparametric_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_lin_box_1_1_ring_abstract.html">RingAbstract</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract ring base class.  <a href="class_lin_box_1_1_ring_abstract.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_lin_box_1_1_ring_archetype.html">RingArchetype</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">specification and archetypic instance for the ring interfaceThe <a class="el" href="class_lin_box_1_1_ring_archetype.html">RingArchetype</a> and its encapsulated element class contain pointers to the <a class="el" href="class_lin_box_1_1_ring_abstract.html">RingAbstract</a> and its encapsulated ring element, respectively.  <a href="class_lin_box_1_1_ring_archetype.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_lin_box_1_1_ring_envelope.html">RingEnvelope</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">implement the ring archetype to minimize code bloat.  <a href="class_lin_box_1_1_ring_envelope.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_lin_box_1_1_giv_polynomial_ring.html">GivPolynomialRing</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Polynomials.  <a href="class_lin_box_1_1_giv_polynomial_ring.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_lin_box_1_1_power_of_two_modular.html">PowerOfTwoModular</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Ring of elements modulo some power of two.  <a href="class_lin_box_1_1_power_of_two_modular.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_lin_box_1_1_ring_interface.html">RingInterface</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This ring base class exists solely to aid documentation organization.  <a href="class_lin_box_1_1_ring_interface.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_hybrid_specifier.html">HybridSpecifier</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="struct_lin_box_1_1_hybrid_specifier.html" title="HybridSpecifier.">HybridSpecifier</a>.  <a href="struct_lin_box_1_1_hybrid_specifier.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_blackbox_specifier.html">BlackboxSpecifier</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="struct_lin_box_1_1_blackbox_specifier.html" title="BlackboxSpecifier.">BlackboxSpecifier</a>.  <a href="struct_lin_box_1_1_blackbox_specifier.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_elimination_specifier.html">EliminationSpecifier</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="struct_lin_box_1_1_elimination_specifier.html" title="EliminationSpecifier.">EliminationSpecifier</a>.  <a href="struct_lin_box_1_1_elimination_specifier.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_method.html">Method</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="struct_lin_box_1_1_method.html" title="Method specifiers for controlling algorithm choice.">Method</a> specifiers for controlling algorithm choice.  <a href="struct_lin_box_1_1_method.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_solver_traits.html">SolverTraits</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Solver traits.  <a href="struct_lin_box_1_1_solver_traits.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_lin_box_1_1_solve_failed.html">SolveFailed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Exception thrown when the computed solution vector is not a true solution to the system, but none of the problems cited below exist.  <a href="class_lin_box_1_1_solve_failed.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_lin_box_1_1_inconsistent_system.html">InconsistentSystem</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Exception thrown when the system to be solved is inconsistent.  <a href="class_lin_box_1_1_inconsistent_system.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_lin_box_1_1_boolean_switch.html">BooleanSwitch</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Boolean switch object.  <a href="class_lin_box_1_1_boolean_switch.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_lin_box_1_1_boolean_switch_factory.html">BooleanSwitchFactory</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Boolean switch factory.  <a href="class_lin_box_1_1_boolean_switch_factory.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_lin_box_1_1_cekstv_switch.html">CekstvSwitch</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_lin_box_1_1_butterfly.html" title="Switching Network based BlackBox Matrix.">Butterfly</a> switch object from preconditioner paper.  <a href="class_lin_box_1_1_cekstv_switch.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_lin_box_1_1_cekstv_switch_factory.html">CekstvSwitchFactory</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cekstv switch factory.  <a href="class_lin_box_1_1_cekstv_switch_factory.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_lin_box_1_1_commentator.html">Commentator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Give information to user during runtime.  <a href="class_lin_box_1_1_commentator.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_lin_box_1_1_precondition_failed.html">PreconditionFailed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A precondtion failed.  <a href="class_lin_box_1_1_precondition_failed.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_lin_box_1_1_linbox_error.html">LinboxError</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">base class for execption handling in Givaro.  <a href="class_lin_box_1_1_linbox_error.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_lin_box_1_1_field_a_x_p_y.html">FieldAXPY</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_lin_box_1_1_field_a_x_p_y.html" title="FieldAXPY object.">FieldAXPY</a> object.  <a href="class_lin_box_1_1_field_a_x_p_y.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_lin_box_1_1_matrix_stream_reader.html">MatrixStreamReader</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract base class to represent readers for specific formats.  <a href="class_lin_box_1_1_matrix_stream_reader.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_lin_box_1_1_matrix_stream.html">MatrixStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_lin_box_1_1_matrix_stream.html" title="MatrixStream.">MatrixStream</a>.  <a href="class_lin_box_1_1_matrix_stream.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_lin_box_1_1_prime_stream.html">PrimeStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prime number stream.  <a href="class_lin_box_1_1_prime_stream.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_lin_box_1_1_bit_vector.html">BitVector</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Binary constant defined both for 32 and 64 bits.  <a href="class_lin_box_1_1_bit_vector.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_lin_box_1_1_reverse_vector.html">ReverseVector</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse vector class This class wraps an existing vector type and reverses its direction.  <a href="class_lin_box_1_1_reverse_vector.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_lin_box_1_1_sparse___vector.html">Sparse_Vector</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">vector&lt; Pair&lt;T,I&gt; &gt; and actualsize  <a href="class_lin_box_1_1_sparse___vector.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_lin_box_1_1_vector_stream.html">VectorStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector factory.  <a href="class_lin_box_1_1_vector_stream.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_lin_box_1_1_constant_vector_stream.html">ConstantVectorStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant vector factory.  <a href="class_lin_box_1_1_constant_vector_stream.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_lin_box_1_1_random_dense_stream.html">RandomDenseStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random dense vector stream.  <a href="class_lin_box_1_1_random_dense_stream.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_lin_box_1_1_random_dense_stream_3_01_field_00_01___vector_00_01_rand_iter_00_01_vector_cat589381417933a6db12f95d32a4c5da0e.html">RandomDenseStream&lt; Field, _Vector, RandIter, VectorCategories::DenseVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of random dense stream for dense vectors.  <a href="class_lin_box_1_1_random_dense_stream_3_01_field_00_01___vector_00_01_rand_iter_00_01_vector_cat589381417933a6db12f95d32a4c5da0e.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_lin_box_1_1_random_sparse_stream.html">RandomSparseStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random sparse vector stream.  <a href="class_lin_box_1_1_random_sparse_stream.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_lin_box_1_1_random_sparse_stream_3_01_field_00_01___vector_00_01_rand_iter_00_01_vector_ca883e5ca445c8a45322c951afc9074c1d.html">RandomSparseStream&lt; Field, _Vector, RandIter, VectorCategories::DenseVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_random_sparse_stream.html" title="Random sparse vector stream.">RandomSparseStream</a> for dense vectors.  <a href="class_lin_box_1_1_random_sparse_stream_3_01_field_00_01___vector_00_01_rand_iter_00_01_vector_ca883e5ca445c8a45322c951afc9074c1d.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_lin_box_1_1_random_sparse_stream_3_01_field_00_01___vector_00_01_rand_iter_00_01_vector_ca61dfcd16fddd3b2ca4b1974ad2d160c4.html">RandomSparseStream&lt; Field, _Vector, RandIter, VectorCategories::SparseSequenceVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_random_sparse_stream.html" title="Random sparse vector stream.">RandomSparseStream</a> for sparse sequence vectors.  <a href="class_lin_box_1_1_random_sparse_stream_3_01_field_00_01___vector_00_01_rand_iter_00_01_vector_ca61dfcd16fddd3b2ca4b1974ad2d160c4.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_lin_box_1_1_random_sparse_stream_3_01_field_00_01___vector_00_01_rand_iter_00_01_vector_ca076d5b0790f7cce9e4742b9ee96c71e3.html">RandomSparseStream&lt; Field, _Vector, RandIter, VectorCategories::SparseAssociativeVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_random_sparse_stream.html" title="Random sparse vector stream.">RandomSparseStream</a> for sparse associative vectors.  <a href="class_lin_box_1_1_random_sparse_stream_3_01_field_00_01___vector_00_01_rand_iter_00_01_vector_ca076d5b0790f7cce9e4742b9ee96c71e3.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_lin_box_1_1_random_sparse_stream_3_01_field_00_01___vector_00_01_rand_iter_00_01_vector_ca276d66c5e49e11847c8660dd91684cda.html">RandomSparseStream&lt; Field, _Vector, RandIter, VectorCategories::SparseParallelVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="class_lin_box_1_1_random_sparse_stream.html" title="Random sparse vector stream.">RandomSparseStream</a> for sparse parallel vectors.  <a href="class_lin_box_1_1_random_sparse_stream_3_01_field_00_01___vector_00_01_rand_iter_00_01_vector_ca276d66c5e49e11847c8660dd91684cda.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_lin_box_1_1_standard_basis_stream.html">StandardBasisStream</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stream for <img class="formulaInl" alt="$e_1,\cdots,e_n$" src="form_72.png"/>.  <a href="class_lin_box_1_1_standard_basis_stream.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_lin_box_1_1_standard_basis_stream_3_01_field_00_01___vector_00_01_vector_categories_1_1_dense_vector_tag_01_4.html">StandardBasisStream&lt; Field, _Vector, VectorCategories::DenseVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of standard basis stream for dense vectors.  <a href="class_lin_box_1_1_standard_basis_stream_3_01_field_00_01___vector_00_01_vector_categories_1_1_dense_vector_tag_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_lin_box_1_1_standard_basis_stream_3_01_field_00_01___vector_00_01_vector_categories_1_1_sparse_sequence_vector_tag_01_4.html">StandardBasisStream&lt; Field, _Vector, VectorCategories::SparseSequenceVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of standard basis stream for sparse sequence vectors.  <a href="class_lin_box_1_1_standard_basis_stream_3_01_field_00_01___vector_00_01_vector_categories_1_1_sparse_sequence_vector_tag_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_lin_box_1_1_standard_basis_stream_3_01_field_00_01___vector_00_01_vector_categories_1_1_speb533800f9a893196e1a53ada766ae00.html">StandardBasisStream&lt; Field, _Vector, VectorCategories::SparseAssociativeVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of standard basis stream for sparse associative vectors.  <a href="class_lin_box_1_1_standard_basis_stream_3_01_field_00_01___vector_00_01_vector_categories_1_1_speb533800f9a893196e1a53ada766ae00.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_lin_box_1_1_standard_basis_stream_3_01_field_00_01___vector_00_01_vector_categories_1_1_sparse_parallel_vector_tag_01_4.html">StandardBasisStream&lt; Field, _Vector, VectorCategories::SparseParallelVectorTag &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of standard basis stream for sparse parallel vectors.  <a href="class_lin_box_1_1_standard_basis_stream_3_01_field_00_01___vector_00_01_vector_categories_1_1_sparse_parallel_vector_tag_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_lin_box_1_1_subiterator.html">Subiterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_lin_box_1_1_subvector.html" title="Dense subvectorThis class provides a statically sized subvector of a random access container (such as...">Subvector</a> iterator class provides striding iterators.  <a href="class_lin_box_1_1_subiterator.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_lin_box_1_1_subvector.html">Subvector</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dense subvectorThis class provides a statically sized subvector of a random access container (such as std::vector, deque).  <a href="class_lin_box_1_1_subvector.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_vector_categories.html">VectorCategories</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">List of vector categories.  <a href="struct_lin_box_1_1_vector_categories.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_vector_traits.html">VectorTraits</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector traits template structure.  <a href="struct_lin_box_1_1_vector_traits.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_lin_box_1_1_raw_vector.html">RawVector</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Canonical vector types.  <a href="struct_lin_box_1_1_raw_vector.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_lin_box_1_1_plot_style.html">PlotStyle</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents a table of values to plot.  <a href="class_lin_box_1_1_plot_style.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_lin_box_1_1_plot_data.html">PlotData</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The raw data to plot.  <a href="class_lin_box_1_1_plot_data.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_lin_box_1_1_plot_graph.html">PlotGraph</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The graph.  <a href="class_lin_box_1_1_plot_graph.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef ::Givaro::Integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Integers in <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a>.  <a href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e"></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_lin_box.html#ad64ffbead496419ef09faaccc43ec9f6">SolveResult</a> </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for results of next solver.  <a href="namespace_lin_box.html#ad64ffbead496419ef09faaccc43ec9f6">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a2a54278772a93675c92630b7ccdbc3c4">SNSolverReturnStatus</a> </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">define the possible return status of the solver's computation. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__padic.html#gabf95d1fb4fcd12ca89717f0be14212a1">SolverReturnStatus</a> </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">define the different return status of the p-adic based solver's computation. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__padic.html#gaee2ff986111a9d28c71343fbdc651a9f">SolverLevel</a> </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the different strategy which can be used in the p-adic based solver.  <a href="group__padic.html#gaee2ff986111a9d28c71343fbdc651a9f">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ac9fc66b92230563e481ea4c43f443008">FileFormatTag</a> </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">tags for SparseMatrixBase::read() and write() <br/></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 , class Vector , class Blackbox &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_wiedemann_solver.html">WiedemannSolver</a>&lt; Field &gt;<br class="typebreak"/>
::ReturnStatus&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a353c2c55c4d1fd5b35e9b4e04c274982">solve</a> (const Blackbox &amp;A, Vector &amp;x, const Vector &amp;b, Vector &amp;u, const Field &amp;F, const WiedemannTraits &amp;traits=WiedemannTraits())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Solve Ax=b over field F using Wiedemann's method, with inconsistency certificate.  <a href="#a353c2c55c4d1fd5b35e9b4e04c274982"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field , class Vector , class Blackbox &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Vector &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ab51deda82e20af566991b6f525ada9b8">solve</a> (const Blackbox &amp;A, Vector &amp;x, const Vector &amp;b, const Field &amp;F, const WiedemannTraits &amp;traits=WiedemannTraits())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Solve Ax=b over field F using the Wiedemann method.  <a href="#ab51deda82e20af566991b6f525ada9b8"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field , class Vector , class Blackbox &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Vector &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a4866ce5ad2662f9db4dc4cd2232f1be9">solve</a> (const Blackbox &amp;A, Vector &amp;x, const Vector &amp;b, const Field &amp;F, const LanczosTraits &amp;traits)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Solve Ax=b over field F using the Lanczos method.  <a href="#a4866ce5ad2662f9db4dc4cd2232f1be9"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field , class Vector , class Blackbox &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Vector &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a47157078c2eaced11b6ad55584ad1198">solve</a> (const Blackbox &amp;A, Vector &amp;x, const Vector &amp;b, const Field &amp;F, const BlockLanczosTraits &amp;traits)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Solve Ax=b over field F using the block Lanczos method.  <a href="#a47157078c2eaced11b6ad55584ad1198"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field , class Matrix , class Vector &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Vector &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ae53f94e0c5aabdc1f15ba53051be58b5">solve</a> (const Matrix &amp;A, Vector &amp;x, const Vector &amp;b, const Field &amp;F, const BlasEliminationTraits &amp;traits)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Solve Ax=b over field F using Gaussian elimination.  <a href="#ae53f94e0c5aabdc1f15ba53051be58b5"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field , class Blackbox , class Vector , class MethodTraits &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespace_lin_box.html#ad64ffbead496419ef09faaccc43ec9f6">SolveResult</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a2b5824d299555f151adc16639c5f3e1c">solve</a> (const Blackbox &amp;A, Vector &amp;x, const Vector &amp;b, const Field &amp;F, Vector &amp;u, const MethodTraits &amp;traits=MethodTraits())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Solve Ax=b over field F, returning consistency indicator.  <a href="#a2b5824d299555f151adc16639c5f3e1c"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Polynomial , class Blackbox &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Polynomial &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__algorithms.html#ga1ef0e9d69b30d9e2db5e3c52a6bf0839">cia</a> (Polynomial &amp;P, const Blackbox &amp;A, const <a class="el" href="struct_lin_box_1_1_method.html#ae72ae4bbae70adf0514c807be2037706">Method::BlasElimination</a> &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Algorithm computing the integer characteristic polynomial of a dense matrix.  <a href="group__algorithms.html#ga1ef0e9d69b30d9e2db5e3c52a6bf0839"></a><br/></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_lin_box.html#a9de4647eef3b1d7d091c3f1051cc3600">NullSpaceBasis</a> (const Field &amp;F, const <a class="el" href="struct_lin_box_1_1_lin_box_tag.html#a8c0137d7160ad71b6ed265c53c99ed00">LinBoxTag::Side</a> Side, const size_t &amp;m, const size_t &amp;n, typename Field::Element *A, const size_t &amp;lda, typename Field::Element *&amp;Ker, size_t &amp;ldk, size_t &amp;kerdim)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the kernel of a dense matrix using <code>LQUP</code>.  <a href="#a9de4647eef3b1d7d091c3f1051cc3600"></a><br/></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 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a8b7fce5e394fc79d22cefb18b791bed5">NullSpaceBasis</a> (const Field &amp;F, const <a class="el" href="struct_lin_box_1_1_lin_box_tag.html#a8c0137d7160ad71b6ed265c53c99ed00">LinBoxTag::Side</a> Side, <a class="el" href="class_lin_box_1_1_blas_matrix.html">BlasMatrix</a>&lt; typename Field::Element &gt; &amp;A, <a class="el" href="class_lin_box_1_1_blas_matrix.html">BlasMatrix</a>&lt; typename Field::Element &gt; &amp;Ker, size_t &amp;kerdim)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Nullspace of a dense matrix on a finite field.  <a href="#a8b7fce5e394fc79d22cefb18b791bed5"></a><br/></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 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a7eb625f3fa68ec02002643bc75644458">NullSpaceBasis</a> (const Field &amp;F, const <a class="el" href="struct_lin_box_1_1_lin_box_tag.html#a8c0137d7160ad71b6ed265c53c99ed00">LinBoxTag::Side</a> Side, const <a class="el" href="class_lin_box_1_1_blas_matrix.html">BlasMatrix</a>&lt; typename Field::Element &gt; &amp;A, <a class="el" href="class_lin_box_1_1_blas_matrix.html">BlasMatrix</a>&lt; typename Field::Element &gt; &amp;Ker, size_t &amp;kerdim)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Nullspace of a dense matrix on a finite field.  <a href="#a7eb625f3fa68ec02002643bc75644458"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a9c581ec3a907bcc9bb26a32546b91c52">Zero</a> (const Field &amp;F, typename Field::Element *Z, const size_t ldZ, const size_t lig1, const size_t col1, const size_t lig2, const size_t col2)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a15d077ee6e164c30b744e65432931420">Identity</a> (const Field &amp;F, typename Field::Element *Id, const size_t ldI, const size_t lig1, const size_t col1, const size_t lig2, const size_t col2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates identity matrix in <code>F</code> of size <code>dim1</code> <code>x</code> <code>dim2</code>.  <a href="#a15d077ee6e164c30b744e65432931420"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Field::Element *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ae381767861d3629aa729f11ef108a9f5">RightNullspaceDirect</a> (const Field &amp;F, typename Field::Element *A, const size_t &amp;M, const size_t &amp;N, const size_t &amp;lda, size_t &amp;ker_dim)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The right or left nullspace (kernel or cokernel) of a matrix A We use the LU decomposition.  <a href="#ae381767861d3629aa729f11ef108a9f5"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Ring &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#aa19c9ffa7f4e795e92fa90e8dfa15600">dyadicToRational</a> (const Ring &amp;Z, typename Ring::Element &amp;a, typename Ring::Element &amp;b, const typename Ring::Element &amp;n, const typename Ring::Element &amp;d, const typename Ring::Element &amp;B)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rational reconstruction of a/b from n/d with denominator bound B.  <a href="#aa19c9ffa7f4e795e92fa90e8dfa15600"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Ring &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ab4c0b6bae10fdd699c95678d9c429e0a">partial_hegcd</a> (Ring &amp;Z, typename Ring::Element &amp;e, typename Ring::Element &amp;b, const typename Ring::Element &amp;n, const typename Ring::Element &amp;d, const typename Ring::Element &amp;denBound)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespace_lin_box.html#ab4c0b6bae10fdd699c95678d9c429e0a" title="partial_hegcd() sets e, b from the remainder sequence of n,d.">partial_hegcd()</a> sets e, b from the remainder sequence of n,d.  <a href="#ab4c0b6bae10fdd699c95678d9c429e0a"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Blackbox , class MyMethod &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Blackbox::Field::Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__solutions.html#gaf0ab7d8c85bc20cfd21f6f3a0b3d6fd1">lif_cra_det</a> (typename Blackbox::Field::Element &amp;d, const Blackbox &amp;A, const RingCategories::IntegerTag &amp;tag, const MyMethod &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the determinant of A over the integers.  <a href="group__solutions.html#gaf0ab7d8c85bc20cfd21f6f3a0b3d6fd1"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Ring , class ItMatrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#aaa4f9e471e69dec7e07d637ac7c74ff1">SpecialBound</a> (const Ring &amp;R, typename Ring::Element &amp;H_col_sqr, typename Ring::Element &amp;short_col_sqr, const ItMatrix &amp;A)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">BoundBlackbox.  <a href="#aaa4f9e471e69dec7e07d637ac7c74ff1"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Ring , class ItMatrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a312188c0fa5d35bd8d5007a6e1beb483">ApplyBound</a> (const Ring &amp;R, typename Ring::Element &amp;bound_A, const ItMatrix &amp;A)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">ApplyBound.  <a href="#a312188c0fa5d35bd8d5007a6e1beb483"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Prime &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ad605a5ca7a11c37e7390833a00ab61bd">checkBlasPrime</a> (const Prime p)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NO DOC !  <a href="#ad605a5ca7a11c37e7390833a00ab61bd"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a8dbd60a284876e007de50d70b3858afa"></a><!-- doxytag: member="LinBox::reduceIn" ref="a8dbd60a284876e007de50d70b3858afa" args="(Domain &amp;D, std::pair&lt; typename Domain::Element, typename Domain::Element &gt; &amp;frac)" -->
template&lt;class Domain &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a8dbd60a284876e007de50d70b3858afa">reduceIn</a> (Domain &amp;D, std::pair&lt; typename Domain::Element, typename Domain::Element &gt; &amp;frac)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">utility function to reduce a rational pair to lowest form <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a2dd3f73fab4ce2f52fd0a1b387ef7452"></a><!-- doxytag: member="LinBox::vectorGcdIn" ref="a2dd3f73fab4ce2f52fd0a1b387ef7452" args="(typename Domain::Element &amp;result, Domain &amp;D, Vector &amp;v)" -->
template&lt;class Domain , class Vector &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a2dd3f73fab4ce2f52fd0a1b387ef7452">vectorGcdIn</a> (typename Domain::Element &amp;result, Domain &amp;D, Vector &amp;v)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">utility function to gcd-in a vector of elements over a domain <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a99ebfe80d177b412c51f2b0a194930d6"></a><!-- doxytag: member="LinBox::vectorGcd" ref="a99ebfe80d177b412c51f2b0a194930d6" args="(Domain &amp;D, Vector &amp;v)" -->
template&lt;class Domain , class Vector &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Domain::Element&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a99ebfe80d177b412c51f2b0a194930d6">vectorGcd</a> (Domain &amp;D, Vector &amp;v)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">utility function, returns gcd of a vector of elements over a domain <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Domain , class IMatrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a37aceb45fb3343576917715ec1528096">create_MatrixQadic</a> (const Domain &amp;D, const IMatrix &amp;Mat, double *chunks, size_t num_chunks, const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> shift)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">split an integer matrix into a padic chunk representation  <a href="#a37aceb45fb3343576917715ec1528096"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Domain , class Vector &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#afa543138b91890330607501c46aa86e9">create_VectorQadic</a> (const Domain &amp;D, const Vector &amp;V, double *chunks, size_t num_chunks)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">split an integer vector into a padic chunk representation  <a href="#afa543138b91890330607501c46aa86e9"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Domain , class Vector &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ad28ea00600872b52be0bf2c3f47d3b6b">create_VectorQadic_32</a> (const Domain &amp;D, const Vector &amp;V, double *chunks, size_t num_chunks)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">split an integer vector into a padic chunk representation  <a href="#ad28ea00600872b52be0bf2c3f47d3b6b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::zz_p &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a368e9720227c954eccba09cb41438573">Caster</a> (NTL::zz_p &amp;x, const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of field element from an integer.  <a href="#a368e9720227c954eccba09cb41438573"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a0b7239434dafeb95136afd7954feef7d">Caster</a> (<a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;x, const NTL::zz_p &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Conversion of field element to an integer.  <a href="#a0b7239434dafeb95136afd7954feef7d"></a><br/></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_lin_box.html#a9f28f944e2fa140fcb3fbe4e2016e7e3">operator&lt;&lt;</a> (std::ostream &amp;o, const <a class="el" href="class_lin_box_1_1_dense_submatrix.html">DenseSubmatrix</a>&lt; T &gt; &amp;Mat)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a matrix to a stream.  <a href="#a9f28f944e2fa140fcb3fbe4e2016e7e3"></a><br/></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_lin_box.html#a24e72182f5fa38239c586fb1bec93798">operator&lt;&lt;</a> (std::ostream &amp;o, const <a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a>&lt; T &gt; &amp;Mat)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a matrix to a stream.  <a href="#a24e72182f5fa38239c586fb1bec93798"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a62f5b68db6d41c89bdbbc9c5645199c6">RandomBlasPermutation</a> (<a class="el" href="class_lin_box_1_1_blas_permutation.html">BlasPermutation</a>&lt; size_t &gt; &amp;P)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Randiter , class Field &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_dense_matrix.html">DenseMatrix</a>&lt; Field &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a062505f4beed42f63bcf15ae572742c4">random_lu_rank</a> (const Field &amp;F, const Randiter &amp;R, <a class="el" href="class_lin_box_1_1_dense_matrix.html">DenseMatrix</a>&lt; Field &gt; &amp;A, int &amp;rank)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Randiter &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_blas_matrix.html">BlasMatrix</a>&lt; <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ae2318627f7e5e7cd4aac7b3bd6c2112e">random_rankupdate</a> (<a class="el" href="class_lin_box_1_1_p_i_d__integer.html">PID_integer</a> &amp;F, const Randiter &amp;R, <a class="el" href="class_lin_box_1_1_blas_matrix.html">BlasMatrix</a>&lt; <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &gt; &amp;A, int &amp;rank)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Blackbox , class Polynomial , class MyMethod &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_lin_box.html#a7fb61f8aa643e00fae1c69e43fc823dd">charpoly</a> (Polynomial &amp;P, const Blackbox &amp;A, const MyMethod &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">...using an optional <a class="el" href="struct_lin_box_1_1_method.html" title="Method specifiers for controlling algorithm choice.">Method</a> parameter  <a href="#a7fb61f8aa643e00fae1c69e43fc823dd"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a89d993ce46d87c11a58e4d9b3cbac0af"></a><!-- doxytag: member="LinBox::charpoly" ref="a89d993ce46d87c11a58e4d9b3cbac0af" args="(Polynomial &amp;P, const Blackbox &amp;A)" -->
template&lt;class Blackbox , 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_lin_box.html#a89d993ce46d87c11a58e4d9b3cbac0af">charpoly</a> (Polynomial &amp;P, const Blackbox &amp;A)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">...using default method <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Polynomial , class Blackbox &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_lin_box.html#ac2830fba6794de0cca9690e3e4ecf981">charpoly</a> (Polynomial &amp;P, const Blackbox &amp;A, const RingCategories::ModularTag &amp;tag, const <a class="el" href="struct_lin_box_1_1_method.html#ae72ae4bbae70adf0514c807be2037706">Method::BlasElimination</a> &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the characteristic polynomial over <img class="formulaInl" alt="$\mathbf{Z}_p$" src="form_68.png"/>.  <a href="#ac2830fba6794de0cca9690e3e4ecf981"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Polynomial , class Blackbox &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_lin_box.html#a3be4daa14be14c799d2884536ecf5de3">charpoly</a> (Polynomial &amp;P, const Blackbox &amp;A, const RingCategories::ModularTag &amp;tag, const <a class="el" href="struct_lin_box_1_1_blackbox_specifier.html">Method::Blackbox</a> &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the characteristic polynomial over <img class="formulaInl" alt="$\mathbf{Z}_p$" src="form_68.png"/>.  <a href="#a3be4daa14be14c799d2884536ecf5de3"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Blackbox , class DetMethod , class DomainCategory &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Blackbox::Field::Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__solutions.html#ga9cfcc847d3a7deac68ad6d98e0cd384f">det</a> (typename Blackbox::Field::Element &amp;d, const Blackbox &amp;A, const DomainCategory &amp;tag, const DetMethod &amp;Meth)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the determinant of A.  <a href="group__solutions.html#ga9cfcc847d3a7deac68ad6d98e0cd384f"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Field::Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__solutions.html#ga0f81b856e81c10fb0fd51feac04d93ea">detin</a> (typename Field::Element &amp;d, <a class="el" href="class_lin_box_1_1_blas_blackbox.html">BlasBlackbox</a>&lt; Field &gt; &amp;A)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rank of Blackbox <code>A</code>.  <a href="group__solutions.html#ga0f81b856e81c10fb0fd51feac04d93ea"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a28206bc2abcb8f155b344f1fcdf627d1"></a><!-- doxytag: member="LinBox::getEntry" ref="a28206bc2abcb8f155b344f1fcdf627d1" args="(typename BB::Field::Element &amp;x, const BB &amp;A, const size_t i, const size_t j)" -->
template&lt;class BB &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">BB::Field::Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a28206bc2abcb8f155b344f1fcdf627d1">getEntry</a> (typename BB::Field::Element &amp;x, const BB &amp;A, const size_t i, const size_t j)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Getting the i,j entry of the blackbox. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="abbbfef5aabb60e3bed941f93f2804e7b"></a><!-- doxytag: member="LinBox::getEntry" ref="abbbfef5aabb60e3bed941f93f2804e7b" args="(typename BB::Field::Element &amp;x, const BB &amp;A, const size_t i, const size_t j, Method &amp;m)" -->
template&lt;class BB , class Method &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">BB::Field::Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#abbbfef5aabb60e3bed941f93f2804e7b">getEntry</a> (typename BB::Field::Element &amp;x, const BB &amp;A, const size_t i, const size_t j, <a class="el" href="struct_lin_box_1_1_method.html">Method</a> &amp;m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">To ignore methods. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Blackbox , class MyMethod &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a2370903b180cda9ec52b3103e9ff8911">isPositiveDefinite</a> (const Blackbox &amp;A, const MyMethod &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the isPositiveDefinite of A.  <a href="#a2370903b180cda9ec52b3103e9ff8911"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Blackbox , class MyMethod &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#aa73971f8b4fca47cc0fcf9fbd9f589ab">isPositiveSemiDefinite</a> (const Blackbox &amp;A, const MyMethod &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the isPositiveSemiDefinite of A.  <a href="#aa73971f8b4fca47cc0fcf9fbd9f589ab"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Blackbox , class Polynomial , class MyMethod &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_lin_box.html#afc437b19a719b8292af9575a1c6b6b8a">minpoly</a> (Polynomial &amp;P, const Blackbox &amp;A, const MyMethod &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">...using an optional <a class="el" href="struct_lin_box_1_1_method.html" title="Method specifiers for controlling algorithm choice.">Method</a> parameter  <a href="#afc437b19a719b8292af9575a1c6b6b8a"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="aadce1039c042f2cedc8f8a3840af28b8"></a><!-- doxytag: member="LinBox::minpoly" ref="aadce1039c042f2cedc8f8a3840af28b8" args="(Polynomial &amp;P, const Blackbox &amp;A)" -->
template&lt;class Polynomial , class Blackbox &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_lin_box.html#aadce1039c042f2cedc8f8a3840af28b8">minpoly</a> (Polynomial &amp;P, const Blackbox &amp;A)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">...using default <a class="el" href="struct_lin_box_1_1_method.html" title="Method specifiers for controlling algorithm choice.">Method</a> <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Blackbox , class Method , class DomainCategory &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned long &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__solutions.html#gaae3c1f7fd3319410ac4fc3e4e3afdd01">rank</a> (unsigned long &amp;r, const Blackbox &amp;A, const DomainCategory &amp;tag, const <a class="el" href="struct_lin_box_1_1_method.html">Method</a> &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the rank of a linear transform A over a field by selected method.  <a href="group__solutions.html#gaae3c1f7fd3319410ac4fc3e4e3afdd01"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Blackbox &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned long &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__solutions.html#gafb22cbd97ffc18527d2b3175367b9430">rank</a> (unsigned long &amp;r, const Blackbox &amp;A)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the rank of a linear transform A over a field.  <a href="group__solutions.html#gafb22cbd97ffc18527d2b3175367b9430"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned long &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ac9442bdcae8ef5fc90e5a255630bffa7">rankin</a> (unsigned long &amp;r, Matrix &amp;A)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rank of <code>A</code>.  <a href="#ac9442bdcae8ef5fc90e5a255630bffa7"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Blackbox , class Method &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned long &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__solutions.html#ga4a75466958f4a212f09223d0c3eb1edc">rank</a> (unsigned long &amp;r, const Blackbox &amp;A, const <a class="el" href="struct_lin_box_1_1_method.html">Method</a> &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the rank of a linear transform A over a field.  <a href="group__solutions.html#ga4a75466958f4a212f09223d0c3eb1edc"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a69ad249cf8a881328d3bc1cc9b9a04cf"></a><!-- doxytag: member="LinBox::rank" ref="a69ad249cf8a881328d3bc1cc9b9a04cf" args="(unsigned long &amp;res, const Blackbox &amp;A, const RingCategories::ModularTag &amp;tag, const Method::Wiedemann &amp;M)" -->
template&lt;class Blackbox &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned long &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a69ad249cf8a881328d3bc1cc9b9a04cf">rank</a> (unsigned long &amp;res, const Blackbox &amp;A, const RingCategories::ModularTag &amp;tag, const <a class="el" href="struct_lin_box_1_1_method.html#a95658bcef98e7d0868b2e35d7ce03392">Method::Wiedemann</a> &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">M may be <code><a class="el" href="struct_lin_box_1_1_method.html#a95658bcef98e7d0868b2e35d7ce03392" title="Method::Wiedemann : no doc.">Method::Wiedemann()</a></code>. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a4c2d7f3db0924435287043a8dcfa9382"></a><!-- doxytag: member="LinBox::rank" ref="a4c2d7f3db0924435287043a8dcfa9382" args="(unsigned long &amp;r, const SparseMatrix&lt; Field, typename LinBox::Vector&lt; Field &gt;::SparseSeq &gt; &amp;A, const RingCategories::ModularTag &amp;tag, const Method::SparseElimination &amp;M)" -->
template&lt;class Field &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned long &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a4c2d7f3db0924435287043a8dcfa9382">rank</a> (unsigned long &amp;r, const <a class="el" href="class_lin_box_1_1_sparse_matrix.html">SparseMatrix</a>&lt; Field, typename LinBox::Vector&lt; Field &gt;::SparseSeq &gt; &amp;A, const RingCategories::ModularTag &amp;tag, const <a class="el" href="struct_lin_box_1_1_method.html#abc071c5d851893868ab7a0c0d8ee34cb">Method::SparseElimination</a> &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">M may be <code><a class="el" href="struct_lin_box_1_1_method.html#abc071c5d851893868ab7a0c0d8ee34cb" title="Method::SparseElimination : no doc.">Method::SparseElimination()</a></code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6510e5eb5aafade7de6563a841ad938"></a><!-- doxytag: member="LinBox::rankin" ref="ae6510e5eb5aafade7de6563a841ad938" args="(unsigned long &amp;r, GaussDomain&lt; GF2 &gt;::Matrix &amp;A, const Method::SparseElimination &amp;)" -->
unsigned long &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ae6510e5eb5aafade7de6563a841ad938">rankin</a> (unsigned long &amp;r, <a class="el" href="class_lin_box_1_1_gauss_domain.html">GaussDomain</a>&lt; GF2 &gt;::Matrix &amp;A, const <a class="el" href="struct_lin_box_1_1_method.html#abc071c5d851893868ab7a0c0d8ee34cb">Method::SparseElimination</a> &amp;)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">specialization to <img class="formulaInl" alt="$ \mathbf{F}_2 $" src="form_69.png"/> <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d9083f5d87fbffbf9894c6e48434967"></a><!-- doxytag: member="LinBox::rankin" ref="a5d9083f5d87fbffbf9894c6e48434967" args="(unsigned long &amp;r, GaussDomain&lt; GF2 &gt;::Matrix &amp;A, const RingCategories::ModularTag &amp;, const Method::SparseElimination &amp;M)" -->
unsigned long &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a5d9083f5d87fbffbf9894c6e48434967">rankin</a> (unsigned long &amp;r, <a class="el" href="class_lin_box_1_1_gauss_domain.html">GaussDomain</a>&lt; GF2 &gt;::Matrix &amp;A, const RingCategories::ModularTag &amp;, const <a class="el" href="struct_lin_box_1_1_method.html#abc071c5d851893868ab7a0c0d8ee34cb">Method::SparseElimination</a> &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">specialization to <img class="formulaInl" alt="$ \mathbf{F}_2 $" src="form_69.png"/> <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a50619633c2db6122c172a9aebe624f7d"></a><!-- doxytag: member="LinBox::rankin" ref="a50619633c2db6122c172a9aebe624f7d" args="(unsigned long &amp;r, BlasBlackbox&lt; Field &gt; &amp;A, const RingCategories::ModularTag &amp;tag, const Method::BlasElimination &amp;M)" -->
template&lt;class Field &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned long &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a50619633c2db6122c172a9aebe624f7d">rankin</a> (unsigned long &amp;r, <a class="el" href="class_lin_box_1_1_blas_blackbox.html">BlasBlackbox</a>&lt; Field &gt; &amp;A, const RingCategories::ModularTag &amp;tag, const <a class="el" href="struct_lin_box_1_1_method.html#ae72ae4bbae70adf0514c807be2037706">Method::BlasElimination</a> &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A is modified. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Output , class Blackbox , class MyMethod &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Output &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__solutions.html#gadebecfaca29a9dbb684a65b9e1e4bc72">smithForm</a> (Output &amp;S, const Blackbox &amp;A, const MyMethod &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the Smith form of A.  <a href="group__solutions.html#gadebecfaca29a9dbb684a65b9e1e4bc72"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Vector , class Blackbox , class SolveMethod &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Vector &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__solutions.html#gaeb41d28dc7bebfd5a24b7642631e9817">solve</a> (Vector &amp;x, const Blackbox &amp;A, const Vector &amp;b, const SolveMethod &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Solve Ax = b, for x.  <a href="group__solutions.html#gaeb41d28dc7bebfd5a24b7642631e9817"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Vector , class BB &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Vector &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a8fa4301051f45a21d16461847268bb5d">solve</a> (Vector &amp;x, const BB &amp;A, const Vector &amp;b, const <a class="el" href="struct_lin_box_1_1_elimination_specifier.html">Method::Elimination</a> &amp;m)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ad15879303a161ce8b2988494e26b3672"></a><!-- doxytag: member="LinBox::solve" ref="ad15879303a161ce8b2988494e26b3672" args="(Vector &amp;x, typename Ring::Element &amp;d, const BlasBlackbox&lt; Ring &gt; &amp;A, const Vector &amp;b, const RingCategories::IntegerTag tag, Method::Dixon &amp;m)" -->
template&lt;class Vector , class Ring &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Vector &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ad15879303a161ce8b2988494e26b3672">solve</a> (Vector &amp;x, typename Ring::Element &amp;d, const <a class="el" href="class_lin_box_1_1_blas_blackbox.html">BlasBlackbox</a>&lt; Ring &gt; &amp;A, const Vector &amp;b, const RingCategories::IntegerTag tag, <a class="el" href="struct_lin_box_1_1_method.html#af928c54974ce01595dc7528dae1d4f37">Method::Dixon</a> &amp;m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">solver specialization with the 2nd API and DixonTraits over integer (no copying) <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="aeead6860a1058bf61632a15b70384c99"></a><!-- doxytag: member="LinBox::solve" ref="aeead6860a1058bf61632a15b70384c99" args="(Vector &amp;x, typename Ring::Element &amp;d, const DenseMatrix&lt; Ring &gt; &amp;A, const Vector &amp;b, const RingCategories::IntegerTag tag, Method::Dixon &amp;m)" -->
template&lt;class Vector , class Ring &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Vector &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#aeead6860a1058bf61632a15b70384c99">solve</a> (Vector &amp;x, typename Ring::Element &amp;d, const <a class="el" href="class_lin_box_1_1_dense_matrix.html">DenseMatrix</a>&lt; Ring &gt; &amp;A, const Vector &amp;b, const RingCategories::IntegerTag tag, <a class="el" href="struct_lin_box_1_1_method.html#af928c54974ce01595dc7528dae1d4f37">Method::Dixon</a> &amp;m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">solver specialization with the 2nd API and DixonTraits over integer (no copying) <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="af09e1b1e2e0b6787887855d7a0abf556"></a><!-- doxytag: member="LinBox::solve" ref="af09e1b1e2e0b6787887855d7a0abf556" args="(Vect &amp;x, typename Ring::Element &amp;d, const SparseMatrix&lt; Ring, typename Vector&lt; Ring &gt;::SparseSeq &gt; &amp;A, const Vect &amp;b, const RingCategories::IntegerTag tag, Method::Dixon &amp;m)" -->
template&lt;class Vect , class Ring &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Vect &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#af09e1b1e2e0b6787887855d7a0abf556">solve</a> (Vect &amp;x, typename Ring::Element &amp;d, const <a class="el" href="class_lin_box_1_1_sparse_matrix.html">SparseMatrix</a>&lt; Ring, typename Vector&lt; Ring &gt;::SparseSeq &gt; &amp;A, const Vect &amp;b, const RingCategories::IntegerTag tag, <a class="el" href="struct_lin_box_1_1_method.html#af928c54974ce01595dc7528dae1d4f37">Method::Dixon</a> &amp;m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">solver specialization with the 2nd API and DixonTraits over integer (no copying) <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class BB &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">BB::Field::Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a619ce2a5bfbc6aa078fb667c4beb03a0">trace</a> (typename BB::Field::Element &amp;t, const BB &amp;A)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_lin_box_1_1_sum.html" title="blackbox of a matrix sum without copying.">Sum</a> of the eigenvalues.  <a href="#a619ce2a5bfbc6aa078fb667c4beb03a0"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Blackbox , class MyMethod &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Blackbox::Field::Element &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__solutions.html#ga4c6000cb4741bed819d3c384bc254954">valence</a> (typename Blackbox::Field::Element &amp;v, const Blackbox &amp;A, const MyMethod &amp;M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the valence of A.  <a href="group__solutions.html#ga4c6000cb4741bed819d3c384bc254954"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Field , class Vector &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Vector&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a98a1f20bc15b825c7d9862eb3431b3c9">randomVector</a> (Field &amp;F, size_t n, typename Field::RandIter &amp;r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Random vector generator This templated function takes a field and a random field element generator and returns a vector of random field elements.  <a href="#a98a1f20bc15b825c7d9862eb3431b3c9"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Butterfly</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="el" href="class_lin_box_1_1_butterfly.html" title="Switching Network based BlackBox Matrix.">Butterfly</a> preconditioner and supporting function </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a7de97554b4701d836d3da9cb4f71c230">setButterfly</a> (const std::vector&lt; bool &gt; &amp;x, size_t j=0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A function used with <a class="el" href="class_lin_box_1_1_butterfly.html" title="Switching Network based BlackBox Matrix.">Butterfly</a> Blackbox Matrices.  <a href="#a7de97554b4701d836d3da9cb4f71c230"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">class RR.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Rational number field.</p>
<p>This field is provided as a convenience in a few places. Use with caution because expression swell.</p>
<p>This specialization allows the <a class="el" href="group___unparametric_field.html">UnparametricField</a> template class to be used to wrap NTL's RR class as a <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> field. </p>
</div></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::RR &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#aa2ae8526b2a1f642b139f346c2c537a6">Caster</a> (NTL::RR &amp;x, const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of field element from an integer.  <a href="#aa2ae8526b2a1f642b139f346c2c537a6"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::RR &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a2f869a5ee103cbb15c16808aac8bed81">Caster</a> (NTL::RR &amp;x, const double &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of field element from an integer.  <a href="#a2f869a5ee103cbb15c16808aac8bed81"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::RR &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#af35ac30207e347bf501959389e28799b">Caster</a> (NTL::RR &amp;x, const int &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of field element from an integer.  <a href="#af35ac30207e347bf501959389e28799b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#ad6305421e51085615fdc9fc462270eec">Caster</a> (<a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;x, const NTL::RR &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Conversion of field element to an integer.  <a href="#ad6305421e51085615fdc9fc462270eec"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">NTL_ZZ_p</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Arbitrary precision integers modulus a positive integer.</p>
<p>While NTL allows any integer to serve as the modulus, only prime moduli yield fields. Therefore, while arthmetic operations may be valid for any modulus, only prime moduli are supported in this implementation. The primality of the modulus will not be checked, so it is the programmer's responsibility to supply a prime modulus. These specializations allow the <a class="el" href="group___unparametric_field.html">UnparametricField</a> template class to be used to wrap NTL's <code>ZZ_p</code> class as a <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> field. </p>
</div></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::ZZ_p &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__field.html#ga29a8fa912b359a55983a88930abfbc8b">Caster</a> (NTL::ZZ_p &amp;x, const <a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of field element from an integer.  <a href="group__field.html#ga29a8fa912b359a55983a88930abfbc8b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::ZZ_p &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__field.html#ga792e72b0e3810ac1c0664f5d7b150415">Caster</a> (NTL::ZZ_p &amp;x, const double &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of field element from an integer.  <a href="group__field.html#ga792e72b0e3810ac1c0664f5d7b150415"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::ZZ_p &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__field.html#gacf98be2f777fc10598c9886270118309">Caster</a> (NTL::ZZ_p &amp;x, const int &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of field element from an integer.  <a href="group__field.html#gacf98be2f777fc10598c9886270118309"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::ZZ_p &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__field.html#gabfee43ab412e1912453c5590c66e9782">Caster</a> (NTL::ZZ_p &amp;x, const unsigned long &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of field element from an integer.  <a href="group__field.html#gabfee43ab412e1912453c5590c66e9782"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">NTL::ZZ_p &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__field.html#ga0af493825024942fe0f09d51ae3d6c1e">Caster</a> (NTL::ZZ_p &amp;x, const unsigned int &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization of field element from an integer.  <a href="group__field.html#ga0af493825024942fe0f09d51ae3d6c1e"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#aec4075f70ae6847fe6240ccdd4943736">Caster</a> (<a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a> &amp;x, const NTL::ZZ_p &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Conversion of field element to an integer.  <a href="#aec4075f70ae6847fe6240ccdd4943736"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">double &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespace_lin_box.html#a3a9341d58fdd32d62fe135e7a5d74592">Caster</a> (double &amp;x, const NTL::ZZ_p &amp;y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Conversion of field element to an integer.  <a href="#a3a9341d58fdd32d62fe135e7a5d74592"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Namespace in which all linbox code resides. </p>
<p>The subdirectories of <code>linbox/</code> contain the template source code for all the <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> functionality. See the <a href="modules.html">Modules</a> list for the documentation of the main parts of linbox.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>The timer comes from Givaro and lives in its anonymous namespace. </dd></dl>
</div><hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ad64ffbead496419ef09faaccc43ec9f6"></a><!-- doxytag: member="LinBox::SolveResult" ref="ad64ffbead496419ef09faaccc43ec9f6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespace_lin_box.html#ad64ffbead496419ef09faaccc43ec9f6">SolveResult</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enumeration for results of next solver. </p>
<p>SOLVE_SUCCESSFUL - System solution was succesful, <code>x</code> holds the solution vector SOLVE_INCONSISTENT - System was inconsistent, <code>u</code> holds the certificate of inconsistency and <code>x</code> is untouched SOLVE_FAILED - Neither a system solution nor a certificate of inconsistency could be obtained before the maximum number of trials elapsed. Both <code>x</code> and <code>u</code> are untouched. </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a353c2c55c4d1fd5b35e9b4e04c274982"></a><!-- doxytag: member="LinBox::solve" ref="a353c2c55c4d1fd5b35e9b4e04c274982" args="(const Blackbox &amp;A, Vector &amp;x, const Vector &amp;b, Vector &amp;u, const Field &amp;F, const WiedemannTraits &amp;traits=WiedemannTraits())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_wiedemann_solver.html">WiedemannSolver</a>&lt;Field&gt;::ReturnStatus LinBox::solve </td>
          <td>(</td>
          <td class="paramtype">const Blackbox &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Vector &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector &amp;&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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 WiedemannTraits &amp;&#160;</td>
          <td class="paramname"><em>traits</em> = <code>WiedemannTraits&#160;()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Solve Ax=b over field F using Wiedemann's method, with inconsistency certificate. </p>
<p>This is a general interface for the linear system solving capabilities of <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a>. If the system is nonsingular, it returns the unique solution, storing it in the vector x. If the system is consistent and singular, it returns a random solution. Repeated calls to this function can give a complete description of the solution manifold. If the system is inconsistent and the <a class="el" href="struct_lin_box_1_1_solver_traits.html">SolverTraits</a> structure supplied requests certification of inconsistency, it fills in the certificate of inconsistency. Otherwise, it runs through the number of iterations specified in <code>traits</code> and throws a <a class="el" href="class_lin_box_1_1_solve_failed.html">SolveFailed</a> exception if it cannot find a solution.</p>
<p>This specialization uses Wiedemann's algorithm and is the default.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">A</td><td>Black box matrix of the system </td></tr>
    <tr><td class="paramname">x</td><td>Place to store solution vector </td></tr>
    <tr><td class="paramname">b</td><td>Right-hand side </td></tr>
    <tr><td class="paramname">u</td><td>Vector in which to store certificate of inconsistency, if required </td></tr>
    <tr><td class="paramname">F</td><td>Field over which to perform computations </td></tr>
    <tr><td class="paramname">traits</td><td><a class="el" href="struct_lin_box_1_1_solver_traits.html">SolverTraits</a> structure with user-specified parameters </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to solution vector </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="examples_2checksolve_8_c-example.html#a6">examples/checksolve.C</a>, and <a class="el" href="examples_2solve_8_c-example.html#a11">examples/solve.C</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab51deda82e20af566991b6f525ada9b8"></a><!-- doxytag: member="LinBox::solve" ref="ab51deda82e20af566991b6f525ada9b8" args="(const Blackbox &amp;A, Vector &amp;x, const Vector &amp;b, const Field &amp;F, const WiedemannTraits &amp;traits=WiedemannTraits())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Vector&amp; LinBox::solve </td>
          <td>(</td>
          <td class="paramtype">const Blackbox &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Vector &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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 WiedemannTraits &amp;&#160;</td>
          <td class="paramname"><em>traits</em> = <code>WiedemannTraits&#160;()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Solve Ax=b over field F using the Wiedemann method. </p>
<p>This version differs from the one above in that there is no extra parameter for the certificate of inconsistency, and it throws exceptions if the solution fails. It also returns a reference to the solution vector. </p>

</div>
</div>
<a class="anchor" id="a4866ce5ad2662f9db4dc4cd2232f1be9"></a><!-- doxytag: member="LinBox::solve" ref="a4866ce5ad2662f9db4dc4cd2232f1be9" args="(const Blackbox &amp;A, Vector &amp;x, const Vector &amp;b, const Field &amp;F, const LanczosTraits &amp;traits)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Vector&amp; LinBox::solve </td>
          <td>(</td>
          <td class="paramtype">const Blackbox &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Vector &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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 LanczosTraits &amp;&#160;</td>
          <td class="paramname"><em>traits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Solve Ax=b over field F using the Lanczos method. </p>
<p>This is a general interface for the linear system solving capabilities of <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a>. If the system is nonsingular, it returns the unique solution, storing it in the vector x. If the system is consistent and singular, it returns a random solution. Repeated calls to this function can give a complete description of the solution manifold. If the system is inconsistent and the <a class="el" href="struct_lin_box_1_1_solver_traits.html">SolverTraits</a> structure has result checking turned on, it runs through the number of iterations specified in <code>traits</code> and throws a <a class="el" href="class_lin_box_1_1_solve_failed.html">SolveFailed</a> exception if it cannot find a solution.</p>
<p>This specialization uses the Lanczos algorithm.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">A</td><td>Black box matrix of the system </td></tr>
    <tr><td class="paramname">x</td><td>Place to store solution vector </td></tr>
    <tr><td class="paramname">b</td><td>Right-hand side </td></tr>
    <tr><td class="paramname">F</td><td>Field over which to perform computations </td></tr>
    <tr><td class="paramname">traits</td><td><a class="el" href="struct_lin_box_1_1_solver_traits.html">SolverTraits</a> structure with user-specified parameters </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to solution vector </dd></dl>

</div>
</div>
<a class="anchor" id="a47157078c2eaced11b6ad55584ad1198"></a><!-- doxytag: member="LinBox::solve" ref="a47157078c2eaced11b6ad55584ad1198" args="(const Blackbox &amp;A, Vector &amp;x, const Vector &amp;b, const Field &amp;F, const BlockLanczosTraits &amp;traits)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Vector&amp; LinBox::solve </td>
          <td>(</td>
          <td class="paramtype">const Blackbox &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Vector &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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 BlockLanczosTraits &amp;&#160;</td>
          <td class="paramname"><em>traits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Solve Ax=b over field F using the block Lanczos method. </p>
<p>This is a general interface for the linear system solving capabilities of <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a>. If the system is nonsingular, it returns the unique solution, storing it in the vector x. If the system is consistent and singular, it returns a random solution. Repeated calls to this function can give a complete description of the solution manifold. If the system is inconsistent and the <a class="el" href="struct_lin_box_1_1_solver_traits.html">SolverTraits</a> structure has result checking turned on, it runs through the number of iterations specified in <code>traits</code> and throws a <a class="el" href="class_lin_box_1_1_solve_failed.html">SolveFailed</a> exception if it cannot find a solution.</p>
<p>This specialization uses the block Lanczos algorithm.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">A</td><td>Black box matrix of the system </td></tr>
    <tr><td class="paramname">x</td><td>Place to store solution vector </td></tr>
    <tr><td class="paramname">b</td><td>Right-hand side </td></tr>
    <tr><td class="paramname">F</td><td>Field over which to perform computations </td></tr>
    <tr><td class="paramname">traits</td><td><a class="el" href="struct_lin_box_1_1_solver_traits.html">SolverTraits</a> structure with user-specified parameters </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to solution vector </dd></dl>

</div>
</div>
<a class="anchor" id="ae53f94e0c5aabdc1f15ba53051be58b5"></a><!-- doxytag: member="LinBox::solve" ref="ae53f94e0c5aabdc1f15ba53051be58b5" args="(const Matrix &amp;A, Vector &amp;x, const Vector &amp;b, const Field &amp;F, const BlasEliminationTraits &amp;traits)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Vector&amp; LinBox::solve </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Vector &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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 BlasEliminationTraits &amp;&#160;</td>
          <td class="paramname"><em>traits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Solve Ax=b over field F using Gaussian elimination. </p>
<p>This is a general interface for the linear system solving capabilities of <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a>. If the system is nonsingular, it returns the unique solution, storing it in the vector x. If the system is consistent and singular, it returns a random solution. Repeated calls to this function can give a complete description of the solution manifold. If the system is inconsistent and the <a class="el" href="struct_lin_box_1_1_solver_traits.html">SolverTraits</a> structure supplied requests certification of inconsistency, it throws an <a class="el" href="class_lin_box_1_1_inconsistent_system.html">InconsistentSystem</a> exception, which includes a certificate of inconsistency. Otherwise, it runs through the number of iterations specified in <code>traits</code> and throws a <a class="el" href="class_lin_box_1_1_solve_failed.html">SolveFailed</a> exception if it cannot find a solution.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">A</td><td>Black box matrix of the system </td></tr>
    <tr><td class="paramname">x</td><td>Place to store solution vector </td></tr>
    <tr><td class="paramname">b</td><td>Right-hand side </td></tr>
    <tr><td class="paramname">F</td><td>Field over which to perform computations </td></tr>
    <tr><td class="paramname">traits</td><td><a class="el" href="struct_lin_box_1_1_solver_traits.html">SolverTraits</a> structure with user-specified parameters </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to solution vector </dd></dl>

</div>
</div>
<a class="anchor" id="a2b5824d299555f151adc16639c5f3e1c"></a><!-- doxytag: member="LinBox::solve" ref="a2b5824d299555f151adc16639c5f3e1c" args="(const Blackbox &amp;A, Vector &amp;x, const Vector &amp;b, const Field &amp;F, Vector &amp;u, const MethodTraits &amp;traits=MethodTraits())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespace_lin_box.html#ad64ffbead496419ef09faaccc43ec9f6">SolveResult</a> LinBox::solve </td>
          <td>(</td>
          <td class="paramtype">const Blackbox &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Vector &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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">Vector &amp;&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MethodTraits &amp;&#160;</td>
          <td class="paramname"><em>traits</em> = <code>MethodTraits&#160;()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Solve Ax=b over field F, returning consistency indicator. </p>
<p>This is a variant of <code>solve</code> that does not throw any exceptions unless the user makes an error. It returns a <a class="el" href="namespace_lin_box.html#ad64ffbead496419ef09faaccc43ec9f6">SolveResult</a> enum indicating whether the solve operation was successful, the system was inconsistent, or the solve operation failed. The certificate of inconsistency, if requested, is stored in a reference parameter supplied to this variant.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">A</td><td>Black box matrix of the system </td></tr>
    <tr><td class="paramname">x</td><td>Place to store solution vector </td></tr>
    <tr><td class="paramname">b</td><td>Right-hand side </td></tr>
    <tr><td class="paramname">u</td><td>Place to store certificate of inconsistency </td></tr>
    <tr><td class="paramname">F</td><td>Field over which to perform computations </td></tr>
    <tr><td class="paramname">traits</td><td><a class="el" href="struct_lin_box_1_1_solver_traits.html">SolverTraits</a> structure with user-specified parameters </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="namespace_lin_box.html#ad64ffbead496419ef09faaccc43ec9f6">SolveResult</a> indicating whether the solve operation was successful </dd></dl>

</div>
</div>
<a class="anchor" id="a9de4647eef3b1d7d091c3f1051cc3600"></a><!-- doxytag: member="LinBox::NullSpaceBasis" ref="a9de4647eef3b1d7d091c3f1051cc3600" args="(const Field &amp;F, const LinBoxTag::Side Side, const size_t &amp;m, const size_t &amp;n, typename Field::Element *A, const size_t &amp;lda, typename Field::Element *&amp;Ker, size_t &amp;ldk, size_t &amp;kerdim)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t NullSpaceBasis </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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 LinBoxTag::Side&#160;</td>
          <td class="paramname"><em>Side</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t &amp;&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Field::Element *&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t &amp;&#160;</td>
          <td class="paramname"><em>lda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Field::Element *&amp;&#160;</td>
          <td class="paramname"><em>Ker</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>ldk</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>kerdim</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the kernel of a dense matrix using <code>LQUP</code>. </p>
<p>Acccording to the dimensions of the input matrix, we chose different methods. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>timings may vary and these choices were made on an experimental basis.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">F</td><td>Field </td></tr>
    <tr><td class="paramname">Side</td><td>left or right from <code>LinBox::SideTag</code> </td></tr>
    <tr><td class="paramname">m</td><td>rows </td></tr>
    <tr><td class="paramname">n</td><td>cols </td></tr>
    <tr><td class="paramname">A</td><td>input matrix </td></tr>
    <tr><td class="paramname">lda</td><td>leading dimension of A </td></tr>
    <tr><td class="paramname">Ker</td><td>Kernel. <code>NULL</code> if <code>kerdim==0</code> </td></tr>
    <tr><td class="paramname">ldk</td><td>leading dimension of the kernel. </td></tr>
    <tr><td class="paramname">kerdim</td><td>dimension of the kernel. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>dimension of the kernel.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>A is modified. </dd></dl>

</div>
</div>
<a class="anchor" id="a8b7fce5e394fc79d22cefb18b791bed5"></a><!-- doxytag: member="LinBox::NullSpaceBasis" ref="a8b7fce5e394fc79d22cefb18b791bed5" args="(const Field &amp;F, const LinBoxTag::Side Side, BlasMatrix&lt; typename Field::Element &gt; &amp;A, BlasMatrix&lt; typename Field::Element &gt; &amp;Ker, size_t &amp;kerdim)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t &amp; NullSpaceBasis </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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 LinBoxTag::Side&#160;</td>
          <td class="paramname"><em>Side</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BlasMatrix&lt; typename Field::Element &gt; &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BlasMatrix&lt; typename Field::Element &gt; &amp;&#160;</td>
          <td class="paramname"><em>Ker</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>kerdim</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Nullspace of a dense matrix on a finite field. </p>
<p>A is modified. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">F</td><td>field </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">Side</td><td><code>SideTag::Left</code> or <code>SideTag::Right</code> nullspace. </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">A</td><td>Input matrix </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">Ker</td><td>Nullspace of the matrix (Allocated in the routine) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">kerdim</td><td>rank of the kernel </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>kerdim</code> </dd></dl>

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>this is slow : use a constructor from Ker ? </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>this is slow : use a constructor from Ker ? </dd></dl>
</p>

</div>
</div>
<a class="anchor" id="a7eb625f3fa68ec02002643bc75644458"></a><!-- doxytag: member="LinBox::NullSpaceBasis" ref="a7eb625f3fa68ec02002643bc75644458" args="(const Field &amp;F, const LinBoxTag::Side Side, const BlasMatrix&lt; typename Field::Element &gt; &amp;A, BlasMatrix&lt; typename Field::Element &gt; &amp;Ker, size_t &amp;kerdim)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t&amp; LinBox::NullSpaceBasis </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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 LinBoxTag::Side&#160;</td>
          <td class="paramname"><em>Side</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const BlasMatrix&lt; typename Field::Element &gt; &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BlasMatrix&lt; typename Field::Element &gt; &amp;&#160;</td>
          <td class="paramname"><em>Ker</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>kerdim</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Nullspace of a dense matrix on a finite field. </p>
<p>A is preserved. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">F</td><td>field </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">Side</td><td><code>SideTag::Left</code> or <code>SideTag::Right</code> nullspace. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">A</td><td>Input matrix </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">Ker</td><td>Nullspace of the matrix (Allocated in the routine) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">kerdim</td><td>rank of the kernel </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>kerdim</code> </dd></dl>

</div>
</div>
<a class="anchor" id="a9c581ec3a907bcc9bb26a32546b91c52"></a><!-- doxytag: member="LinBox::Zero" ref="a9c581ec3a907bcc9bb26a32546b91c52" args="(const Field &amp;F, typename Field::Element *Z, const size_t ldZ, const size_t lig1, const size_t col1, const size_t lig2, const size_t col2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LinBox::Zero </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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">typename Field::Element *&#160;</td>
          <td class="paramname"><em>Z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>ldZ</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>lig1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>col1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>lig2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>col2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">F</td><td></td></tr>
    <tr><td class="paramname">Z</td><td></td></tr>
    <tr><td class="paramname">ldZ</td><td></td></tr>
    <tr><td class="paramname">lig1</td><td></td></tr>
    <tr><td class="paramname">col1</td><td></td></tr>
    <tr><td class="paramname">lig2</td><td></td></tr>
    <tr><td class="paramname">col2</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a15d077ee6e164c30b744e65432931420"></a><!-- doxytag: member="LinBox::Identity" ref="a15d077ee6e164c30b744e65432931420" args="(const Field &amp;F, typename Field::Element *Id, const size_t ldI, const size_t lig1, const size_t col1, const size_t lig2, const size_t col2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LinBox::Identity </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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">typename Field::Element *&#160;</td>
          <td class="paramname"><em>Id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>ldI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>lig1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>col1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>lig2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>col2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates identity matrix in <code>F</code> of size <code>dim1</code> <code>x</code> <code>dim2</code>. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>diag_num peut être &lt; 0 ! </dd></dl>
<dl class="bug"><dt><b><a class="el" href="bug.html#_bug000003">Bug:</a></b></dt><dd>long et size_t ne cohabitent pas bien. </dd></dl>

</div>
</div>
<a class="anchor" id="ae381767861d3629aa729f11ef108a9f5"></a><!-- doxytag: member="LinBox::RightNullspaceDirect" ref="ae381767861d3629aa729f11ef108a9f5" args="(const Field &amp;F, typename Field::Element *A, const size_t &amp;M, const size_t &amp;N, const size_t &amp;lda, size_t &amp;ker_dim)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Field::Element* LinBox::RightNullspaceDirect </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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">typename Field::Element *&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t &amp;&#160;</td>
          <td class="paramname"><em>M</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t &amp;&#160;</td>
          <td class="paramname"><em>N</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t &amp;&#160;</td>
          <td class="paramname"><em>lda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&#160;</td>
          <td class="paramname"><em>ker_dim</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The right or left nullspace (kernel or cokernel) of a matrix A We use the LU decomposition. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">F</td><td>the field in which <code>A</code> lives </td></tr>
    <tr><td class="paramname">A</td><td>is a matrix whose nullspace we look for. </td></tr>
    <tr><td class="paramname">M</td><td>number of lines in <code>A</code> </td></tr>
    <tr><td class="paramname">N</td><td>number of column of <code>A</code> </td></tr>
    <tr><td class="paramname">lda</td><td>the leading dimension of matrix <code>A</code> </td></tr>
    <tr><td class="paramname">ker_dim</td><td>the dimension of the kernel </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Template Parameters:</b></dt><dd>
  <table class="">
    <tr><td class="paramname">Field</td><td>- </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a matrix of leading dimension ker_dim whose column vectors span the nullspace of A. Returns <code>NULL</code> (and not <img class="formulaInl" alt="$\mathbf{0}$" src="form_10.png"/>) if <code> ker_dim == 0 </code>. </dd></dl>

</div>
</div>
<a class="anchor" id="aa19c9ffa7f4e795e92fa90e8dfa15600"></a><!-- doxytag: member="LinBox::dyadicToRational" ref="aa19c9ffa7f4e795e92fa90e8dfa15600" args="(const Ring &amp;Z, typename Ring::Element &amp;a, typename Ring::Element &amp;b, const typename Ring::Element &amp;n, const typename Ring::Element &amp;d, const typename Ring::Element &amp;B)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LinBox::dyadicToRational </td>
          <td>(</td>
          <td class="paramtype">const Ring &amp;&#160;</td>
          <td class="paramname"><em>Z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rational reconstruction of a/b from n/d with denominator bound B. </p>
<p>We give a/b, the continued fraction approximant of n/d that satisfies |a/b - n/d| &lt; 1/2d (well approximated) and 0 &lt; b &lt;= B. Return value is 0, if no such approximant exists. Return value is 1, if either (i) a second well approximated rational with denominator bounded by B may exist, or (ii) the well approximated condition is not met for a/b. In these cases, a/b may be used speculatively. Return value is 2, if the approximant is guaranteed (because bB &lt;= d).</p>
<p>If no fraction is well approximated the last b &lt;= B in the remainder sequence of n,d is given.</p>
<p>If d = 2^k and n = sum_i=l to k n_i 2^i, then * n/d = sum_{i=l down to 0} n_i/2^{k-i} is a {<em>dyadic</em> rational}. Numbers of this form are produced for example by numeric-symbolic iterations.</p>
<p>If it is known that n/d is the most accurate approximation with denominator d to a/b, and that the denominator b is bounded by B, i.e. b &lt;= B, then such a/b is uniquely determined, provided d &gt;= bB. ...in that case, such a/b is returned by <a class="el" href="namespace_lin_box.html#aa19c9ffa7f4e795e92fa90e8dfa15600" title="Rational reconstruction of a/b from n/d with denominator bound B.">dyadicToRational()</a>. This follows from two facts: First, by definition, n/d is an accurate approximation to a/b with b &lt;= d when |n/d - a/b| &lt; 1/2d. Otherwise (n-1)/d or (n+1)/d would be a better approximation. Second, if a/b and a'/b' are distinct rationals, then |a/b - a'/b'| &gt;= 1/bb'. Thus if a'/b' is another rational accurately approximated by n/d, we have 1/bb' &lt;= |a/b - a'/b'| &lt;= |a/b - n/d| + |n/d - a'/b'| &lt;= 1/2d + 1/2d = 1/d. So bb' &gt; d &gt;= bB, thus b' &gt; B.</p>
<p>In summary: If it exists, the unique a/b is given such that n/d approximates a/b to within 1/2d and b &lt;= B. Otherwise a plausible a/b is given or failure is signaled.</p>
<p>"Symbolic-Numeric Exact Rational Linear System Solver" by Saunders, Wood, Youse. describes the construction. </p>

</div>
</div>
<a class="anchor" id="ab4c0b6bae10fdd699c95678d9c429e0a"></a><!-- doxytag: member="LinBox::partial_hegcd" ref="ab4c0b6bae10fdd699c95678d9c429e0a" args="(Ring &amp;Z, typename Ring::Element &amp;e, typename Ring::Element &amp;b, const typename Ring::Element &amp;n, const typename Ring::Element &amp;d, const typename Ring::Element &amp;denBound)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool LinBox::partial_hegcd </td>
          <td>(</td>
          <td class="paramtype">Ring &amp;&#160;</td>
          <td class="paramname"><em>Z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>denBound</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="namespace_lin_box.html#ab4c0b6bae10fdd699c95678d9c429e0a" title="partial_hegcd() sets e, b from the remainder sequence of n,d.">partial_hegcd()</a> sets e, b from the remainder sequence of n,d. </p>
<p>It requires positive n and d. It sets e to the first r_i (remainder) and b to the corresponding q_i (coefficient of n) such that 2r_i &lt; |q_i| and |q_i| &lt;= B (the given denominator bound). True is returned iff such e, b exist.</p>
<p>If not, b is the largest q_i such that |q_i| &lt;= B, and e is the corresponding remainder. In this case b is the denominator of a plausibly approximated but not well approximated rational. It can be used speculatively. </p>

</div>
</div>
<a class="anchor" id="aaa4f9e471e69dec7e07d637ac7c74ff1"></a><!-- doxytag: member="LinBox::SpecialBound" ref="aaa4f9e471e69dec7e07d637ac7c74ff1" args="(const Ring &amp;R, typename Ring::Element &amp;H_col_sqr, typename Ring::Element &amp;short_col_sqr, const ItMatrix &amp;A)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LinBox::SpecialBound </td>
          <td>(</td>
          <td class="paramtype">const Ring &amp;&#160;</td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>H_col_sqr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>short_col_sqr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ItMatrix &amp;&#160;</td>
          <td class="paramname"><em>A</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>BoundBlackbox. </p>
<p>BoundBlackbox: Sets H_col_sqr &lt;- H_col(A)^2, short_col_sqr &lt;- short_col(A)^2 where H_col(A) is prod_j sqrt(sum_i a_ij^2) ('Hadamard column bound') short_col(A) is min_j sqrt(sum_i a_ij^2) ('shortest column')</p>
<dl class="note"><dt><b>Note:</b></dt><dd>H_col is not actually a norm! but it is what we need for lifting bound computation </dd></dl>

</div>
</div>
<a class="anchor" id="a312188c0fa5d35bd8d5007a6e1beb483"></a><!-- doxytag: member="LinBox::ApplyBound" ref="a312188c0fa5d35bd8d5007a6e1beb483" args="(const Ring &amp;R, typename Ring::Element &amp;bound_A, const ItMatrix &amp;A)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LinBox::ApplyBound </td>
          <td>(</td>
          <td class="paramtype">const Ring &amp;&#160;</td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Ring::Element &amp;&#160;</td>
          <td class="paramname"><em>bound_A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ItMatrix &amp;&#160;</td>
          <td class="paramname"><em>A</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>ApplyBound. </p>
<p>ApplyBound computes bound_A &lt;- max_i(max(sum_{j|a_ij &gt; 0} a_ij, sum_{j|a_ij &lt; 0} |a_ij|)) this is useful because for all u, v &gt;= 0: [b has all entries in -u..v] =&gt; [each entry of A.b is at most (u+v)*bound_A in absolute value] </p>

</div>
</div>
<a class="anchor" id="ad605a5ca7a11c37e7390833a00ab61bd"></a><!-- doxytag: member="LinBox::checkBlasPrime" ref="ad605a5ca7a11c37e7390833a00ab61bd" args="(const Prime p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool LinBox::checkBlasPrime </td>
          <td>(</td>
          <td class="paramtype">const Prime&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>NO DOC ! </p>
<dl class="bug"><dt><b><a class="el" href="bug.html#_bug000005">Bug:</a></b></dt><dd>why is this hard coded ? </dd></dl>

</div>
</div>
<a class="anchor" id="a37aceb45fb3343576917715ec1528096"></a><!-- doxytag: member="LinBox::create_MatrixQadic" ref="a37aceb45fb3343576917715ec1528096" args="(const Domain &amp;D, const IMatrix &amp;Mat, double *chunks, size_t num_chunks, const integer shift)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void create_MatrixQadic </td>
          <td>(</td>
          <td class="paramtype">const Domain &amp;&#160;</td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const IMatrix &amp;&#160;</td>
          <td class="paramname"><em>Mat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>chunks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>num_chunks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const integer&#160;</td>
          <td class="paramname"><em>shift</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>split an integer matrix into a padic chunk representation </p>

</div>
</div>
<a class="anchor" id="afa543138b91890330607501c46aa86e9"></a><!-- doxytag: member="LinBox::create_VectorQadic" ref="afa543138b91890330607501c46aa86e9" args="(const Domain &amp;D, const Vector &amp;V, double *chunks, size_t num_chunks)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LinBox::create_VectorQadic </td>
          <td>(</td>
          <td class="paramtype">const Domain &amp;&#160;</td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Vector &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>chunks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>num_chunks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>split an integer vector into a padic chunk representation </p>

</div>
</div>
<a class="anchor" id="ad28ea00600872b52be0bf2c3f47d3b6b"></a><!-- doxytag: member="LinBox::create_VectorQadic_32" ref="ad28ea00600872b52be0bf2c3f47d3b6b" args="(const Domain &amp;D, const Vector &amp;V, double *chunks, size_t num_chunks)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LinBox::create_VectorQadic_32 </td>
          <td>(</td>
          <td class="paramtype">const Domain &amp;&#160;</td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Vector &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>chunks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>num_chunks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>split an integer vector into a padic chunk representation </p>

</div>
</div>
<a class="anchor" id="a7de97554b4701d836d3da9cb4f71c230"></a><!-- doxytag: member="LinBox::setButterfly" ref="a7de97554b4701d836d3da9cb4f71c230" args="(const std::vector&lt; bool &gt; &amp;x, size_t j=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;bool&gt; LinBox::setButterfly </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; bool &gt; &amp;&#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>j</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A function used with <a class="el" href="class_lin_box_1_1_butterfly.html" title="Switching Network based BlackBox Matrix.">Butterfly</a> Blackbox Matrices. </p>
<p>This function takes an STL vector x of booleans, and returns a vector y of booleans such that setting the switches marked by true flags in y to be on (or to swap elements) the true elements x will be switched to a given contiguous block through the use of a <a class="el" href="class_lin_box_1_1_butterfly.html" title="Switching Network based BlackBox Matrix.">Butterfly</a> switching network. The integer parameter j marks where this block is to begin. If x has r true elements, the <a class="el" href="class_lin_box_1_1_butterfly.html" title="Switching Network based BlackBox Matrix.">Butterfly</a> switching network will place these elements in a contiguous block starting at j and ending at j + r - 1. Wrap around shall be considered to preserve contiguity. The value of j is defaulted to be zero, and it is only allowed to be non-zero is the size of x is a power of 2. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>vector of booleans for setting switches </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>vector of booleans marking elements to switch into contiguous block </td></tr>
    <tr><td class="paramname">j</td><td>offset of contiguous block </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a368e9720227c954eccba09cb41438573"></a><!-- doxytag: member="LinBox::Caster" ref="a368e9720227c954eccba09cb41438573" args="(NTL::zz_p &amp;x, const integer &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::zz_p&amp; LinBox::Caster </td>
          <td>(</td>
          <td class="paramtype">NTL::zz_p &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const integer &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialization of field element from an integer. </p>
<p>This Uses NTL's <code>to_zz_p</code> function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to field element. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element to contain output (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>integer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0b7239434dafeb95136afd7954feef7d"></a><!-- doxytag: member="LinBox::Caster" ref="a0b7239434dafeb95136afd7954feef7d" args="(integer &amp;x, const NTL::zz_p &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a>&amp; LinBox::Caster </td>
          <td>(</td>
          <td class="paramtype">integer &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const NTL::zz_p &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Conversion of field element to an integer. </p>
<p>This function assumes the output field element x has already been constructed, but that it is not already initialized. For now, this is done by converting the element type to a C++ long and then to the integer type through the use of static cast and NTL's to_long function. This, of course, assumes such static casts are possible. This function should be changed in the future to avoid using long. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to integer. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>reference to integer to contain output (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>constant reference to field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa2ae8526b2a1f642b139f346c2c537a6"></a><!-- doxytag: member="LinBox::Caster" ref="aa2ae8526b2a1f642b139f346c2c537a6" args="(NTL::RR &amp;x, const integer &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::RR&amp; LinBox::Caster </td>
          <td>(</td>
          <td class="paramtype">NTL::RR &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const integer &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialization of field element from an integer. </p>
<p>Behaves like C++ allocator construct. This function assumes the output field element x has already been constructed, but that it is not already initialized. For now, this is done by converting the integer type to a C++ long and then to the element type through the use of static cast and NTL's to_RR function. This, of course, assumes such static casts are possible. This function should be changed in the future to avoid using long. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to field element. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element to contain output (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>integer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2f869a5ee103cbb15c16808aac8bed81"></a><!-- doxytag: member="LinBox::Caster" ref="a2f869a5ee103cbb15c16808aac8bed81" args="(NTL::RR &amp;x, const double &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::RR&amp; LinBox::Caster </td>
          <td>(</td>
          <td class="paramtype">NTL::RR &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialization of field element from an integer. </p>
<p>Behaves like C++ allocator construct. This function assumes the output field element x has already been constructed, but that it is not already initialized. For now, this is done by converting the integer type to a C++ long and then to the element type through the use of static cast and NTL's to_RR function. This, of course, assumes such static casts are possible. This function should be changed in the future to avoid using long. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to field element. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element to contain output (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>integer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af35ac30207e347bf501959389e28799b"></a><!-- doxytag: member="LinBox::Caster" ref="af35ac30207e347bf501959389e28799b" args="(NTL::RR &amp;x, const int &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NTL::RR&amp; LinBox::Caster </td>
          <td>(</td>
          <td class="paramtype">NTL::RR &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialization of field element from an integer. </p>
<p>Behaves like C++ allocator construct. This function assumes the output field element x has already been constructed, but that it is not already initialized. For now, this is done by converting the integer type to a C++ long and then to the element type through the use of static cast and NTL's to_RR function. This, of course, assumes such static casts are possible. This function should be changed in the future to avoid using long. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to field element. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>field element to contain output (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>integer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad6305421e51085615fdc9fc462270eec"></a><!-- doxytag: member="LinBox::Caster" ref="ad6305421e51085615fdc9fc462270eec" args="(integer &amp;x, const NTL::RR &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a>&amp; LinBox::Caster </td>
          <td>(</td>
          <td class="paramtype">integer &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const NTL::RR &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Conversion of field element to an integer. </p>
<p>This function assumes the output field element x has already been constructed, but that it is not already initialized. For now, this is done by converting the element type to a C++ long and then to the integer type through the use of static cast and NTL's to_long function. This, of course, assumes such static casts are possible. This function should be changed in the future to avoid using long. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to integer. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>reference to integer to contain output (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>constant reference to field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aec4075f70ae6847fe6240ccdd4943736"></a><!-- doxytag: member="LinBox::Caster" ref="aec4075f70ae6847fe6240ccdd4943736" args="(integer &amp;x, const NTL::ZZ_p &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a>&amp; LinBox::Caster </td>
          <td>(</td>
          <td class="paramtype">integer &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const NTL::ZZ_p &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Conversion of field element to an integer. </p>
<p>This function assumes the output field element x has already been constructed, but that it is not already initialized. This done by converting to a std::string : inefficient but correct. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to integer. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>reference to integer to contain output (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>constant reference to field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3a9341d58fdd32d62fe135e7a5d74592"></a><!-- doxytag: member="LinBox::Caster" ref="a3a9341d58fdd32d62fe135e7a5d74592" args="(double &amp;x, const NTL::ZZ_p &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double&amp; LinBox::Caster </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const NTL::ZZ_p &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Conversion of field element to an integer. </p>
<p>This function assumes the output field element x has already been constructed, but that it is not already initialized. This done by converting to a std::string : inefficient but correct. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to integer. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>reference to integer to contain output (reference returned). </td></tr>
    <tr><td class="paramname">y</td><td>constant reference to field element. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9f28f944e2fa140fcb3fbe4e2016e7e3"></a><!-- doxytag: member="LinBox::operator&lt;&lt;" ref="a9f28f944e2fa140fcb3fbe4e2016e7e3" args="(std::ostream &amp;o, const DenseSubmatrix&lt; T &gt; &amp;Mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; LinBox::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 DenseSubmatrix&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>Mat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write a matrix to a stream. </p>
<p>The C++ way using <code>operator&lt;&lt;</code> </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">o</td><td>output stream </td></tr>
    <tr><td class="paramname">Mat</td><td>matrix to write. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a24e72182f5fa38239c586fb1bec93798"></a><!-- doxytag: member="LinBox::operator&lt;&lt;" ref="a24e72182f5fa38239c586fb1bec93798" args="(std::ostream &amp;o, const DenseMatrixBase&lt; T &gt; &amp;Mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; LinBox::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 DenseMatrixBase&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>Mat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write a matrix to a stream. </p>
<p>The C++ way using <code>operator&lt;&lt;</code> </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">o</td><td>output stream </td></tr>
    <tr><td class="paramname">M</td><td>matrix to write. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a62f5b68db6d41c89bdbbc9c5645199c6"></a><!-- doxytag: member="LinBox::RandomBlasPermutation" ref="a62f5b68db6d41c89bdbbc9c5645199c6" args="(BlasPermutation&lt; size_t &gt; &amp;P)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LinBox::RandomBlasPermutation </td>
          <td>(</td>
          <td class="paramtype">BlasPermutation&lt; size_t &gt; &amp;&#160;</td>
          <td class="paramname"><em>P</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000024">Todo:</a></b></dt><dd>To be factorized. </dd></dl>

</div>
</div>
<a class="anchor" id="a062505f4beed42f63bcf15ae572742c4"></a><!-- doxytag: member="LinBox::random_lu_rank" ref="a062505f4beed42f63bcf15ae572742c4" args="(const Field &amp;F, const Randiter &amp;R, DenseMatrix&lt; Field &gt; &amp;A, int &amp;rank)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_dense_matrix.html">DenseMatrix</a>&lt;Field&gt;&amp; LinBox::random_lu_rank </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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 Randiter &amp;&#160;</td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DenseMatrix&lt; <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>rank</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000025">Todo:</a></b></dt><dd>!!! </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000026">Todo:</a></b></dt><dd>RandomPermutation avec P de type [Matrix-Blas]<a class="el" href="class_lin_box_1_1_permutation.html" title="size is n.">Permutation</a> </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000027">Todo:</a></b></dt><dd>: L = [[L1,0],[A,L2]] ;U = [[U1,B],[0,U2]] ; LU = [[ rec(L1,U1), ftrmm(L1,B)],[ftrmm(A,U1),fgemm(A,B)+rec(L2,U2) ]] de même UL </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000028">Todo:</a></b></dt><dd>create BMD.applyP(A,P,BlasTag::Left) ; avec P : <a class="el" href="class_lin_box_1_1_blas_permutation.html" title="Lapack-style permutation.">BlasPermutation</a> ou P : <a class="el" href="class_lin_box_1_1_matrix_permutation.html" title="Permutation classique.">MatrixPermutation</a> </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000029">Todo:</a></b></dt><dd><a class="el" href="class_lin_box_1_1_blas_permutation.html" title="Lapack-style permutation.">BlasPermutation</a> a un ordre <code>p</code> et une taille <code>r</code> distinctes !!! </dd></dl>
</p>

</div>
</div>
<a class="anchor" id="ae2318627f7e5e7cd4aac7b3bd6c2112e"></a><!-- doxytag: member="LinBox::random_rankupdate" ref="ae2318627f7e5e7cd4aac7b3bd6c2112e" args="(PID_integer &amp;F, const Randiter &amp;R, BlasMatrix&lt; integer &gt; &amp;A, int &amp;rank)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_blas_matrix.html">BlasMatrix</a>&lt;<a class="el" href="group__integers.html#gad62eceb96963b157a2357aba991f6d6e">integer</a>&gt;&amp; LinBox::random_rankupdate </td>
          <td>(</td>
          <td class="paramtype">PID_integer &amp;&#160;</td>
          <td class="paramname"><em>F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Randiter &amp;&#160;</td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BlasMatrix&lt; integer &gt; &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>rank</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">F</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="bug"><dt><b><a class="el" href="bug.html#_bug000013">Bug:</a></b></dt><dd>const ! </dd></dl>

</div>
</div>
<a class="anchor" id="a7fb61f8aa643e00fae1c69e43fc823dd"></a><!-- doxytag: member="LinBox::charpoly" ref="a7fb61f8aa643e00fae1c69e43fc823dd" args="(Polynomial &amp;P, const Blackbox &amp;A, const MyMethod &amp;M)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Polynomial&amp; LinBox::charpoly </td>
          <td>(</td>
          <td class="paramtype">Polynomial &amp;&#160;</td>
          <td class="paramname"><em>P</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Blackbox &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MyMethod &amp;&#160;</td>
          <td class="paramname"><em>M</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>...using an optional <a class="el" href="struct_lin_box_1_1_method.html" title="Method specifiers for controlling algorithm choice.">Method</a> parameter </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">P</td><td>- the output characteristic polynomial. If the polynomial is of degree d, this random access container has size d+1, the 0-th entry is the constant coefficient and the d-th is 1 since the charpoly is monic. </td></tr>
    <tr><td class="paramname">A</td><td>- a blackbox matrix Optional </td></tr>
    <tr><td class="paramname">M</td><td>- the method object. Generally, the default object suffices and the algorithm used is determined by the class of M. Basic methods are <a class="el" href="struct_lin_box_1_1_method.html#a377698356a430aa5b72f8588d2fa8cdb" title="Method::Blackbox : no doc.">Method::Blackbox</a>, <a class="el" href="struct_lin_box_1_1_method.html#a2f13daea324591d9cd6539b4bbc13851" title="Method::Elimination : no doc.">Method::Elimination</a>, and <a class="el" href="struct_lin_box_1_1_method.html#add971f81e2dc236b0141a022827fa9c5" title="Method::Hybrid : no doc.">Method::Hybrid</a> (the default). See <a class="el" href="methods_8h.html" title="NO DOC.">methods.h</a> for more options. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a reference to P. </dd></dl>

</div>
</div>
<a class="anchor" id="ac2830fba6794de0cca9690e3e4ecf981"></a><!-- doxytag: member="LinBox::charpoly" ref="ac2830fba6794de0cca9690e3e4ecf981" args="(Polynomial &amp;P, const Blackbox &amp;A, const RingCategories::ModularTag &amp;tag, const Method::BlasElimination &amp;M)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Polynomial&amp; LinBox::charpoly </td>
          <td>(</td>
          <td class="paramtype">Polynomial &amp;&#160;</td>
          <td class="paramname"><em>P</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Blackbox &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const RingCategories::ModularTag &amp;&#160;</td>
          <td class="paramname"><em>tag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Method::BlasElimination &amp;&#160;</td>
          <td class="paramname"><em>M</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the characteristic polynomial over <img class="formulaInl" alt="$\mathbf{Z}_p$" src="form_68.png"/>. </p>
<p>Compute the characteristic polynomial of a matrix using dense elimination methods</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">P</td><td>Polynomial where to store the result </td></tr>
    <tr><td class="paramname">A</td><td>Blackbox representing the matrix </td></tr>
    <tr><td class="paramname">tag</td><td></td></tr>
    <tr><td class="paramname">M</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3be4daa14be14c799d2884536ecf5de3"></a><!-- doxytag: member="LinBox::charpoly" ref="a3be4daa14be14c799d2884536ecf5de3" args="(Polynomial &amp;P, const Blackbox &amp;A, const RingCategories::ModularTag &amp;tag, const Method::Blackbox &amp;M)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Polynomial&amp; LinBox::charpoly </td>
          <td>(</td>
          <td class="paramtype">Polynomial &amp;&#160;</td>
          <td class="paramname"><em>P</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Blackbox &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const RingCategories::ModularTag &amp;&#160;</td>
          <td class="paramname"><em>tag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Method::Blackbox &amp;&#160;</td>
          <td class="paramname"><em>M</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the characteristic polynomial over <img class="formulaInl" alt="$\mathbf{Z}_p$" src="form_68.png"/>. </p>
<p>Compute the characteristic polynomial of a matrix, represented via a blackBox.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">P</td><td>Polynomial where to store the result </td></tr>
    <tr><td class="paramname">A</td><td>Blackbox representing the matrix </td></tr>
    <tr><td class="paramname">tag</td><td></td></tr>
    <tr><td class="paramname">M</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2370903b180cda9ec52b3103e9ff8911"></a><!-- doxytag: member="LinBox::isPositiveDefinite" ref="a2370903b180cda9ec52b3103e9ff8911" args="(const Blackbox &amp;A, const MyMethod &amp;M)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool LinBox::isPositiveDefinite </td>
          <td>(</td>
          <td class="paramtype">const Blackbox &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MyMethod &amp;&#160;</td>
          <td class="paramname"><em>M</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the isPositiveDefinite of A. </p>
<p>The isPositiveDefinite of a linear operator A, represented as a black box, is computed over the ring or field of A.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">A</td><td>Black box of which to compute the isPositiveDefinite </td></tr>
    <tr><td class="paramname">M</td><td>may be a <a class="el" href="struct_lin_box_1_1_method.html#add971f81e2dc236b0141a022827fa9c5" title="Method::Hybrid : no doc.">Method::Hybrid</a> (default), <a class="el" href="struct_lin_box_1_1_method.html#a377698356a430aa5b72f8588d2fa8cdb" title="Method::Blackbox : no doc.">Method::Blackbox</a>, <a class="el" href="struct_lin_box_1_1_method.html#a2f13daea324591d9cd6539b4bbc13851" title="Method::Elimination : no doc.">Method::Elimination</a>, or of other method type. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa73971f8b4fca47cc0fcf9fbd9f589ab"></a><!-- doxytag: member="LinBox::isPositiveSemiDefinite" ref="aa73971f8b4fca47cc0fcf9fbd9f589ab" args="(const Blackbox &amp;A, const MyMethod &amp;M)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool LinBox::isPositiveSemiDefinite </td>
          <td>(</td>
          <td class="paramtype">const Blackbox &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MyMethod &amp;&#160;</td>
          <td class="paramname"><em>M</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the isPositiveSemiDefinite of A. </p>
<p>The isPositiveSemiDefinite of a linear operator A, represented as a black box, is computed over the ring or field of A.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">A</td><td>Black box of which to compute the isPositiveSemiDefinite </td></tr>
    <tr><td class="paramname">M</td><td>may be a <a class="el" href="struct_lin_box_1_1_method.html#add971f81e2dc236b0141a022827fa9c5" title="Method::Hybrid : no doc.">Method::Hybrid</a> (SemiDefault), <a class="el" href="struct_lin_box_1_1_method.html#a377698356a430aa5b72f8588d2fa8cdb" title="Method::Blackbox : no doc.">Method::Blackbox</a>, <a class="el" href="struct_lin_box_1_1_method.html#a2f13daea324591d9cd6539b4bbc13851" title="Method::Elimination : no doc.">Method::Elimination</a>, or of other method type. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afc437b19a719b8292af9575a1c6b6b8a"></a><!-- doxytag: member="LinBox::minpoly" ref="afc437b19a719b8292af9575a1c6b6b8a" args="(Polynomial &amp;P, const Blackbox &amp;A, const MyMethod &amp;M)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Polynomial&amp; LinBox::minpoly </td>
          <td>(</td>
          <td class="paramtype">Polynomial &amp;&#160;</td>
          <td class="paramname"><em>P</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Blackbox &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MyMethod &amp;&#160;</td>
          <td class="paramname"><em>M</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>...using an optional <a class="el" href="struct_lin_box_1_1_method.html" title="Method specifiers for controlling algorithm choice.">Method</a> parameter </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">P</td><td>- the output minimal polynomial. If the polynomial is of degree d, this random access container has size d+1, the 0-th entry is the constant coefficient and the d-th is 1 since the minpoly is monic. </td></tr>
    <tr><td class="paramname">A</td><td>- a blackbox matrix Optional </td></tr>
    <tr><td class="paramname">M</td><td>- the method object. Generally, the default object suffices and the algorithm used is determined by the class of M. Basic methods are <a class="el" href="struct_lin_box_1_1_method.html#a377698356a430aa5b72f8588d2fa8cdb" title="Method::Blackbox : no doc.">Method::Blackbox</a>, <a class="el" href="struct_lin_box_1_1_method.html#a2f13daea324591d9cd6539b4bbc13851" title="Method::Elimination : no doc.">Method::Elimination</a>, and <a class="el" href="struct_lin_box_1_1_method.html#add971f81e2dc236b0141a022827fa9c5" title="Method::Hybrid : no doc.">Method::Hybrid</a> (the default). See <a class="el" href="methods_8h.html" title="NO DOC.">methods.h</a> for more options. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a reference to P. </dd></dl>

</div>
</div>
<a class="anchor" id="ac9442bdcae8ef5fc90e5a255630bffa7"></a><!-- doxytag: member="LinBox::rankin" ref="ac9442bdcae8ef5fc90e5a255630bffa7" args="(unsigned long &amp;r, Matrix &amp;A)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long&amp; LinBox::rankin </td>
          <td>(</td>
          <td class="paramtype">unsigned long &amp;&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;&#160;</td>
          <td class="paramname"><em>A</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rank of <code>A</code>. </p>
<p><code>A</code> may be modified </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">A</td><td>matrix </td></tr>
    <tr><td class="paramname">r</td><td>rank </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="examples_2smithvalence_8_c-example.html#a4">examples/smithvalence.C</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a8fa4301051f45a21d16461847268bb5d"></a><!-- doxytag: member="LinBox::solve" ref="a8fa4301051f45a21d16461847268bb5d" args="(Vector &amp;x, const BB &amp;A, const Vector &amp;b, const Method::Elimination &amp;m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Vector&amp; LinBox::solve </td>
          <td>(</td>
          <td class="paramtype">Vector &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const BB &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Vector &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Method::Elimination &amp;&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000039">Todo:</a></b></dt><dd>temporary - fix this </dd></dl>

</div>
</div>
<a class="anchor" id="a619ce2a5bfbc6aa078fb667c4beb03a0"></a><!-- doxytag: member="LinBox::trace" ref="a619ce2a5bfbc6aa078fb667c4beb03a0" args="(typename BB::Field::Element &amp;t, const BB &amp;A)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BB::Field::Element&amp; LinBox::trace </td>
          <td>(</td>
          <td class="paramtype">typename BB::Field::Element &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const BB &amp;&#160;</td>
          <td class="paramname"><em>A</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="class_lin_box_1_1_sum.html" title="blackbox of a matrix sum without copying.">Sum</a> of the eigenvalues. </p>
<p>Also it is the sum of the diagonal entries.</p>
<p>Runtime on n by n matrix is n times the cost of <a class="el" href="namespace_lin_box.html#a28206bc2abcb8f155b344f1fcdf627d1" title="Getting the i,j entry of the blackbox.">getEntry()</a>. This is linear in n for those classes where getEntry is constant time (eg <a class="el" href="class_lin_box_1_1_dense_matrix.html" title="Blackbox interface to dense matrix representation.">DenseMatrix</a> and <a class="el" href="class_lin_box_1_1_sparse_matrix.html" title="vector of sparse rows.">SparseMatrix</a>). Trace is constant time when the diagonal is necessarily constant, eg. for <a class="el" href="class_lin_box_1_1_scalar_matrix.html" title="Blackbox for aI.">ScalarMatrix</a> and <a class="el" href="class_lin_box_1_1_toeplitz.html" title="This is the blackbox representation of a Toeplitz matrix.">Toeplitz</a>. Worst case time is cost of n blackbox applies (matrix vector products), and apply cost typically ranges between O(n) and O(n^2). </p>

</div>
</div>
<a class="anchor" id="a98a1f20bc15b825c7d9862eb3431b3c9"></a><!-- doxytag: member="LinBox::randomVector" ref="a98a1f20bc15b825c7d9862eb3431b3c9" args="(Field &amp;F, size_t n, typename Field::RandIter &amp;r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Vector LinBox::randomVector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_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">size_t&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename Field::RandIter &amp;&#160;</td>
          <td class="paramname"><em>r</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Random vector generator This templated function takes a field and a random field element generator and returns a vector of random field elements. </p>
<p>The vector is dense in the field elements, even if the vector is a sparse <a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> vector. The funtion is templatized by the field and the vector types being used. This function calls another function by the same name with an additional parameter of the vector category of the vector it is called with. This mechanism is used because functions cannot have partial template specializations like classes can. This new, extended function can be specialized for specific fields and vectors to allow for better performance. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>v vector of random field elements </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">F</td><td>Field in which arithmetic is done </td></tr>
    <tr><td class="paramname">n</td><td>integer number of elements in vector </td></tr>
    <tr><td class="paramname">r</td><td>Random field element generator </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Aug 30 2011 for linbox 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>