<?xml version="1.0" encoding="UTF-8"?>
<!--
Rings.xml MatricesForHomalg package documentation Mohamed Barakat
Copyright (C) 2007-2010, Mohamed Barakat, RWTH-Aachen University
-->
<Chapter Label="Rings">
<Heading>Rings</Heading>
<Section Label="Rings:Category">
<Heading>Rings: Category and Representations</Heading>
<#Include Label="IsHomalgRing">
<#Include Label="IsPreHomalgRing">
<#Include Label="IsHomalgRingElement">
<#Include Label="IsHomalgInternalRingRep">
</Section>
<Section Label="Rings:Constructors">
<Heading>Rings: Constructors</Heading>
This section describes how to construct rings for use with &MatricesForHomalg;,
which exploit the &GAP4;-built-in abilities to perform the necessary
ring operations. By this we also mean necessary matrix operations over
such rings. For the purposes of &MatricesForHomalg; only the ring of integers is
properly supported in &GAP4;. The &GAP4; extension packages &Gauss;
and &GaussForHomalg; extend these built-in abilities to operations
with sparse matrices over the ring <M>&ZZ; / p^n</M> for <M>p</M>
prime and <M>n</M> positive.<P/>
If a ring <M>R</M> is supported in &MatricesForHomalg; any of its residue class
rings <M>R/I</M> is supported as well, provided the ideal <M>I</M> of
relations admits a finite set of generators as a left resp. right
ideal (&see; <Ref Oper="\/"
Label="constructor for residue class rings" Style="Number"/>).
This is immediate for commutative noetherian rings.
<#Include Label="HomalgRingOfIntegers">
<#Include Label="ResidueClassRingConstructor">
</Section>
<Section Label="Rings:Properties">
<Heading>Rings: Properties</Heading>
The following properties are declared for &homalg; rings. Note that
(apart from so-called true and immediate methods (&see;
<Ref Sect="Rings:LIRNG"/>)) there are no methods installed for ring
properties. This means that if the value of the ring
property <C>Prop</C> is not set for a &homalg; ring <A>R</A>, then
<P/>
<C>Prop</C>( <A>R</A> ); <P/>
will cause an error. One can use the usual &GAP4; mechanism to check if
the value of the property is set or not <P/>
<C>HasProp</C>( <A>R</A> ); <P/>
If you discover that a specific property <C>Prop</C> is missing for a
certain &homalg; ring <A>R</A> you can it add using the usual &GAP4;
mechanism <P/>
<C>SetProp</C>( <A>R</A>, true ); <P/>
or <P/>
<C>SetProp</C>( <A>R</A>, false ); <P/>
Be very cautious with setting "missing" properties to &homalg;
objects: If the value you set is mathematically wrong &homalg; will
probably draw wrong conclusions and might return wrong results.
<#Include Label="IsZero:rings">
<#Include Label="IsNonZeroRing">
<#Include Label="ContainsAField">
<#Include Label="IsRationalsForHomalg">
<#Include Label="IsFieldForHomalg">
<#Include Label="IsDivisionRingForHomalg">
<#Include Label="IsIntegersForHomalg">
<#Include Label="IsResidueClassRingOfTheIntegers">
<#Include Label="IsBezoutRing">
<#Include Label="IsIntegrallyClosedDomain">
<#Include Label="IsUniqueFactorizationDomain">
<#Include Label="IsKaplanskyHermite">
<#Include Label="IsDedekindDomain">
<#Include Label="IsDiscreteValuationRing">
<#Include Label="IsFreePolynomialRing">
<#Include Label="IsWeylRing">
<#Include Label="IsLocalizedWeylRing">
<#Include Label="IsGlobalDimensionFinite">
<#Include Label="IsLeftGlobalDimensionFinite">
<#Include Label="IsRightGlobalDimensionFinite">
<#Include Label="HasInvariantBasisProperty">
<#Include Label="IsLocal">
<#Include Label="IsSemiLocalRing">
<#Include Label="IsIntegralDomain">
<#Include Label="IsHereditary">
<#Include Label="IsLeftHereditary">
<#Include Label="IsRightHereditary">
<#Include Label="IsHermite">
<#Include Label="IsLeftHermite">
<#Include Label="IsRightHermite">
<#Include Label="IsNoetherian">
<#Include Label="IsLeftNoetherian">
<#Include Label="IsRightNoetherian">
<#Include Label="IsCohenMacaulay">
<#Include Label="IsGorenstein">
<#Include Label="IsKoszul">
<#Include Label="IsArtinian">
<#Include Label="IsLeftArtinian">
<#Include Label="IsRightArtinian">
<#Include Label="IsOreDomain">
<#Include Label="IsLeftOreDomain">
<#Include Label="IsRightOreDomain">
<#Include Label="IsPrincipalIdealRing">
<#Include Label="IsLeftPrincipalIdealRing">
<#Include Label="IsRightPrincipalIdealRing">
<#Include Label="IsRegular">
<#Include Label="IsFiniteFreePresentationRing">
<#Include Label="IsLeftFiniteFreePresentationRing">
<#Include Label="IsRightFiniteFreePresentationRing">
<#Include Label="IsSimpleRing">
<#Include Label="IsSemiSimpleRing">
<#Include Label="IsSuperCommutative">
<#Include Label="BasisAlgorithmRespectsPrincipalIdeals">
<#Include Label="AreUnitsCentral">
<#Include Label="IsMinusOne">
<#Include Label="IsMonic:ringelement">
<#Include Label="IsMonicUptoUnit:ringelement">
<#Include Label="IsLeftRegular:ringelement">
<#Include Label="IsRightRegular:ringelement">
<#Include Label="IsRegular:ringelement">
</Section>
<Section Label="Rings:Attributes">
<Heading>Rings: Attributes</Heading>
<#Include Label="Inverse:ring_element">
<#Include Label="homalgTable">
<#Include Label="RingElementConstructor">
<#Include Label="TypeOfHomalgMatrix">
<#Include Label="ConstructorForHomalgMatrices">
<#Include Label="Zero:ring">
<#Include Label="One:ring">
<#Include Label="MinusOne">
<#Include Label="ProductOfIndeterminates">
<#Include Label="RationalParameters">
<#Include Label="IndeterminatesOfPolynomialRing">
<#Include Label="RelativeIndeterminatesOfPolynomialRing">
<#Include Label="IndeterminateCoordinatesOfRingOfDerivations">
<#Include Label="RelativeIndeterminateCoordinatesOfRingOfDerivations">
<#Include Label="IndeterminateDerivationsOfRingOfDerivations">
<#Include Label="RelativeIndeterminateDerivationsOfRingOfDerivations">
<#Include Label="IndeterminateAntiCommutingVariablesOfExteriorRing">
<#Include Label="RelativeIndeterminateAntiCommutingVariablesOfExteriorRing">
<#Include Label="IndeterminatesOfExteriorRing">
<#Include Label="CoefficientsRing">
<#Include Label="KrullDimension">
<#Include Label="LeftGlobalDimension">
<#Include Label="RightGlobalDimension">
<#Include Label="GlobalDimension">
<#Include Label="GeneralLinearRank">
<#Include Label="ElementaryRank">
<#Include Label="StableRank">
<#Include Label="AssociatedGradedRing">
</Section>
<Section Label="Rings:Operations">
<Heading>Rings: Operations and Functions</Heading>
</Section>
<!-- ############################################################ -->
</Chapter>
¤ Dauer der Verarbeitung: 0.3 Sekunden
¤
*© Formatika GbR, Deutschland