Sophie

Sophie

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

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: BlasMatrixDomain&lt; Field &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_blas_matrix_domain.html">BlasMatrixDomain</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">BlasMatrixDomain&lt; Field &gt; Class Template Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="LinBox::BlasMatrixDomain" -->
<p>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></p>

<p><code>#include &lt;blas-domain.h&gt;</code></p>
<table class="memberdecls">
<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="aa433e262bd590a531bff21daac7a4ebe"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::BlasMatrixDomain" ref="aa433e262bd590a531bff21daac7a4ebe" args="(const Field &amp;F)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#aa433e262bd590a531bff21daac7a4ebe">BlasMatrixDomain</a> (const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a> &amp;F)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor of BlasDomain. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5d91052ec593847340e1002ee756909"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::BlasMatrixDomain" ref="ac5d91052ec593847340e1002ee756909" args="(const BlasMatrixDomain&lt; Field &gt; &amp;BMD)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#ac5d91052ec593847340e1002ee756909">BlasMatrixDomain</a> (const <a class="el" href="class_lin_box_1_1_blas_matrix_domain.html">BlasMatrixDomain</a>&lt; <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a> &gt; &amp;BMD)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66be394bace6f92c18729a119581d7bd"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::field" ref="a66be394bace6f92c18729a119581d7bd" args="() const " -->
const <a class="el" href="class_lin_box_1_1_modular_3_01uint32__t_01_4.html">Field</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a66be394bace6f92c18729a119581d7bd">field</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Field accessor. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#aaeb9133641f430a745a9dc0f6b8a0964">mul</a> (Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">multiplication.  <a href="#aaeb9133641f430a745a9dc0f6b8a0964"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a8a778939495b0d208fff3668a60ab24c">add</a> (Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">addition.  <a href="#a8a778939495b0d208fff3668a60ab24c"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a15eaf9401e8c7b6a29aa276fd85f47af">copy</a> (Operand1 &amp;B, const Operand2 &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">copy.  <a href="#a15eaf9401e8c7b6a29aa276fd85f47af"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="af6a361b9493d05d472f82e967998bad3"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::sub" ref="af6a361b9493d05d472f82e967998bad3" args="(Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const " -->
template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#af6a361b9493d05d472f82e967998bad3">sub</a> (Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">substraction C = A-B <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ad2fe03a07195ba9a434fe60e3ce5bee0"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::subin" ref="ad2fe03a07195ba9a434fe60e3ce5bee0" args="(Operand1 &amp;C, const Operand3 &amp;B) const " -->
template&lt;class Operand1 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#ad2fe03a07195ba9a434fe60e3ce5bee0">subin</a> (Operand1 &amp;C, const Operand3 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">substraction (in place) C -= B <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="af7b288fa2825cb2e9e9e78dc8fb0e444"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::addin" ref="af7b288fa2825cb2e9e9e78dc8fb0e444" args="(Operand1 &amp;C, const Operand3 &amp;B) const " -->
template&lt;class Operand1 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#af7b288fa2825cb2e9e9e78dc8fb0e444">addin</a> (Operand1 &amp;C, const Operand3 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">addition (in place) C += B <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a95ca32e241364e9673aa9e756681009f">mul</a> (Operand1 &amp;C, const Element &amp;alpha, const Operand2 &amp;A, const Operand3 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">multiplication with scaling.  <a href="#a95ca32e241364e9673aa9e756681009f"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a89fea0e0d4e0d9ef601a2d164da7d79e">mulin_left</a> (Operand1 &amp;A, const Operand2 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">In place multiplication.  <a href="#a89fea0e0d4e0d9ef601a2d164da7d79e"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand2 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a50d681f2d52c4497df113e1e3e8b5348">mulin_right</a> (const Operand1 &amp;A, Operand2 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">In place multiplication.  <a href="#a50d681f2d52c4497df113e1e3e8b5348"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a38a793731dd70968984d903c4116f0f7">axpy</a> (Operand1 &amp;D, const Operand2 &amp;A, const Operand3 &amp;B, const Operand1 &amp;C) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">axpy.  <a href="#a38a793731dd70968984d903c4116f0f7"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a29ca57df5326a4c4d04951e531672732">axpyin</a> (Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">axpyin.  <a href="#a29ca57df5326a4c4d04951e531672732"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#af8795c19e5b8785b7056936d6a81250b">maxpy</a> (Operand1 &amp;D, const Operand2 &amp;A, const Operand3 &amp;B, const Operand1 &amp;C) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">maxpy.  <a href="#af8795c19e5b8785b7056936d6a81250b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#ad0a95abebe2d1532bb3d0a27110466a4">maxpyin</a> (Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">maxpyin.  <a href="#ad0a95abebe2d1532bb3d0a27110466a4"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a5f9c4e9eaac7d0872c0b5befeffac924">axmy</a> (Operand1 &amp;D, const Operand2 &amp;A, const Operand3 &amp;B, const Operand1 &amp;C) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">axmy.  <a href="#a5f9c4e9eaac7d0872c0b5befeffac924"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a52f1e26e7752af9833d464d05c9941ff">axmyin</a> (Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">axmyin.  <a href="#a52f1e26e7752af9833d464d05c9941ff"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#aba6f252adf754b283ebe61af978fbbdd">muladd</a> (Operand1 &amp;D, const Element &amp;beta, const Operand1 &amp;C, const Element &amp;alpha, const Operand2 &amp;A, const Operand3 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">general matrix-matrix multiplication and addition with scaling.  <a href="#aba6f252adf754b283ebe61af978fbbdd"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand1 , class Operand2 , class Operand3 &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand1 &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#ac44f4a8481b03684d5a3b02156667db4">muladdin</a> (const Element &amp;beta, Operand1 &amp;C, const Element &amp;alpha, const Operand2 &amp;A, const Operand3 &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">muladdin.  <a href="#ac44f4a8481b03684d5a3b02156667db4"></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">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a5b99c92431944aa37d31f71cfa40b4d5">write</a> (std::ostream &amp;os, const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Print matrix.  <a href="#a5b99c92431944aa37d31f71cfa40b4d5"></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">std::istream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#af191b114ae4a53e261c609207be9a561">read</a> (std::istream &amp;is, <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read matrix.  <a href="#af191b114ae4a53e261c609207be9a561"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Solutions available for matrix respecting BlasMatrix interface</div></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ac83a4f86cfd27459dfa47ce1f565cf0a"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::inv" ref="ac83a4f86cfd27459dfa47ce1f565cf0a" args="(Matrix &amp;Ainv, const Matrix &amp;A) const " -->
template&lt;class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#ac83a4f86cfd27459dfa47ce1f565cf0a">inv</a> (<a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;Ainv, const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inversion. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a4ffdc37fa1b51b678885513d537e2c2f"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::invin" ref="a4ffdc37fa1b51b678885513d537e2c2f" args="(Matrix &amp;Ainv, Matrix &amp;A) const " -->
template&lt;class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a4ffdc37fa1b51b678885513d537e2c2f">invin</a> (<a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;Ainv, <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inversion (in place) <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="aa272de16b0e7d37cd7b7ba7c8283dd48"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::invin" ref="aa272de16b0e7d37cd7b7ba7c8283dd48" args="(Matrix &amp;A) const " -->
template&lt;class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#aa272de16b0e7d37cd7b7ba7c8283dd48">invin</a> (<a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inversion (the matrix A is modified) <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a51ca7ddd30d19ae01934ee7383700db6">div</a> (<a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;C, const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A, const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Division.  <a href="#a51ca7ddd30d19ae01934ee7383700db6"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a05a33cc8c5672a0e5a846dd7def1445a"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::inv" ref="a05a33cc8c5672a0e5a846dd7def1445a" args="(Matrix &amp;Ainv, const Matrix &amp;A, int &amp;nullity) const " -->
template&lt;class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a05a33cc8c5672a0e5a846dd7def1445a">inv</a> (<a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;Ainv, const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A, int &amp;nullity) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inversion w singular check. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a5813c0afe866f1a39bd30b101ff0f556"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::invin" ref="a5813c0afe866f1a39bd30b101ff0f556" args="(Matrix &amp;Ainv, Matrix &amp;A, int &amp;nullity) const " -->
template&lt;class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a5813c0afe866f1a39bd30b101ff0f556">invin</a> (<a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;Ainv, <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A, int &amp;nullity) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inversion (the matrix A is modified) w singular check. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="aed33fc7f72798ea5ef72ce436b22de61"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::rank" ref="aed33fc7f72798ea5ef72ce436b22de61" args="(const Matrix &amp;A) const " -->
template&lt;class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#aed33fc7f72798ea5ef72ce436b22de61">rank</a> (const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rank. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a6179c7803a9d9cf7562a97c7ad6ac5a9"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::rankin" ref="a6179c7803a9d9cf7562a97c7ad6ac5a9" args="(Matrix &amp;A) const " -->
template&lt;class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a6179c7803a9d9cf7562a97c7ad6ac5a9">rankin</a> (<a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">in-place Rank (the matrix is modified) <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a26ce42685f178c36b1011d4caa739534"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::det" ref="a26ce42685f178c36b1011d4caa739534" args="(const Matrix &amp;A) const " -->
template&lt;class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Element&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a26ce42685f178c36b1011d4caa739534">det</a> (const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">determinant <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a460e28abcea9843cbb3169a1326afd7e"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::detin" ref="a460e28abcea9843cbb3169a1326afd7e" args="(Matrix &amp;A) const " -->
template&lt;class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Element&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a460e28abcea9843cbb3169a1326afd7e">detin</a> (<a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">in-place Determinant (the matrix is modified) <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Solvers for Matrix (respecting BlasMatrix interface)</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>with Operand as right or left hand side </p>
</div></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand , class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a23f64eac2ccd4aab5d355327e4a6e36e">left_solve</a> (Operand &amp;X, const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A, const Operand &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">linear solve with matrix right hand side.  <a href="#a23f64eac2ccd4aab5d355327e4a6e36e"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand , class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a2bc9d37b4dcb04c9f96eb2f1ed1d6ae0">left_solve</a> (const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A, Operand &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">linear solve with matrix right hand side, the result is stored in-place in B.  <a href="#a2bc9d37b4dcb04c9f96eb2f1ed1d6ae0"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand , class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#ad8828d1d409f7eb5d9c477d2448c326f">right_solve</a> (Operand &amp;X, const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A, const Operand &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">linear solve with matrix right hand side.  <a href="#ad8828d1d409f7eb5d9c477d2448c326f"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class Operand , class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Operand &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a7006ea431e35619601c769454d25e193">right_solve</a> (const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A, Operand &amp;B) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">linear solve with matrix right hand side, the result is stored in-place in B.  <a href="#a7006ea431e35619601c769454d25e193"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ac64c4d4d4a06a586d0811e1cdb93d3f6"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::minpoly" ref="ac64c4d4d4a06a586d0811e1cdb93d3f6" args="(Polynomial &amp;P, const Matrix &amp;A) const " -->
template&lt;class Polynomial , class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Polynomial &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#ac64c4d4d4a06a586d0811e1cdb93d3f6">minpoly</a> (Polynomial &amp;P, const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">minimal polynomial computation. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ad6d91dff1b98d0ecb0429ce077e8e461"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::charpoly" ref="ad6d91dff1b98d0ecb0429ce077e8e461" args="(Polynomial &amp;P, const Matrix &amp;A) const " -->
template&lt;class Polynomial , class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">Polynomial &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#ad6d91dff1b98d0ecb0429ce077e8e461">charpoly</a> (Polynomial &amp;P, const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">characteristic polynomial computation. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a1c2900b2ce1dac59efaaa567f168f8f8"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::charpoly" ref="a1c2900b2ce1dac59efaaa567f168f8f8" args="(std::list&lt; Polynomial &gt; &amp;P, const Matrix &amp;A) const " -->
template&lt;class Polynomial , class Matrix &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">std::list&lt; Polynomial &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_blas_matrix_domain.html#a1c2900b2ce1dac59efaaa567f168f8f8">charpoly</a> (std::list&lt; Polynomial &gt; &amp;P, const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;A) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">characteristic polynomial computation. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;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="class_lin_box_1_1_blas_matrix_domain.html#a4a465969b676feff04a5617de44f628a">mulpoly</a> (Polynomial &amp;res, const Polynomial &amp;P1, const Polynomial &amp;P2) const </td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class Field&gt;<br/>
class LinBox::BlasMatrixDomain&lt; Field &gt;</h3>

<p>Interface for all functionnalities provided for <a class="el" href="class_lin_box_1_1_blas_matrix.html" title="BlasMatrix.">BlasMatrix</a>. </p>
<dl><dt><b>Examples: </b></dt><dd>
<p><a class="el" href="examples_2checksolve_8_c-example.html#_a7">examples/checksolve.C</a>.</p>
</dd>
</dl></div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aaeb9133641f430a745a9dc0f6b8a0964"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::mul" ref="aaeb9133641f430a745a9dc0f6b8a0964" args="(Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; mul </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>C</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand3 &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>multiplication. </p>
<p>C = A*B </p>

</div>
</div>
<a class="anchor" id="a8a778939495b0d208fff3668a60ab24c"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::add" ref="a8a778939495b0d208fff3668a60ab24c" args="(Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; add </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>C</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand3 &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>addition. </p>
<p>C = A+B </p>

</div>
</div>
<a class="anchor" id="a15eaf9401e8c7b6a29aa276fd85f47af"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::copy" ref="a15eaf9401e8c7b6a29aa276fd85f47af" args="(Operand1 &amp;B, const Operand2 &amp;A) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; copy </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>B</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</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. </p>
<p>B = A </p>

</div>
</div>
<a class="anchor" id="a95ca32e241364e9673aa9e756681009f"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::mul" ref="a95ca32e241364e9673aa9e756681009f" args="(Operand1 &amp;C, const Element &amp;alpha, const Operand2 &amp;A, const Operand3 &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; mul </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>C</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>alpha</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand3 &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>multiplication with scaling. </p>
<p>C = alpha.A*B </p>

</div>
</div>
<a class="anchor" id="a89fea0e0d4e0d9ef601a2d164da7d79e"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::mulin_left" ref="a89fea0e0d4e0d9ef601a2d164da7d79e" args="(Operand1 &amp;A, const Operand2 &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; mulin_left </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>In place multiplication. </p>
<p>A = A*B </p>

</div>
</div>
<a class="anchor" id="a50d681f2d52c4497df113e1e3e8b5348"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::mulin_right" ref="a50d681f2d52c4497df113e1e3e8b5348" args="(const Operand1 &amp;A, Operand2 &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand2&amp; mulin_right </td>
          <td>(</td>
          <td class="paramtype">const Operand1 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Operand2 &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>In place multiplication. </p>
<p>B = A*B </p>

</div>
</div>
<a class="anchor" id="a38a793731dd70968984d903c4116f0f7"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::axpy" ref="a38a793731dd70968984d903c4116f0f7" args="(Operand1 &amp;D, const Operand2 &amp;A, const Operand3 &amp;B, const Operand1 &amp;C) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; axpy </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand3 &amp;&#160;</td>
          <td class="paramname"><em>B</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand1 &amp;&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>axpy. </p>
<p>D = A*B + C </p>

</div>
</div>
<a class="anchor" id="a29ca57df5326a4c4d04951e531672732"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::axpyin" ref="a29ca57df5326a4c4d04951e531672732" args="(Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; axpyin </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>C</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand3 &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>axpyin. </p>
<p>C += A*B </p>

</div>
</div>
<a class="anchor" id="af8795c19e5b8785b7056936d6a81250b"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::maxpy" ref="af8795c19e5b8785b7056936d6a81250b" args="(Operand1 &amp;D, const Operand2 &amp;A, const Operand3 &amp;B, const Operand1 &amp;C) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; maxpy </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand3 &amp;&#160;</td>
          <td class="paramname"><em>B</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand1 &amp;&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>maxpy. </p>
<p>D = C - A*B </p>

</div>
</div>
<a class="anchor" id="ad0a95abebe2d1532bb3d0a27110466a4"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::maxpyin" ref="ad0a95abebe2d1532bb3d0a27110466a4" args="(Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; maxpyin </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>C</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand3 &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>maxpyin. </p>
<p>C -= A*B </p>

</div>
</div>
<a class="anchor" id="a5f9c4e9eaac7d0872c0b5befeffac924"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::axmy" ref="a5f9c4e9eaac7d0872c0b5befeffac924" args="(Operand1 &amp;D, const Operand2 &amp;A, const Operand3 &amp;B, const Operand1 &amp;C) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; axmy </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand3 &amp;&#160;</td>
          <td class="paramname"><em>B</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand1 &amp;&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>axmy. </p>
<p>D= A*B - C </p>

</div>
</div>
<a class="anchor" id="a52f1e26e7752af9833d464d05c9941ff"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::axmyin" ref="a52f1e26e7752af9833d464d05c9941ff" args="(Operand1 &amp;C, const Operand2 &amp;A, const Operand3 &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; axmyin </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>C</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand3 &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>axmyin. </p>
<p>C = A*B - C </p>

</div>
</div>
<a class="anchor" id="aba6f252adf754b283ebe61af978fbbdd"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::muladd" ref="aba6f252adf754b283ebe61af978fbbdd" args="(Operand1 &amp;D, const Element &amp;beta, const Operand1 &amp;C, const Element &amp;alpha, const Operand2 &amp;A, const Operand3 &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; muladd </td>
          <td>(</td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>beta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand1 &amp;&#160;</td>
          <td class="paramname"><em>C</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>alpha</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand3 &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>general matrix-matrix multiplication and addition with scaling. </p>
<p>D= beta.C + alpha.A*B </p>

</div>
</div>
<a class="anchor" id="ac44f4a8481b03684d5a3b02156667db4"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::muladdin" ref="ac44f4a8481b03684d5a3b02156667db4" args="(const Element &amp;beta, Operand1 &amp;C, const Element &amp;alpha, const Operand2 &amp;A, const Operand3 &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand1&amp; muladdin </td>
          <td>(</td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>beta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Operand1 &amp;&#160;</td>
          <td class="paramname"><em>C</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Element &amp;&#160;</td>
          <td class="paramname"><em>alpha</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand2 &amp;&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Operand3 &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>muladdin. </p>
<p>C= beta.C + alpha.A*B. </p>

</div>
</div>
<a class="anchor" id="a51ca7ddd30d19ae01934ee7383700db6"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::div" ref="a51ca7ddd30d19ae01934ee7383700db6" args="(Matrix &amp;C, const Matrix &amp;A, const Matrix &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a>&amp; div </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>C</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">const <a class="el" href="class_lin_box_1_1_zero_one.html">Matrix</a> &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Division. </p>
<p>C = A B^{-1} ==&gt; C . B = A </p>

</div>
</div>
<a class="anchor" id="a23f64eac2ccd4aab5d355327e4a6e36e"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::left_solve" ref="a23f64eac2ccd4aab5d355327e4a6e36e" args="(Operand &amp;X, const Matrix &amp;A, const Operand &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand&amp; left_solve </td>
          <td>(</td>
          <td class="paramtype">Operand &amp;&#160;</td>
          <td class="paramname"><em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">const Operand &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>linear solve with matrix right hand side. </p>
<p>AX=B </p>

</div>
</div>
<a class="anchor" id="a2bc9d37b4dcb04c9f96eb2f1ed1d6ae0"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::left_solve" ref="a2bc9d37b4dcb04c9f96eb2f1ed1d6ae0" args="(const Matrix &amp;A, Operand &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand&amp; left_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">Operand &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>linear solve with matrix right hand side, the result is stored in-place in B. </p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>A must be square AX=B , (B&lt;-X) </dd></dl>

</div>
</div>
<a class="anchor" id="ad8828d1d409f7eb5d9c477d2448c326f"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::right_solve" ref="ad8828d1d409f7eb5d9c477d2448c326f" args="(Operand &amp;X, const Matrix &amp;A, const Operand &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand&amp; right_solve </td>
          <td>(</td>
          <td class="paramtype">Operand &amp;&#160;</td>
          <td class="paramname"><em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">const Operand &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>linear solve with matrix right hand side. </p>
<p>XA=B </p>

</div>
</div>
<a class="anchor" id="a7006ea431e35619601c769454d25e193"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::right_solve" ref="a7006ea431e35619601c769454d25e193" args="(const Matrix &amp;A, Operand &amp;B) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Operand&amp; right_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">Operand &amp;&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>linear solve with matrix right hand side, the result is stored in-place in B. </p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>A must be square XA=B , (B&lt;-X) </dd></dl>

</div>
</div>
<a class="anchor" id="a4a465969b676feff04a5617de44f628a"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::mulpoly" ref="a4a465969b676feff04a5617de44f628a" args="(Polynomial &amp;res, const Polynomial &amp;P1, const Polynomial &amp;P2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Polynomial&amp; mulpoly </td>
          <td>(</td>
          <td class="paramtype">Polynomial &amp;&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Polynomial &amp;&#160;</td>
          <td class="paramname"><em>P1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Polynomial &amp;&#160;</td>
          <td class="paramname"><em>P2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Temporary: waiting for an implementation of a domain of polynomial </dd></dl>

</div>
</div>
<a class="anchor" id="a5b99c92431944aa37d31f71cfa40b4d5"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::write" ref="a5b99c92431944aa37d31f71cfa40b4d5" args="(std::ostream &amp;os, const Matrix &amp;A) 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 <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> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Print matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>Output stream to which matrix is written. </td></tr>
    <tr><td class="paramname">A</td><td>Matrix. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to os. </dd></dl>

</div>
</div>
<a class="anchor" id="af191b114ae4a53e261c609207be9a561"></a><!-- doxytag: member="LinBox::BlasMatrixDomain::read" ref="af191b114ae4a53e261c609207be9a561" args="(std::istream &amp;is, Matrix &amp;A) const " -->
<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>is</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> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">is</td><td>Input stream from which matrix is read. </td></tr>
    <tr><td class="paramname">A</td><td>Matrix. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to is. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="blas-domain_8h.html">blas-domain.h</a></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>