Sophie

Sophie

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

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: smith.C File 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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><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="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="dir_671622003a16b28c7a3d31ed75bf6191.html">examples</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">smith.C File Reference</div>  </div>
</div>
<div class="contents">
<div class="textblock"><code>#include &lt;iostream&gt;</code><br/>
<code>#include &lt;string&gt;</code><br/>
<code>#include &lt;vector&gt;</code><br/>
<code>#include &lt;list&gt;</code><br/>
<code>#include &quot;linbox/field/modular-int32.h&quot;</code><br/>
<code>#include &quot;linbox/blackbox/sparse.h&quot;</code><br/>
<code>#include &quot;linbox/algorithms/smith-form-sparseelim-local.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="timer_8h.html">linbox/util/timer.h</a>&quot;</code><br/>
<code>#include &quot;linbox/field/unparametric.h&quot;</code><br/>
<code>#include &quot;linbox/field/local2_32.h&quot;</code><br/>
<code>#include &quot;linbox/field/PIR-modular-int32.h&quot;</code><br/>
<code>#include &quot;linbox/algorithms/smith-form-local.h&quot;</code><br/>
<code>#include &quot;linbox/algorithms/smith-form-local2.h&quot;</code><br/>
<code>#include &lt;linbox/algorithms/smith-form-iliopoulos.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="smith-form-adaptive_8h.html">linbox/algorithms/smith-form-adaptive.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="blackbox_2dense_8h.html">linbox/blackbox/dense.h</a>&quot;</code><br/>
</div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class PIR &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="smith_8_c.html#ac924a785b0083e0f26562df322262428">Mat</a> (<a class="el" href="class_lin_box_1_1_dense_matrix.html">DenseMatrix</a>&lt; PIR &gt; &amp;M, PIR &amp;R, int n, string src, string file, string format)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Output matrix is determined by src which may be: "random-rough" This mat will have s, near sqrt(n), distinct invariant factors, each repeated twice), involving the s primes 101, 103, ...  <a href="#ac924a785b0083e0f26562df322262428"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"></div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="ac924a785b0083e0f26562df322262428"></a><!-- doxytag: member="smith.C::Mat" ref="ac924a785b0083e0f26562df322262428" args="(DenseMatrix&lt; PIR &gt; &amp;M, PIR &amp;R, int n, string src, string file, string format)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Mat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_lin_box_1_1_dense_matrix.html">DenseMatrix</a>&lt; PIR &gt; &amp;&#160;</td>
          <td class="paramname"><em>M</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">PIR &amp;&#160;</td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>format</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Output matrix is determined by src which may be: "random-rough" This mat will have s, near sqrt(n), distinct invariant factors, each repeated twice), involving the s primes 101, 103, ... </p>
<p>"random" This mat will have the same nontrivial invariant factors as diag(1,2,3,5,8, ... 999, 0, 1, 2, ...). "fib" This mat will have the same nontrivial invariant factors as diag(1,2,3,5,8, ... fib(k)), where k is about sqrt(n). The basic matrix is block diagonal with i-th block of order i and being a tridiagonal {-1,0,1} matrix whose snf = diag(i-1 1's, fib(i)), where fib(1) = 1, fib(2) = 2. But note that, depending on n, the last block may be truncated, thus repeating an earlier fibonacci number. "file" (or any other string) mat read from named file with format "sparse" or "dense". Also "tref" and file with format "kdense" </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="examples_2smith_8_c-example.html#a0">examples/smith.C</a>.</dd>
</dl>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Aug 30 2011 for linbox by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>