Sophie

Sophie

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

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: JIT_Matrix&lt; _Field, JIT_EntryGenerator &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_j_i_t___matrix.html">JIT_Matrix</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">JIT_Matrix&lt; _Field, JIT_EntryGenerator &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__blackbox.html">blackbox</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="LinBox::JIT_Matrix" -->
<p>Example of a blackbox that is space efficient, though not time efficient.  
 <a href="class_lin_box_1_1_j_i_t___matrix.html#details">More...</a></p>

<p><code>#include &lt;jit-matrix.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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_j_i_t___matrix.html#aa74f656a08ca58e0fb9fc2911491201b">JIT_Matrix</a> (_Field &amp;F, const size_t m, const size_t n, const JIT_EntryGenerator &amp;JIT)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">m by n matrix is constructed.  <a href="#aa74f656a08ca58e0fb9fc2911491201b"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class _Field, class JIT_EntryGenerator&gt;<br/>
class LinBox::JIT_Matrix&lt; _Field, JIT_EntryGenerator &gt;</h3>

<p>Example of a blackbox that is space efficient, though not time efficient. </p>
<p>Just In Time Matrix.</p>
<p>The matrix itself is not stored in memory. Rather, an EntryGenerator function is called to provide the entries. The entry generator is called once for each entry during an apply or applyTranspose operation.</p>
<p>An toy example of its use is the <a class="el" href="class_lin_box_1_1_hilbert.html" title="Example of a blackbox that is space efficient, though not time efficient.">Hilbert</a> matrix, whose <img class="formulaInl" alt="$i,j$" src="form_35.png"/> entry is generated by the formula <img class="formulaInl" alt="$1/(i+j+2)$" src="form_36.png"/> in zero based indexing. The motivating examples were matrices also defined by formula, the Paley type matrices. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>{MSW07}% ISSAC 07 paper In that context block structured turned out to be essential and the <a class="el" href="class_lin_box_1_1_j_i_t___matrix.html" title="Example of a blackbox that is space efficient, though not time efficient.">JIT_Matrix</a> class is primarily intended for block structured matrices, the JIT entries being <a class="el" href="group__matrix.html" title="These matrix representations provide iterators for element access.">matrix</a> blocks.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">_Field</td><td>only need provide the <code>init()</code> and <code>axpyin()</code> functions.</td></tr>
    <tr><td class="paramname">JIT_EntryGenerator</td><td><code>gen()</code> is a function object defining the matrix by providing <code>gen(e, i, j)</code> which sets field element e to the <code>i</code>,j entry of the matrix. Indexing is zero based. </td></tr>
  </table>
  </dd>
</dl>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa74f656a08ca58e0fb9fc2911491201b"></a><!-- doxytag: member="LinBox::JIT_Matrix::JIT_Matrix" ref="aa74f656a08ca58e0fb9fc2911491201b" args="(_Field &amp;F, const size_t m, const size_t n, const JIT_EntryGenerator &amp;JIT)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lin_box_1_1_j_i_t___matrix.html">JIT_Matrix</a> </td>
          <td>(</td>
          <td class="paramtype">_Field &amp;&#160;</td>
          <td class="paramname"><em>F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const JIT_EntryGenerator &amp;&#160;</td>
          <td class="paramname"><em>JIT</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>m by n matrix is constructed. </p>
<p>JIT(Field::Element&amp; e, size_t i, size_t j) is a function object which assigns the i,j entry to e (and returns a reference to e) and must be valid for 0 &lt;= i &lt; m, 0 &lt;= j &lt; n. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>jit-matrix.h</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>