Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/matricesforhomalg/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 7.8.2025 mit Größe 72 kB image not shown  

SSL chap3_mj.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/matricesforhomalg/doc/chap3_mj.html


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<script type="text/javascript"
  src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<title>GAP (MatricesForHomalg) - Chapter 3: Rings</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap3"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chapA_mj.html">A</a>  <a href="chapB_mj.html">B</a>  <a href="chapC_mj.html">C</a>  <a href="chapD_mj.html">D</a>  <a href="chapE_mj.html">E</a>  <a href="chapF_mj.html">F</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap2_mj.html">[Previous Chapter]</a>    <a href="chap4_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap3.html">[MathJax off]</a></p>
<p><a id="X81897F6082CACB59" name="X81897F6082CACB59"></a></p>
<div class="ChapSects"><a href="chap3_mj.html#X81897F6082CACB59">3 <span class="Heading">Rings</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.html#X8252B2F483D80E41">3.1 <span class="Heading">Rings: Category and Representations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X85E217C67DD633AB">3.1-1 IsHomalgRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X81DC249883163C01">3.1-2 IsPreHomalgRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X80A410ED8500DA7E">3.1-3 IsHomalgRingElement</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8097E89E7B6EF731">3.1-4 IsHomalgInternalRingRep</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.html#X7C7962B97E6CDFE2">3.2 <span class="Heading">Rings: Constructors</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X78AC74CB802A8A49">3.2-1 HomalgRingOfIntegers</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X85D9DDE384304BAB"><code>3.2-2 \/</code></a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.html#X7D171A1C797E27C9">3.3 <span class="Heading">Rings: Properties</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7C48437187E668F3">3.3-1 IsZero</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7F80A53387A0C23D">3.3-2 IsNonZeroRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X84F3040687E68338">3.3-3 ContainsAField</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7C337D0F8413FE38">3.3-4 IsRationalsForHomalg</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X86221E0E8416F1CF">3.3-5 IsFieldForHomalg</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X805112347CF99F02">3.3-6 IsDivisionRingForHomalg</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X799A9A9F7A26C6B2">3.3-7 IsIntegersForHomalg</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8548FE4E8283ACC6">3.3-8 IsResidueClassRingOfTheIntegers</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7F9F59B5857F19A3">3.3-9 IsBezoutRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X79D8752F78215FC1">3.3-10 IsIntegrallyClosedDomain</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X864BF29E7B5D3305">3.3-11 IsUniqueFactorizationDomain</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X86EF914787EB5572">3.3-12 IsKaplanskyHermite</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X86C625EF7E417AA6">3.3-13 IsDedekindDomain</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X855E560A7F40B2BF">3.3-14 IsDiscreteValuationRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X80E0C8B28039B8F0">3.3-15 IsFreePolynomialRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X850A0EAB7E017D5E">3.3-16 IsWeylRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7EFB456286B4F9DB">3.3-17 IsLocalizedWeylRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X86558C9F8474DA39">3.3-18 IsGlobalDimensionFinite</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7AE1C7297A66F116">3.3-19 IsLeftGlobalDimensionFinite</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X799A94467B8EC416">3.3-20 IsRightGlobalDimensionFinite</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X81269E1881D45163">3.3-21 HasInvariantBasisProperty</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8758DFD57E83925D">3.3-22 IsLocal</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7AAF0A3178E23B09">3.3-23 IsSemiLocalRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7EE2F1C187131E19">3.3-24 IsIntegralDomain</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7FEB8A337CC92955">3.3-25 IsHereditary</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7D4AC0177C6D85A8">3.3-26 IsLeftHereditary</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7DE025D781FEBD04">3.3-27 IsRightHereditary</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X783ACC147A7F82AA">3.3-28 IsHermite</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7A33BCFE7B6C6817">3.3-29 IsLeftHermite</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X830989817DC97403">3.3-30 IsRightHermite</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7AA2911E802BE73D">3.3-31 IsNoetherian</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7803DB3A7E6689B6">3.3-32 IsLeftNoetherian</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X78A93EFA7B677CED">3.3-33 IsRightNoetherian</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8373421F7E085763">3.3-34 IsCohenMacaulay</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X83CBA38E81DC4A72">3.3-35 IsGorenstein</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7E7AEFBE7801F196">3.3-36 IsKoszul</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7AF81F6383F5CFCA">3.3-37 IsArtinian</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7E000F5780A17602">3.3-38 IsLeftArtinian</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7C34A319827FFDDB">3.3-39 IsRightArtinian</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8290570679F86CE8">3.3-40 IsOreDomain</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8528CA397BC76826">3.3-41 IsLeftOreDomain</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7FC7E8317BF9B9CE">3.3-42 IsRightOreDomain</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X85F1485F840E2354">3.3-43 IsPrincipalIdealRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7BF4EFB67DCEBF6D">3.3-44 IsLeftPrincipalIdealRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X83858198873F7760">3.3-45 IsRightPrincipalIdealRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7CF02C4785F0EAB5">3.3-46 IsRegular</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7FB92D467B9B6707">3.3-47 IsFiniteFreePresentationRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7B0EE3BF8402793B">3.3-48 IsLeftFiniteFreePresentationRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X839A82AC7D0D7BA1">3.3-49 IsRightFiniteFreePresentationRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8491CBBE862D4FFB">3.3-50 IsSimpleRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X847DEBCF872F5175">3.3-51 IsSemiSimpleRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X842C9ABA807DB431">3.3-52 IsSuperCommutative</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X803259617B5F89AE">3.3-53 BasisAlgorithmRespectsPrincipalIdeals</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X781617F678CC0BA8">3.3-54 AreUnitsCentral</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X85B6710082984863">3.3-55 IsMinusOne</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7A0A3A927BE3F352">3.3-56 IsMonic</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X785EF83B8054D2FF">3.3-57 IsMonicUptoUnit</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X811A01D5803ADCA3">3.3-58 IsLeftRegular</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7E99731F83A41777">3.3-59 IsRightRegular</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X80A3294C834D8F21">3.3-60 IsRegular</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.html#X867290E7847A5101">3.4 <span class="Heading">Rings: Attributes</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8066502785A109B8">3.4-1 Inverse</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7AFD26D480AA9323">3.4-2 homalgTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X816D807781E8F854">3.4-3 RingElementConstructor</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7E5426C67AA9A6E5">3.4-4 TypeOfHomalgMatrix</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X80504BE983BD1A70">3.4-5 ConstructorForHomalgMatrices</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X799B5F797F809EE5">3.4-6 Zero</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X84701329860750C3">3.4-7 One</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X810D03AA827BD128">3.4-8 MinusOne</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7CC4312578DC42B6">3.4-9 ProductOfIndeterminates</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7DF4F71C86835DCF">3.4-10 RationalParameters</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X80D585E1793D4552">3.4-11 IndeterminatesOfPolynomialRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X84CE78E379A34C56">3.4-12 RelativeIndeterminatesOfPolynomialRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7F4A050A87C042E5">3.4-13 IndeterminateCoordinatesOfRingOfDerivations</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X821FCC287E4FB92F">3.4-14 RelativeIndeterminateCoordinatesOfRingOfDerivations</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X78776EBA7DC179B4">3.4-15 IndeterminateDerivationsOfRingOfDerivations</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8522A7987C6483ED">3.4-16 RelativeIndeterminateDerivationsOfRingOfDerivations</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7C15E6647945C0E3">3.4-17 IndeterminateAntiCommutingVariablesOfExteriorRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7C63673A80911044">3.4-18 RelativeIndeterminateAntiCommutingVariablesOfExteriorRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7BBEF7097B459D33">3.4-19 IndeterminatesOfExteriorRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8235D10781BE8003">3.4-20 CoefficientsRing</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X789CF8B778A0C58D">3.4-21 KrullDimension</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8735C56B7BEBC86E">3.4-22 LeftGlobalDimension</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7E6C5B5781EF78C5">3.4-23 RightGlobalDimension</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7D511B3E7A50AB2A">3.4-24 GlobalDimension</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X792D56C278E346B1">3.4-25 GeneralLinearRank</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X79BCB23D873268CB">3.4-26 ElementaryRank</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X822907CB7919EEF2">3.4-27 StableRank</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X826BE1E87EE023B2">3.4-28 AssociatedGradedRing</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.html#X7DDAB86C7A7FEDA9">3.5 <span class="Heading">Rings: Operations and Functions</span></a>
</span>
</div>
</div>

<h3>3 <span class="Heading">Rings</span></h3>

<p><a id="X8252B2F483D80E41" name="X8252B2F483D80E41"></a></p>

<h4>3.1 <span class="Heading">Rings: Category and Representations</span></h4>

<p><a id="X85E217C67DD633AB" name="X85E217C67DD633AB"></a></p>

<h5>3.1-1 IsHomalgRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsHomalgRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>The <strong class="pkg">GAP</strong> category of <strong class="pkg">homalg</strong> rings.</p>

<p>(It is a subcategory of the <strong class="pkg">GAP</strong> categories <code class="code">IsStructureObject</code> and <code class="code">IsHomalgRingOrModule</code>.)</p>


<div class="example"><pre>
DeclareCategory( "IsHomalgRing",
        IsStructureObject and
        IsRingWithOne and
        IsHomalgRingOrModule );
</pre></div>

<p><a id="X81DC249883163C01" name="X81DC249883163C01"></a></p>

<h5>3.1-2 IsPreHomalgRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsPreHomalgRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>The <strong class="pkg">GAP</strong> category of pre <strong class="pkg">homalg</strong> rings.</p>

<p>(It is a subcategory of the <strong class="pkg">GAP</strong> category <code class="code">IsHomalgRing</code>.) <br /> <br /> These are rings with an incomplete <code class="code">homalgTable</code>. They provide flexibility for developers to support a wider class of rings, as was necessary for the development of the <strong class="pkg">LocalizeRingForHomalg</strong> package. They are not suited for direct usage.</p>


<div class="example"><pre>
DeclareCategory( "IsPreHomalgRing",
        IsHomalgRing );
</pre></div>

<p><a id="X80A410ED8500DA7E" name="X80A410ED8500DA7E"></a></p>

<h5>3.1-3 IsHomalgRingElement</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsHomalgRingElement</code>( <var class="Arg">r</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>The <strong class="pkg">GAP</strong> category of elements of <strong class="pkg">homalg</strong> rings which are not GAP4 built-in.</p>


<div class="example"><pre>
DeclareCategory( "IsHomalgRingElement",
        IsExtAElement and
        IsExtLElement and
        IsExtRElement and
        IsAdditiveElementWithInverse and
        IsMultiplicativeElementWithInverse and
        IsAssociativeElement and
        IsAdditivelyCommutativeElement and
        ## all the above guarantees IsHomalgRingElement => IsRingElement (in GAP4)
        IsAttributeStoringRep );
</pre></div>

<p><a id="X8097E89E7B6EF731" name="X8097E89E7B6EF731"></a></p>

<h5>3.1-4 IsHomalgInternalRingRep</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsHomalgInternalRingRep</code>( <var class="Arg">R</var> )</td><td class="tdright">( representation )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>The internal representation of <strong class="pkg">homalg</strong> rings.</p>

<p>(It is a representation of the <strong class="pkg">GAP</strong> category <code class="code">IsHomalgRing</code>.)</p>

<p><a id="X7C7962B97E6CDFE2" name="X7C7962B97E6CDFE2"></a></p>

<h4>3.2 <span class="Heading">Rings: Constructors</span></h4>

<p>This section describes how to construct rings for use with <strong class="pkg">MatricesForHomalg</strong>, which exploit the <strong class="pkg">GAP4</strong>-built-in abilities to perform the necessary ring operations. By this we also mean necessary matrix operations over such rings. For the purposes of <strong class="pkg">MatricesForHomalg</strong> only the ring of integers is properly supported in <strong class="pkg">GAP4</strong>. The <strong class="pkg">GAP4</strong> extension packages <strong class="pkg">Gauss</strong> and <strong class="pkg">GaussForHomalg</strong> extend these built-in abilities to operations with sparse matrices over the ring <span class="SimpleMath">\(ℤ / p^n\)</span> for <span class="SimpleMath">\(p\)</span> prime and <span class="SimpleMath">\(n\)</span> positive.</p>

<p>If a ring <span class="SimpleMath">\(R\)</span> is supported in <strong class="pkg">MatricesForHomalg</strong> any of its residue class rings <span class="SimpleMath">\(R/I\)</span> is supported as well, provided the ideal <span class="SimpleMath">\(I\)</span> of relations admits a finite set of generators as a left resp. right ideal (--> <code class="func">\/</code> (<a href="chap3_mj.html#X85D9DDE384304BAB"><span class="RefLink">3.2-2</span></a>)). This is immediate for commutative noetherian rings.</p>

<p><a id="X78AC74CB802A8A49" name="X78AC74CB802A8A49"></a></p>

<h5>3.2-1 HomalgRingOfIntegers</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HomalgRingOfIntegers</code>(  )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> ring</p>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HomalgRingOfIntegers</code>( <var class="Arg">c</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> ring</p>

<p>The no-argument form returns the ring of integers <span class="SimpleMath">\(ℤ\)</span> for <strong class="pkg">homalg</strong>.</p>

<p>The one-argument form accepts an integer <var class="Arg">c</var> and returns the ring <span class="SimpleMath">\(ℤ / c \)</span> for <strong class="pkg">homalg</strong>:</p>


<ul>
<li><p><var class="Arg">c</var><span class="SimpleMath">\( = 0\)</span> defaults to <span class="SimpleMath">\(ℤ\)</span></p>

</li>
<li><p>if <var class="Arg">c</var> is a prime power then the package <strong class="pkg">GaussForHomalg</strong> is loaded (if it fails to load an error is issued)</p>

</li>
<li><p>otherwise, the residue class ring constructor <code class="code">/</code> (--> <code class="func">\/</code> (<a href="chap3_mj.html#X85D9DDE384304BAB"><span class="RefLink">3.2-2</span></a>)) is invoked</p>

</li>
</ul>
<p>The operation <code class="code">SetRingProperties</code> is automatically invoked to set the ring properties.</p>

<p>If for some reason you don't want to use the GaussForHomalg package (maybe because you didn't install it), then use</p>

<p><code class="code">HomalgRingOfIntegers</code>( ) <code class="code">/</code> <var class="Arg">c</var>;</p>

<p>but note that the computations will then be considerably slower.</p>

<p><a id="X85D9DDE384304BAB" name="X85D9DDE384304BAB"></a></p>

<h5><code>3.2-2 \/</code></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ \/</code>( <var class="Arg">R</var>, <var class="Arg">ring_rel</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> ring</p>

<p>This is the <strong class="pkg">homalg</strong> constructor for residue class rings <var class="Arg">R</var> <span class="SimpleMath">\(/ I\)</span>, where <var class="Arg">R</var> is a <strong class="pkg">homalg</strong> ring and <span class="SimpleMath">\(I=\)</span><var class="Arg">ring_rel</var> is the ideal of relations generated by <var class="Arg">ring_rel</var>. <var class="Arg">ring_rel</var> might be:</p>


<ul>
<li><p>a set of ring relations of a left resp. right ideal</p>

</li>
<li><p>a list of ring elements of <var class="Arg">R</var></p>

</li>
<li><p>a ring element of <var class="Arg">R</var></p>

</li>
</ul>
<p>For noncommutative rings: In the first case the set of ring relations should generate the ideal of relations <span class="SimpleMath">\(I\)</span> as left resp. right ideal, and their involutions should generate <span class="SimpleMath">\(I\)</span> as right resp. left ideal. If <var class="Arg">ring_rel</var> is not a set of relations, a <em>left</em> set of relations is constructed.</p>

<p>The operation <code class="code">SetRingProperties</code> is automatically invoked to set the ring properties.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">zz := HomalgRingOfIntegers( );</span>
Z
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( zz );</span>
<An internal ring>
<span class="GAPprompt">gap></span> <span class="GAPinput">Z256 := zz / 2^8;</span>
Z/( 256 )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( Z256 );</span>
<A residue class ring>
<span class="GAPprompt">gap></span> <span class="GAPinput">Z2 := Z256 / 6;</span>
Z/( 256, 6 )
<span class="GAPprompt">gap></span> <span class="GAPinput">BasisOfRows( MatrixOfRelations( Z2 ) );</span>
<An unevaluated non-zero 1 x 1 matrix over an internal ring>
<span class="GAPprompt">gap></span> <span class="GAPinput">Z2;</span>
Z/( 2 )
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( Z2 );</span>
<A residue class ring>
</pre></div>

<p><a id="X7D171A1C797E27C9" name="X7D171A1C797E27C9"></a></p>

<h4>3.3 <span class="Heading">Rings: Properties</span></h4>

<p>The following properties are declared for <strong class="pkg">homalg</strong> rings. Note that (apart from so-called true and immediate methods (--> <a href="chapC_mj.html#X86BB747287348853"><span class="RefLink">C.1</span></a>)) there are no methods installed for ring properties. This means that if the value of the ring property <code class="code">Prop</code> is not set for a <strong class="pkg">homalg</strong> ring <var class="Arg">R</var>, then</p>

<p><code class="code">Prop</code>( <var class="Arg">R</var> );</p>

<p>will cause an error. One can use the usual <strong class="pkg">GAP4</strong> mechanism to check if the value of the property is set or not</p>

<p><code class="code">HasProp</code>( <var class="Arg">R</var> );</p>

<p>If you discover that a specific property <code class="code">Prop</code> is missing for a certain <strong class="pkg">homalg</strong> ring <var class="Arg">R</var> you can it add using the usual <strong class="pkg">GAP4</strong> mechanism</p>

<p><code class="code">SetProp</code>( <var class="Arg">R</var>, true );</p>

<p>or</p>

<p><code class="code">SetProp</code>( <var class="Arg">R</var>, false );</p>

<p>Be very cautious with setting "missing" properties to <strong class="pkg">homalg</strong> objects: If the value you set is mathematically wrong <strong class="pkg">homalg</strong> will probably draw wrong conclusions and might return wrong results.</p>

<p><a id="X7C48437187E668F3" name="X7C48437187E668F3"></a></p>

<h5>3.3-1 IsZero</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsZero</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>Check if the ring <var class="Arg">R</var> is the zero ring, i.e., if <code class="code">One</code><span class="SimpleMath">\((\)</span><var class="Arg">R</var><span class="SimpleMath">\()=\)</span><code class="code">Zero</code><span class="SimpleMath">\((\)</span><var class="Arg">R</var><span class="SimpleMath">\()\)</span>.</p>

<p><a id="X7F80A53387A0C23D" name="X7F80A53387A0C23D"></a></p>

<h5>3.3-2 IsNonZeroRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsNonZeroRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>Check if the ring <var class="Arg">R</var> is not the zero ring, i.e., if <code class="code">One</code><span class="SimpleMath">\((\)</span><var class="Arg">R</var><span class="SimpleMath">\()\)</span> is different from <code class="code">Zero</code><span class="SimpleMath">\((\)</span><var class="Arg">R</var><span class="SimpleMath">\()\)</span>.</p>

<p><a id="X84F3040687E68338" name="X84F3040687E68338"></a></p>

<h5>3.3-3 ContainsAField</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ContainsAField</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7C337D0F8413FE38" name="X7C337D0F8413FE38"></a></p>

<h5>3.3-4 IsRationalsForHomalg</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRationalsForHomalg</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X86221E0E8416F1CF" name="X86221E0E8416F1CF"></a></p>

<h5>3.3-5 IsFieldForHomalg</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsFieldForHomalg</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X805112347CF99F02" name="X805112347CF99F02"></a></p>

<h5>3.3-6 IsDivisionRingForHomalg</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsDivisionRingForHomalg</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X799A9A9F7A26C6B2" name="X799A9A9F7A26C6B2"></a></p>

<h5>3.3-7 IsIntegersForHomalg</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsIntegersForHomalg</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X8548FE4E8283ACC6" name="X8548FE4E8283ACC6"></a></p>

<h5>3.3-8 IsResidueClassRingOfTheIntegers</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsResidueClassRingOfTheIntegers</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7F9F59B5857F19A3" name="X7F9F59B5857F19A3"></a></p>

<h5>3.3-9 IsBezoutRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsBezoutRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X79D8752F78215FC1" name="X79D8752F78215FC1"></a></p>

<h5>3.3-10 IsIntegrallyClosedDomain</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsIntegrallyClosedDomain</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X864BF29E7B5D3305" name="X864BF29E7B5D3305"></a></p>

<h5>3.3-11 IsUniqueFactorizationDomain</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsUniqueFactorizationDomain</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X86EF914787EB5572" name="X86EF914787EB5572"></a></p>

<h5>3.3-12 IsKaplanskyHermite</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsKaplanskyHermite</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X86C625EF7E417AA6" name="X86C625EF7E417AA6"></a></p>

<h5>3.3-13 IsDedekindDomain</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsDedekindDomain</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X855E560A7F40B2BF" name="X855E560A7F40B2BF"></a></p>

<h5>3.3-14 IsDiscreteValuationRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsDiscreteValuationRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X80E0C8B28039B8F0" name="X80E0C8B28039B8F0"></a></p>

<h5>3.3-15 IsFreePolynomialRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsFreePolynomialRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X850A0EAB7E017D5E" name="X850A0EAB7E017D5E"></a></p>

<h5>3.3-16 IsWeylRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsWeylRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7EFB456286B4F9DB" name="X7EFB456286B4F9DB"></a></p>

<h5>3.3-17 IsLocalizedWeylRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLocalizedWeylRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X86558C9F8474DA39" name="X86558C9F8474DA39"></a></p>

<h5>3.3-18 IsGlobalDimensionFinite</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsGlobalDimensionFinite</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7AE1C7297A66F116" name="X7AE1C7297A66F116"></a></p>

<h5>3.3-19 IsLeftGlobalDimensionFinite</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftGlobalDimensionFinite</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X799A94467B8EC416" name="X799A94467B8EC416"></a></p>

<h5>3.3-20 IsRightGlobalDimensionFinite</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightGlobalDimensionFinite</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X81269E1881D45163" name="X81269E1881D45163"></a></p>

<h5>3.3-21 HasInvariantBasisProperty</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HasInvariantBasisProperty</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X8758DFD57E83925D" name="X8758DFD57E83925D"></a></p>

<h5>3.3-22 IsLocal</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLocal</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7AAF0A3178E23B09" name="X7AAF0A3178E23B09"></a></p>

<h5>3.3-23 IsSemiLocalRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSemiLocalRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7EE2F1C187131E19" name="X7EE2F1C187131E19"></a></p>

<h5>3.3-24 IsIntegralDomain</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsIntegralDomain</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7FEB8A337CC92955" name="X7FEB8A337CC92955"></a></p>

<h5>3.3-25 IsHereditary</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsHereditary</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7D4AC0177C6D85A8" name="X7D4AC0177C6D85A8"></a></p>

<h5>3.3-26 IsLeftHereditary</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftHereditary</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7DE025D781FEBD04" name="X7DE025D781FEBD04"></a></p>

<h5>3.3-27 IsRightHereditary</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightHereditary</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X783ACC147A7F82AA" name="X783ACC147A7F82AA"></a></p>

<h5>3.3-28 IsHermite</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsHermite</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7A33BCFE7B6C6817" name="X7A33BCFE7B6C6817"></a></p>

<h5>3.3-29 IsLeftHermite</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftHermite</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X830989817DC97403" name="X830989817DC97403"></a></p>

<h5>3.3-30 IsRightHermite</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightHermite</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7AA2911E802BE73D" name="X7AA2911E802BE73D"></a></p>

<h5>3.3-31 IsNoetherian</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsNoetherian</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7803DB3A7E6689B6" name="X7803DB3A7E6689B6"></a></p>

<h5>3.3-32 IsLeftNoetherian</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftNoetherian</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X78A93EFA7B677CED" name="X78A93EFA7B677CED"></a></p>

<h5>3.3-33 IsRightNoetherian</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightNoetherian</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X8373421F7E085763" name="X8373421F7E085763"></a></p>

<h5>3.3-34 IsCohenMacaulay</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCohenMacaulay</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X83CBA38E81DC4A72" name="X83CBA38E81DC4A72"></a></p>

<h5>3.3-35 IsGorenstein</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsGorenstein</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7E7AEFBE7801F196" name="X7E7AEFBE7801F196"></a></p>

<h5>3.3-36 IsKoszul</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsKoszul</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7AF81F6383F5CFCA" name="X7AF81F6383F5CFCA"></a></p>

<h5>3.3-37 IsArtinian</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsArtinian</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7E000F5780A17602" name="X7E000F5780A17602"></a></p>

<h5>3.3-38 IsLeftArtinian</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftArtinian</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7C34A319827FFDDB" name="X7C34A319827FFDDB"></a></p>

<h5>3.3-39 IsRightArtinian</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightArtinian</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X8290570679F86CE8" name="X8290570679F86CE8"></a></p>

<h5>3.3-40 IsOreDomain</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsOreDomain</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X8528CA397BC76826" name="X8528CA397BC76826"></a></p>

<h5>3.3-41 IsLeftOreDomain</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftOreDomain</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7FC7E8317BF9B9CE" name="X7FC7E8317BF9B9CE"></a></p>

<h5>3.3-42 IsRightOreDomain</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightOreDomain</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X85F1485F840E2354" name="X85F1485F840E2354"></a></p>

<h5>3.3-43 IsPrincipalIdealRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsPrincipalIdealRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7BF4EFB67DCEBF6D" name="X7BF4EFB67DCEBF6D"></a></p>

<h5>3.3-44 IsLeftPrincipalIdealRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftPrincipalIdealRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X83858198873F7760" name="X83858198873F7760"></a></p>

<h5>3.3-45 IsRightPrincipalIdealRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightPrincipalIdealRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7CF02C4785F0EAB5" name="X7CF02C4785F0EAB5"></a></p>

<h5>3.3-46 IsRegular</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRegular</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7FB92D467B9B6707" name="X7FB92D467B9B6707"></a></p>

<h5>3.3-47 IsFiniteFreePresentationRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsFiniteFreePresentationRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X7B0EE3BF8402793B" name="X7B0EE3BF8402793B"></a></p>

<h5>3.3-48 IsLeftFiniteFreePresentationRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftFiniteFreePresentationRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X839A82AC7D0D7BA1" name="X839A82AC7D0D7BA1"></a></p>

<h5>3.3-49 IsRightFiniteFreePresentationRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightFiniteFreePresentationRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X8491CBBE862D4FFB" name="X8491CBBE862D4FFB"></a></p>

<h5>3.3-50 IsSimpleRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSimpleRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X847DEBCF872F5175" name="X847DEBCF872F5175"></a></p>

<h5>3.3-51 IsSemiSimpleRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSemiSimpleRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X842C9ABA807DB431" name="X842C9ABA807DB431"></a></p>

<h5>3.3-52 IsSuperCommutative</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSuperCommutative</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X803259617B5F89AE" name="X803259617B5F89AE"></a></p>

<h5>3.3-53 BasisAlgorithmRespectsPrincipalIdeals</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ BasisAlgorithmRespectsPrincipalIdeals</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X781617F678CC0BA8" name="X781617F678CC0BA8"></a></p>

<h5>3.3-54 AreUnitsCentral</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AreUnitsCentral</code>( <var class="Arg">R</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p><var class="Arg">R</var> is a ring for <strong class="pkg">homalg</strong>.</p>

<p><a id="X85B6710082984863" name="X85B6710082984863"></a></p>

<h5>3.3-55 IsMinusOne</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMinusOne</code>( <var class="Arg">r</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>Check if the ring element <var class="Arg">r</var> is the additive inverse of one.</p>

<p><a id="X7A0A3A927BE3F352" name="X7A0A3A927BE3F352"></a></p>

<h5>3.3-56 IsMonic</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMonic</code>( <var class="Arg">r</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>Check if the <strong class="pkg">homalg</strong> ring element <var class="Arg">r</var> is monic.</p>

<p><a id="X785EF83B8054D2FF" name="X785EF83B8054D2FF"></a></p>

<h5>3.3-57 IsMonicUptoUnit</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMonicUptoUnit</code>( <var class="Arg">r</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>Check if leading coefficient of the <strong class="pkg">homalg</strong> ring element <var class="Arg">r</var> is a unit.</p>

<p><a id="X811A01D5803ADCA3" name="X811A01D5803ADCA3"></a></p>

<h5>3.3-58 IsLeftRegular</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftRegular</code>( <var class="Arg">r</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>Check if the <strong class="pkg">homalg</strong> ring element <var class="Arg">r</var> is left regular.</p>

<p><a id="X7E99731F83A41777" name="X7E99731F83A41777"></a></p>

<h5>3.3-59 IsRightRegular</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightRegular</code>( <var class="Arg">r</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>Check if the <strong class="pkg">homalg</strong> ring element <var class="Arg">r</var> is right regular.</p>

<p><a id="X80A3294C834D8F21" name="X80A3294C834D8F21"></a></p>

<h5>3.3-60 IsRegular</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRegular</code>( <var class="Arg">r</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>

<p>Check if the <strong class="pkg">homalg</strong> ring element <var class="Arg">r</var> is regular, i.e. left and right regular.</p>

<p><a id="X867290E7847A5101" name="X867290E7847A5101"></a></p>

<h4>3.4 <span class="Heading">Rings: Attributes</span></h4>

<p><a id="X8066502785A109B8" name="X8066502785A109B8"></a></p>

<h5>3.4-1 Inverse</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Inverse</code>( <var class="Arg">r</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> ring element or fail</p>

<p>The inverse of the <strong class="pkg">homalg</strong> ring element <var class="Arg">r</var>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">zz := HomalgRingOfIntegers( );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R := zz / 2^8;</span>
Z/( 256 )
<span class="GAPprompt">gap></span> <span class="GAPinput">r := (1/3*One(R)+1/5)+3/7;</span>
|[ 157 ]|
<span class="GAPprompt">gap></span> <span class="GAPinput">1 / r; ## = r^-1;</span>
|[ 181 ]|
<span class="GAPprompt">gap></span> <span class="GAPinput">s := (1/3*One(R)+2/5)+3/7;</span>
|[ 106 ]|
<span class="GAPprompt">gap></span> <span class="GAPinput">s^(-1);</span>
fail
</pre></div>

<p><a id="X7AFD26D480AA9323" name="X7AFD26D480AA9323"></a></p>

<h5>3.4-2 homalgTable</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ homalgTable</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strongtable</p>

<p>The <strong class="pkg">homalg</strongtable of <var class="Arg">R</var> is a ring dictionary, i.e. the translator between <strong class="pkg">homalg</strong> and the (specific implementation of the) ring.</p>

<p>Every <strong class="pkg">homalg</strong> ring has a <strong class="pkg">homalg</strongtable.</p>

<p><a id="X816D807781E8F854" name="X816D807781E8F854"></a></p>

<h5>3.4-3 RingElementConstructor</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RingElementConstructor</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a function</p>

<p>The constructor of ring elements in the <strong class="pkg">homalg</strong> ring <var class="Arg">R</var>.</p>

<p><a id="X7E5426C67AA9A6E5" name="X7E5426C67AA9A6E5"></a></p>

<h5>3.4-4 TypeOfHomalgMatrix</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TypeOfHomalgMatrix</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a type</p>

<p>The <strong class="pkg">GAP4</strong>-type of <strong class="pkg">homalg</strong> matrices over the <strong class="pkg">homalg</strong> ring <var class="Arg">R</var>.</p>

<p><a id="X80504BE983BD1A70" name="X80504BE983BD1A70"></a></p>

<h5>3.4-5 ConstructorForHomalgMatrices</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ConstructorForHomalgMatrices</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a type</p>

<p>The constructor for <strong class="pkg">homalg</strong> matrices over the <strong class="pkg">homalg</strong> ring <var class="Arg">R</var>.</p>

<p><a id="X799B5F797F809EE5" name="X799B5F797F809EE5"></a></p>

<h5>3.4-6 Zero</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Zero</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> ring element</p>

<p>The zero of the <strong class="pkg">homalg</strong> ring <var class="Arg">R</var>.</p>

<p><a id="X84701329860750C3" name="X84701329860750C3"></a></p>

<h5>3.4-7 One</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ One</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> ring element</p>

<p>The one of the <strong class="pkg">homalg</strong> ring <var class="Arg">R</var>.</p>

<p><a id="X810D03AA827BD128" name="X810D03AA827BD128"></a></p>

<h5>3.4-8 MinusOne</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MinusOne</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> ring element</p>

<p>The minus one of the <strong class="pkg">homalg</strong> ring <var class="Arg">R</var>.</p>

<p><a id="X7CC4312578DC42B6" name="X7CC4312578DC42B6"></a></p>

<h5>3.4-9 ProductOfIndeterminates</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ProductOfIndeterminates</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> ring element</p>

<p>The product of indeterminates of the <strong class="pkg">homalg</strong> ring <var class="Arg">R</var>.</p>

<p><a id="X7DF4F71C86835DCF" name="X7DF4F71C86835DCF"></a></p>

<h5>3.4-10 RationalParameters</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RationalParameters</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a list of <strong class="pkg">homalg</strong> ring elements</p>

<p>The list of rational parameters of the <strong class="pkg">homalg</strong> ring <var class="Arg">R</var>.</p>

<p><a id="X80D585E1793D4552" name="X80D585E1793D4552"></a></p>

<h5>3.4-11 IndeterminatesOfPolynomialRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IndeterminatesOfPolynomialRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a list of <strong class="pkg">homalg</strong> ring elements</p>

<p>The list of indeterminates of the <strong class="pkg">homalg</strong> polynomial ring <var class="Arg">R</var>.</p>

<p><a id="X84CE78E379A34C56" name="X84CE78E379A34C56"></a></p>

<h5>3.4-12 RelativeIndeterminatesOfPolynomialRing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RelativeIndeterminatesOfPolynomialRing</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a list of <strong class="pkg">homalg</strong> ring elements</p>

<p>The list of relative indeterminates of the <strong class="pkg">homalg</strong> polynomial ring <var class="Arg">R</var>.</p>

<p><a id="X7F4A050A87C042E5" name="X7F4A050A87C042E5"></a></p>

<h5>3.4-13 IndeterminateCoordinatesOfRingOfDerivations</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IndeterminateCoordinatesOfRingOfDerivations</code>( <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a list of <strong class="pkg">homalg</strong> ring elements</p>

--> --------------------

--> maximum size reached

--> --------------------

100%


¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.41Angebot  Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können  ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.