Sophie

Sophie

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

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: DenseMatrixBase&lt; _Element &gt; Class Template 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><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><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="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespace_lin_box.html">LinBox</a>      </li>
      <li class="navelem"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">DenseMatrixBase&lt; _Element &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__matrix.html">matrix</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="LinBox::DenseMatrixBase" -->
<p><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></p>

<p><code>#include &lt;dense.h&gt;</code></p>
<table class="memberdecls">
<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_dense_matrix_base_1_1_col_iterator.html">ColIterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Col Iterator.  <a href="class_lin_box_1_1_dense_matrix_base_1_1_col_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_dense_matrix_base_1_1_const_col_iterator.html">ConstColIterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Const Col Iterator.  <a href="class_lin_box_1_1_dense_matrix_base_1_1_const_col_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_dense_matrix_base_1_1_const_raw_indexed_iterator.html">ConstRawIndexedIterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Const Raw Indexed Iterator.  <a href="class_lin_box_1_1_dense_matrix_base_1_1_const_raw_indexed_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_dense_matrix_base_1_1_const_row_iterator.html">ConstRowIterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Const Row Iterator.  <a href="class_lin_box_1_1_dense_matrix_base_1_1_const_row_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_dense_matrix_base_1_1_raw_indexed_iterator.html">RawIndexedIterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Raw Indexed Iterator.  <a href="class_lin_box_1_1_dense_matrix_base_1_1_raw_indexed_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_dense_matrix_base_1_1_row_iterator.html">RowIterator</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Row Iterator.  <a href="class_lin_box_1_1_dense_matrix_base_1_1_row_iterator.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f18dc60ef944a9080f128748dc7e281"></a><!-- doxytag: member="LinBox::DenseMatrixBase::Element" ref="a8f18dc60ef944a9080f128748dc7e281" args="" -->
typedef _Element&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Element type. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af43ea4e3eedf5b2c2af8601b25e6ff25"></a><!-- doxytag: member="LinBox::DenseMatrixBase::Rep" ref="af43ea4e3eedf5b2c2af8601b25e6ff25" args="" -->
typedef <a class="el" href="struct_lin_box_1_1_raw_vector.html">RawVector</a>&lt; <a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &gt;::Dense&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#af43ea4e3eedf5b2c2af8601b25e6ff25">Rep</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">No doc. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5aa325d912d9cf2ccaa09ce60eab0e72"></a><!-- doxytag: member="LinBox::DenseMatrixBase::Self_t" ref="a5aa325d912d9cf2ccaa09ce60eab0e72" args="" -->
typedef <a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a>&lt; _Element &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a5aa325d912d9cf2ccaa09ce60eab0e72">Self_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Self type. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a30844d17fbef1010308473a56f51c9c6"></a><!-- doxytag: member="LinBox::DenseMatrixBase::DenseMatrixBase" ref="a30844d17fbef1010308473a56f51c9c6" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a30844d17fbef1010308473a56f51c9c6">DenseMatrixBase</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">NULL constructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a11dd20432011bcb0cb3aa5663f1ef2a3">DenseMatrixBase</a> (size_t m, size_t n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a11dd20432011bcb0cb3aa5663f1ef2a3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a261b8b9045e72a1ad36a79ce6ac983eb">DenseMatrixBase</a> (std::vector&lt; <a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &gt; &amp;data, size_t m, size_t n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a261b8b9045e72a1ad36a79ce6ac983eb"></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">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#ab65ae3465e345ad6f0c85fe5ae253467">DenseMatrixBase</a> (<a class="el" href="class_lin_box_1_1_matrix_stream.html">MatrixStream</a>&lt; Field &gt; &amp;ms)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from a matrix stream.  <a href="#ab65ae3465e345ad6f0c85fe5ae253467"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8d96945761a492776ddcb7b7b3847b7d">DenseMatrixBase</a> (const <a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a> &amp;Mat)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor.  <a href="#a8d96945761a492776ddcb7b7b3847b7d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a4d6918012ff0aba2b79dc04318c4ddf6">operator=</a> (const <a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a> &amp;Mat)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">destructor.  <a href="#a4d6918012ff0aba2b79dc04318c4ddf6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a3d6ecac3550b79b4c157aa3c44d2bac6">FullIterator</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer on the storage of the elements.  <a href="#a3d6ecac3550b79b4c157aa3c44d2bac6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a0fee90e6b8ef7fcd8d76a7f3e1f268e6">rowdim</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of rows in the matrix.  <a href="#a0fee90e6b8ef7fcd8d76a7f3e1f268e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a32edb490d3597f5553152d14b102e227">coldim</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of columns in the matrix.  <a href="#a32edb490d3597f5553152d14b102e227"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a0a4488dda5f370f56b9eab4fe8a54683">resize</a> (size_t m, size_t n, const <a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &amp;val=<a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a>())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resize the matrix to the given dimensions.  <a href="#a0a4488dda5f370f56b9eab4fe8a54683"></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">std::istream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#ae55bf576d244dace8eed51f8efda15da">read</a> (std::istream &amp;file, const Field &amp;F)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the matrix from an input stream.  <a href="#ae55bf576d244dace8eed51f8efda15da"></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">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a41548dfcc13429cf02532130756969fd">write</a> (std::ostream &amp;os, const Field &amp;F, bool mapleFormat=true) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the matrix to an output stream.  <a href="#a41548dfcc13429cf02532130756969fd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#af45a6e5451ad71a7f0918c6b1c59326f">write</a> (std::ostream &amp;os, bool mapleFormat=true) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write brutally the matrix to an output stream.  <a href="#af45a6e5451ad71a7f0918c6b1c59326f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#aa125275fb11b55df52933a488ca9a6f3">setEntry</a> (size_t i, size_t j, const <a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &amp;a_ij)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the entry at the (i, j) position to a_ij.  <a href="#aa125275fb11b55df52933a488ca9a6f3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a626f1fbac5cfe5468da6581c54256825">refEntry</a> (size_t i, size_t j)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a writeable reference to the entry in the (i, j) position.  <a href="#a626f1fbac5cfe5468da6581c54256825"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a725d135bb8767ea6769811242e20685b">getEntry</a> (size_t i, size_t j) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a read-only reference to the entry in the (i, j) position.  <a href="#a725d135bb8767ea6769811242e20685b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a7175207b21737a612ed84ec9c4c4321a">getEntry</a> (<a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &amp;x, size_t i, size_t j) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the (i, j) entry into x, and return a reference to x.  <a href="#a7175207b21737a612ed84ec9c4c4321a"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;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="class_lin_box_1_1_dense_matrix_base.html#a9ace56625d76410e60e7708977c23a6e">columnDensity</a> (Vector &amp;v) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute column density.  <a href="#a9ace56625d76410e60e7708977c23a6e"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Raw Indexed iterator</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Like the raw iterator, the indexed iterator is a method for accessing all entries in the matrix in some unspecified order.</p>
<p>At each position of the the indexed iterator, it also provides the row and column indices of the currently referenced entry. This is provided through it's <code>rowIndex()</code> and <code>colIndex()</code> functions. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c98b9004a17c0dd558acff480f57a27"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rawIndexedBegin" ref="a4c98b9004a17c0dd558acff480f57a27" args="()" -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_raw_indexed_iterator.html">RawIndexedIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>rawIndexedBegin</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39cc93e29e0cd6dc5c67173eb031a38d"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rawIndexedEnd" ref="a39cc93e29e0cd6dc5c67173eb031a38d" args="()" -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_raw_indexed_iterator.html">RawIndexedIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>rawIndexedEnd</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af77f8ae907d10cb158af7171b07c6dff"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rawIndexedBegin" ref="af77f8ae907d10cb158af7171b07c6dff" args="() const " -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_const_raw_indexed_iterator.html">ConstRawIndexedIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>rawIndexedBegin</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af289bfba5bfda5b17071b661b5ecebc7"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rawIndexedEnd" ref="af289bfba5bfda5b17071b661b5ecebc7" args="() const " -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_const_raw_indexed_iterator.html">ConstRawIndexedIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>rawIndexedEnd</b> () const </td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_subvector.html">Row</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a443b28c1930db3fb8a8b0a5da0a69972">operator[]</a> (size_t i)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a reference to a row.  <a href="#a443b28c1930db3fb8a8b0a5da0a69972"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_subvector.html">ConstRow</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a229b646e8ec107a14b81a4bc29bedd25">operator[]</a> (size_t i) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a reference to a row.  <a href="#a229b646e8ec107a14b81a4bc29bedd25"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Column of rows iterator</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpbea8100b5dbae693b011d21561d5d1ef"></a>The column of rows iterator traverses the rows of the matrix in ascending order.</p>
<p>Dereferencing the iterator yields a row vector in dense format </p>
</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acdcf4b1a1043c3c02815f9cca2e54a3c"></a><!-- doxytag: member="LinBox::DenseMatrixBase::Row" ref="acdcf4b1a1043c3c02815f9cca2e54a3c" args="" -->
typedef <a class="el" href="class_lin_box_1_1_subvector.html">Subvector</a>&lt; typename <br class="typebreak"/>
Rep::iterator, typename <br class="typebreak"/>
Rep::const_iterator &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Row</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9b708d7c63a82b076b00a4934d6b6dd"></a><!-- doxytag: member="LinBox::DenseMatrixBase::ConstRow" ref="af9b708d7c63a82b076b00a4934d6b6dd" args="" -->
typedef <a class="el" href="class_lin_box_1_1_subvector.html">Subvector</a>&lt; typename <br class="typebreak"/>
Rep::const_iterator &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstRow</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f97420df32f9ec9b7a8783530a7e14b"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rowBegin" ref="a9f97420df32f9ec9b7a8783530a7e14b" args="()" -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_row_iterator.html">RowIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>rowBegin</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1dfca7e9fc31e4f055852c3a6ccee9b4"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rowEnd" ref="a1dfca7e9fc31e4f055852c3a6ccee9b4" args="()" -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_row_iterator.html">RowIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>rowEnd</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0a462e39aa170ed9ed016c77c3001fe"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rowBegin" ref="af0a462e39aa170ed9ed016c77c3001fe" args="() const " -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_const_row_iterator.html">ConstRowIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>rowBegin</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66aa38d57b7092ba2b96f412e69142c7"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rowEnd" ref="a66aa38d57b7092ba2b96f412e69142c7" args="() const " -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_const_row_iterator.html">ConstRowIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>rowEnd</b> () const </td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Row of columns iterator</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp6cce9b735cacc345540a8044118dcc17"></a>The row of columns iterator traverses the columns of the matrix in ascending order.</p>
<p>Dereferencing the iterator yields a column vector in dense format </p>
</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80713db5778370d5a22bc05835080266"></a><!-- doxytag: member="LinBox::DenseMatrixBase::Col" ref="a80713db5778370d5a22bc05835080266" args="" -->
typedef <a class="el" href="class_lin_box_1_1_subvector.html">Subvector</a>&lt; <a class="el" href="class_lin_box_1_1_subiterator.html">Subiterator</a><br class="typebreak"/>
&lt; typename Rep::iterator &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Col</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac842421264a49857adbcb2407a46b554"></a><!-- doxytag: member="LinBox::DenseMatrixBase::ConstCol" ref="ac842421264a49857adbcb2407a46b554" args="" -->
typedef <a class="el" href="class_lin_box_1_1_subvector.html">Subvector</a>&lt; <a class="el" href="class_lin_box_1_1_subiterator.html">Subiterator</a><br class="typebreak"/>
&lt; typename Rep::const_iterator &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstCol</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69da390cc58b7949adef750be8cc1ad8"></a><!-- doxytag: member="LinBox::DenseMatrixBase::Column" ref="a69da390cc58b7949adef750be8cc1ad8" args="" -->
typedef <a class="el" href="class_lin_box_1_1_subvector.html">Col</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Column</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88fd4d1c152c519d225d56d184c825d6"></a><!-- doxytag: member="LinBox::DenseMatrixBase::ConstColumn" ref="a88fd4d1c152c519d225d56d184c825d6" args="" -->
typedef <a class="el" href="class_lin_box_1_1_subvector.html">ConstCol</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ConstColumn</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78606262ce2bdb5944164ead4f253933"></a><!-- doxytag: member="LinBox::DenseMatrixBase::colBegin" ref="a78606262ce2bdb5944164ead4f253933" args="()" -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_col_iterator.html">ColIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>colBegin</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7aff200f9614e540ed47144016b67da"></a><!-- doxytag: member="LinBox::DenseMatrixBase::colEnd" ref="af7aff200f9614e540ed47144016b67da" args="()" -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_col_iterator.html">ColIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>colEnd</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a152bc607859f30190c0adbab49caf447"></a><!-- doxytag: member="LinBox::DenseMatrixBase::colBegin" ref="a152bc607859f30190c0adbab49caf447" args="() const " -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_const_col_iterator.html">ConstColIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>colBegin</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca341e6f3388d13b8600932eeca77a13"></a><!-- doxytag: member="LinBox::DenseMatrixBase::colEnd" ref="aca341e6f3388d13b8600932eeca77a13" args="() const " -->
<a class="el" href="class_lin_box_1_1_dense_matrix_base_1_1_const_col_iterator.html">ConstColIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>colEnd</b> () const </td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Raw iterator</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpec70ed40e1136f3e443142fab4dd004c"></a>The raw iterator is a method for accessing all entries in the matrix in some unspecified order.</p>
<p>This can be used, e.g. to reduce all matrix entries modulo a prime before passing the matrix into an algorithm. </p>
</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88c02ed14ae6c28e600dfabe3f6588d4"></a><!-- doxytag: member="LinBox::DenseMatrixBase::RawIterator" ref="a88c02ed14ae6c28e600dfabe3f6588d4" args="" -->
typedef Rep::iterator&#160;</td><td class="memItemRight" valign="bottom"><b>RawIterator</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a877fc89dda796b48fcd8b3efaea9cb95"></a><!-- doxytag: member="LinBox::DenseMatrixBase::ConstRawIterator" ref="a877fc89dda796b48fcd8b3efaea9cb95" args="" -->
typedef Rep::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>ConstRawIterator</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5edc7a1ead720a577ef59a4603c29c81"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rawBegin" ref="a5edc7a1ead720a577ef59a4603c29c81" args="()" -->
RawIterator&#160;</td><td class="memItemRight" valign="bottom"><b>rawBegin</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa423adf4ef9d10552205ea216c3a1c5d"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rawEnd" ref="aa423adf4ef9d10552205ea216c3a1c5d" args="()" -->
RawIterator&#160;</td><td class="memItemRight" valign="bottom"><b>rawEnd</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a893a435afee540b274c18849da1cda02"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rawBegin" ref="a893a435afee540b274c18849da1cda02" args="() const " -->
ConstRawIterator&#160;</td><td class="memItemRight" valign="bottom"><b>rawBegin</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58146a025e5af94e8c1a94c24e69d14e"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rawEnd" ref="a58146a025e5af94e8c1a94c24e69d14e" args="() const " -->
ConstRawIterator&#160;</td><td class="memItemRight" valign="bottom"><b>rawEnd</b> () const </td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class _Element&gt;<br/>
class LinBox::DenseMatrixBase&lt; _Element &gt;</h3>

<p><a class="el" href="namespace_lin_box.html" title="Namespace in which all linbox code resides.">LinBox</a> dense matrix template. </p>
<p>This is a class of dense matrices templatized by the entry type, the <code>Element</code> type of some <a class="el" href="group___fields.html">field</a>. The matrix is stored as a one dimensional STL <code>std::vector</code> of the elements, by rows. The interface provides for iteration over rows and over columns.</p>
<p>The class <code><a class="el" href="class_lin_box_1_1_dense_matrix.html" title="Blackbox interface to dense matrix representation.">LinBox::DenseMatrix</a></code> builds on this base.</p>
<p>Currently, only dense vectors are supported when doing matrix-vector applies. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a11dd20432011bcb0cb3aa5663f1ef2a3"></a><!-- doxytag: member="LinBox::DenseMatrixBase::DenseMatrixBase" ref="a11dd20432011bcb0cb3aa5663f1ef2a3" args="(size_t m, size_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a> </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>row dimension </td></tr>
    <tr><td class="paramname">n</td><td>column dimension </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a261b8b9045e72a1ad36a79ce6ac983eb"></a><!-- doxytag: member="LinBox::DenseMatrixBase::DenseMatrixBase" ref="a261b8b9045e72a1ad36a79ce6ac983eb" args="(std::vector&lt; Element &gt; &amp;data, size_t m, size_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a> </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>vector to take data from (such that <code>A[i,j] == data[i*n+j]</code>) </td></tr>
    <tr><td class="paramname">m</td><td>row dimension </td></tr>
    <tr><td class="paramname">n</td><td>column dimension </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab65ae3465e345ad6f0c85fe5ae253467"></a><!-- doxytag: member="LinBox::DenseMatrixBase::DenseMatrixBase" ref="ab65ae3465e345ad6f0c85fe5ae253467" args="(MatrixStream&lt; Field &gt; &amp;ms)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_matrix_stream.html">MatrixStream</a>&lt; Field &gt; &amp;&#160;</td>
          <td class="paramname"><em>ms</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from a matrix stream. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ms</td><td>matrix stream </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8d96945761a492776ddcb7b7b3847b7d"></a><!-- doxytag: member="LinBox::DenseMatrixBase::DenseMatrixBase" ref="a8d96945761a492776ddcb7b7b3847b7d" args="(const DenseMatrixBase &amp;Mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a>&lt; _Element &gt; &amp;&#160;</td>
          <td class="paramname"><em>Mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>copy constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">M</td><td>Dense matrix to be copied. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a4d6918012ff0aba2b79dc04318c4ddf6"></a><!-- doxytag: member="LinBox::DenseMatrixBase::operator=" ref="a4d6918012ff0aba2b79dc04318c4ddf6" args="(const DenseMatrixBase &amp;Mat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_dense_matrix_base.html">DenseMatrixBase</a>&lt; _Element &gt; &amp;&#160;</td>
          <td class="paramname"><em>Mat</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>destructor. </p>
<p>copy operator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">M</td><td>matrix to be copied. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3d6ecac3550b79b4c157aa3c44d2bac6"></a><!-- doxytag: member="LinBox::DenseMatrixBase::FullIterator" ref="a3d6ecac3550b79b4c157aa3c44d2bac6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a>* FullIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a pointer on the storage of the elements. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer on Elements /todo What is this? </dd></dl>

</div>
</div>
<a class="anchor" id="a0fee90e6b8ef7fcd8d76a7f3e1f268e6"></a><!-- doxytag: member="LinBox::DenseMatrixBase::rowdim" ref="a0fee90e6b8ef7fcd8d76a7f3e1f268e6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t rowdim </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the number of rows in the matrix. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of rows in matrix </dd></dl>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_dense_matrix.html#a0fee90e6b8ef7fcd8d76a7f3e1f268e6">DenseMatrix&lt; _Field &gt;</a>, <a class="el" href="class_lin_box_1_1_dense_matrix.html#a0fee90e6b8ef7fcd8d76a7f3e1f268e6">DenseMatrix&lt; Field &gt;</a>, and <a class="el" href="class_lin_box_1_1_dense_matrix.html#a0fee90e6b8ef7fcd8d76a7f3e1f268e6">DenseMatrix&lt; Domain &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a32edb490d3597f5553152d14b102e227"></a><!-- doxytag: member="LinBox::DenseMatrixBase::coldim" ref="a32edb490d3597f5553152d14b102e227" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t coldim </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the number of columns in the matrix. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of columns in matrix </dd></dl>

<p>Reimplemented in <a class="el" href="class_lin_box_1_1_dense_matrix.html#a32edb490d3597f5553152d14b102e227">DenseMatrix&lt; _Field &gt;</a>, <a class="el" href="class_lin_box_1_1_dense_matrix.html#a32edb490d3597f5553152d14b102e227">DenseMatrix&lt; Field &gt;</a>, and <a class="el" href="class_lin_box_1_1_dense_matrix.html#a32edb490d3597f5553152d14b102e227">DenseMatrix&lt; Domain &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a0a4488dda5f370f56b9eab4fe8a54683"></a><!-- doxytag: member="LinBox::DenseMatrixBase::resize" ref="a0a4488dda5f370f56b9eab4fe8a54683" args="(size_t m, size_t n, const Element &amp;val=Element())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void resize </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>m</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">const <a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &amp;&#160;</td>
          <td class="paramname"><em>val</em> = <code><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Resize the matrix to the given dimensions. </p>
<p>The state of the matrix's entries after a call to this method is undefined </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>Number of rows </td></tr>
    <tr><td class="paramname">n</td><td>Number of columns </td></tr>
    <tr><td class="paramname">val</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae55bf576d244dace8eed51f8efda15da"></a><!-- doxytag: member="LinBox::DenseMatrixBase::read" ref="ae55bf576d244dace8eed51f8efda15da" args="(std::istream &amp;file, const Field &amp;F)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::istream &amp; read </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Field &amp;&#160;</td>
          <td class="paramname"><em>F</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read the matrix from an input stream. </p>
<p>The stream is in SMS or DENSE format </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>Input stream from which to read </td></tr>
    <tr><td class="paramname">F</td><td>Field over which to read </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a41548dfcc13429cf02532130756969fd"></a><!-- doxytag: member="LinBox::DenseMatrixBase::write" ref="a41548dfcc13429cf02532130756969fd" args="(std::ostream &amp;os, const Field &amp;F, bool mapleFormat=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream &amp; write </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Field &amp;&#160;</td>
          <td class="paramname"><em>F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>mapleFormat</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write the matrix to an output stream. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>Output stream to which to write </td></tr>
    <tr><td class="paramname">F</td><td>Field over which to write </td></tr>
    <tr><td class="paramname">mapleFormat</td><td>write in Maple format ? </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af45a6e5451ad71a7f0918c6b1c59326f"></a><!-- doxytag: member="LinBox::DenseMatrixBase::write" ref="af45a6e5451ad71a7f0918c6b1c59326f" args="(std::ostream &amp;os, bool mapleFormat=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream &amp; write </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>mapleFormat</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write brutally the matrix to an output stream. </p>
<p>This a raw version of <code>write(os,F)</code> (no field is given). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>Output stream to which to write </td></tr>
    <tr><td class="paramname">mapleFormat</td><td>write in maple format ? </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa125275fb11b55df52933a488ca9a6f3"></a><!-- doxytag: member="LinBox::DenseMatrixBase::setEntry" ref="aa125275fb11b55df52933a488ca9a6f3" args="(size_t i, size_t j, const Element &amp;a_ij)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setEntry </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>j</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &amp;&#160;</td>
          <td class="paramname"><em>a_ij</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the entry at the (i, j) position to a_ij. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>Row number, 0...rowdim () - 1 </td></tr>
    <tr><td class="paramname">j</td><td>Column number 0...coldim () - 1 </td></tr>
    <tr><td class="paramname">a_ij</td><td>Element to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a626f1fbac5cfe5468da6581c54256825"></a><!-- doxytag: member="LinBox::DenseMatrixBase::refEntry" ref="a626f1fbac5cfe5468da6581c54256825" args="(size_t i, size_t j)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a>&amp; refEntry </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a writeable reference to the entry in the (i, j) position. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>Row index of entry </td></tr>
    <tr><td class="paramname">j</td><td>Column index of entry </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to matrix entry </dd></dl>

</div>
</div>
<a class="anchor" id="a725d135bb8767ea6769811242e20685b"></a><!-- doxytag: member="LinBox::DenseMatrixBase::getEntry" ref="a725d135bb8767ea6769811242e20685b" args="(size_t i, size_t j) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a>&amp; getEntry </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a read-only reference to the entry in the (i, j) position. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>Row index </td></tr>
    <tr><td class="paramname">j</td><td>Column index </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Const reference to matrix entry </dd></dl>

</div>
</div>
<a class="anchor" id="a7175207b21737a612ed84ec9c4c4321a"></a><!-- doxytag: member="LinBox::DenseMatrixBase::getEntry" ref="a7175207b21737a612ed84ec9c4c4321a" args="(Element &amp;x, size_t i, size_t j) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a>&amp; getEntry </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_dense_matrix_base.html#a8f18dc60ef944a9080f128748dc7e281">Element</a> &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>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>j</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy the (i, j) entry into x, and return a reference to x. </p>
<p>This form is more in the Linbox style and is provided for interface compatibility with other parts of the library </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>Element in which to store result </td></tr>
    <tr><td class="paramname">i</td><td>Row index </td></tr>
    <tr><td class="paramname">j</td><td>Column index </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Reference to x </dd></dl>

</div>
</div>
<a class="anchor" id="a443b28c1930db3fb8a8b0a5da0a69972"></a><!-- doxytag: member="LinBox::DenseMatrixBase::operator[]" ref="a443b28c1930db3fb8a8b0a5da0a69972" args="(size_t i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_subvector.html">Row</a> operator[] </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve a reference to a row. </p>
<p>Since rows may also be indexed, this allows A[i][j] notation to be used. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>Row index </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a229b646e8ec107a14b81a4bc29bedd25"></a><!-- doxytag: member="LinBox::DenseMatrixBase::operator[]" ref="a229b646e8ec107a14b81a4bc29bedd25" args="(size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_subvector.html">ConstRow</a> operator[] </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve a reference to a row. </p>
<p>Since rows may also be indexed, this allows A[i][j] notation to be used. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>Row index </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9ace56625d76410e60e7708977c23a6e"></a><!-- doxytag: member="LinBox::DenseMatrixBase::columnDensity" ref="a9ace56625d76410e60e7708977c23a6e" args="(Vector &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Vector&amp; columnDensity </td>
          <td>(</td>
          <td class="paramtype">Vector &amp;&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute column density. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">v</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="matrix_2dense_8h.html">matrix/dense.h</a></li>
<li>matrix/dense.inl</li>
</ul>
</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>