<!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: Hom< Source, Target > 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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 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 Structures</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data 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_hom.html">Hom</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">Hom< Source, Target > Class Template Reference<div class="ingroups"><a class="el" href="group__field.html">field</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="LinBox::Hom" --> <p>map element of source ring(field) to target ringAn instance of <a class="el" href="class_lin_box_1_1_hom.html" title="map element of source ring(field) to target ringAn instance of Hom is a homomorphism from a ring of t...">Hom</a> is a homomorphism from a ring of type Source to a ring (usually field) of type Target. <a href="class_lin_box_1_1_hom.html#details">More...</a></p> <p><code>#include <hom.h></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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_hom.html#a63b764be4d814b6dfd4cc4f505d65e72">Hom</a> (const Source &S, const Target &T)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a homomorphism from a specific source ring S and target field T with Hom(S, T). <a href="#a63b764be4d814b6dfd4cc4f505d65e72"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">Elt & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_hom.html#aba28a1b2743a43edd5175eb5be4e8861">image</a> (Elt &t, const SrcElt &s)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">image(t, s) implements the homomorphism, assigning the t the value of the image of s under the mapping. <a href="#aba28a1b2743a43edd5175eb5be4e8861"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">SrcElt & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_lin_box_1_1_hom.html#aa1471a6eac9cc2ba73afa2c396e04767">preimage</a> (SrcElt &s, const Elt &t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">If possible, preimage(s,t) assigns a value to s such that the image of s is t. <a href="#aa1471a6eac9cc2ba73afa2c396e04767"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><h3>template<class Source, class Target><br/> class LinBox::Hom< Source, Target ></h3> <p>map element of source ring(field) to target ring</p> <p>An instance of <a class="el" href="class_lin_box_1_1_hom.html" title="map element of source ring(field) to target ringAn instance of Hom is a homomorphism from a ring of t...">Hom</a> is a homomorphism from a ring of type Source to a ring (usually field) of type Target. </p> <p>The intended use is that it will be a natural mapping. For instance:</p> <p><a class="el" href="class_lin_box_1_1_hom.html" title="map element of source ring(field) to target ringAn instance of Hom is a homomorphism from a ring of t...">Hom</a><Unparametric<Integers>, Modular<integer> >(Z, Zp) nat; // is the mod p mapping.</p> <p><a class="el" href="class_lin_box_1_1_hom.html" title="map element of source ring(field) to target ringAn instance of Hom is a homomorphism from a ring of t...">Hom</a><<NTL_ZZp, Modular<integer> >(Zp, Mp) nat;</p> <p>// is an isomorphism, provided the Zp and Mp have same characteristic. <a class="el" href="class_lin_box_1_1_hom.html" title="map element of source ring(field) to target ringAn instance of Hom is a homomorphism from a ring of t...">Hom</a><Unparametric<NTL_ZZp, Unparameteric<NTL_ZZpEx> >(Z3, Z27) nat; // is the embedding of the prime field in the extension. </p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a63b764be4d814b6dfd4cc4f505d65e72"></a><!-- doxytag: member="LinBox::Hom::Hom" ref="a63b764be4d814b6dfd4cc4f505d65e72" args="(const Source &S, const Target &T)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_lin_box_1_1_hom.html">Hom</a> </td> <td>(</td> <td class="paramtype">const Source & </td> <td class="paramname"><em>S</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Target & </td> <td class="paramname"><em>T</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Construct a homomorphism from a specific source ring S and target field T with Hom(S, T). </p> <p>Specializations define all actual homomorphisms. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="aba28a1b2743a43edd5175eb5be4e8861"></a><!-- doxytag: member="LinBox::Hom::image" ref="aba28a1b2743a43edd5175eb5be4e8861" args="(Elt &t, const SrcElt &s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Elt& image </td> <td>(</td> <td class="paramtype">Elt & </td> <td class="paramname"><em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const SrcElt & </td> <td class="paramname"><em>s</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>image(t, s) implements the homomorphism, assigning the t the value of the image of s under the mapping. </p> <p>The default behaviour goes through integers. </p> </div> </div> <a class="anchor" id="aa1471a6eac9cc2ba73afa2c396e04767"></a><!-- doxytag: member="LinBox::Hom::preimage" ref="aa1471a6eac9cc2ba73afa2c396e04767" args="(SrcElt &s, const Elt &t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">SrcElt& preimage </td> <td>(</td> <td class="paramtype">SrcElt & </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const Elt & </td> <td class="paramname"><em>t</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>If possible, preimage(s,t) assigns a value to s such that the image of s is t. </p> <p>Otherwise behaviour is unspecified. An error may be thrown, a conventional value may be set, or an arb value set.</p> <p>The default behaviour goes through integers. </p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>hom.h</li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Tue Aug 30 2011 for linbox by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>