Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 4183461[1X3 [33X[0;0YRings[133X[101X234[1X3.1 [33X[0;0YRings: Category and Representations[133X[101X56[1X3.1-1 IsHomalgRing[101X78[29X[2XIsHomalgRing[102X( [3XR[103X ) [32X Category9[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X1011[33X[0;0YThe [5XGAP[105X category of [5Xhomalg[105X rings.[133X1213[33X[0;0Y(It is a subcategory of the [5XGAP[105X categories [10XIsStructureObject[110X and14[10XIsHomalgRingOrModule[110X.)[133X1516[4X[32X Code [32X[104X17[4XDeclareCategory( "IsHomalgRing",[104X18[4X IsStructureObject and[104X19[4X IsRingWithOne and[104X20[4X IsHomalgRingOrModule );[104X21[4X[32X[104X2223[1X3.1-2 IsPreHomalgRing[101X2425[29X[2XIsPreHomalgRing[102X( [3XR[103X ) [32X Category26[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X2728[33X[0;0YThe [5XGAP[105X category of pre [5Xhomalg[105X rings.[133X2930[33X[0;0Y(It is a subcategory of the [5XGAP[105X category [10XIsHomalgRing[110X.)[133X31[33X[0;0YThese are rings with an incomplete [10XhomalgTable[110X. They provide flexibility for32developers to support a wider class of rings, as was necessary for the33development of the [5XLocalizeRingForHomalg[105X package. They are not suited for34direct usage.[133X3536[4X[32X Code [32X[104X37[4XDeclareCategory( "IsPreHomalgRing",[104X38[4X IsHomalgRing );[104X39[4X[32X[104X4041[1X3.1-3 IsHomalgRingElement[101X4243[29X[2XIsHomalgRingElement[102X( [3Xr[103X ) [32X Category44[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X4546[33X[0;0YThe [5XGAP[105X category of elements of [5Xhomalg[105X rings which are not GAP4 built-in.[133X4748[4X[32X Code [32X[104X49[4XDeclareCategory( "IsHomalgRingElement",[104X50[4X IsExtAElement and[104X51[4X IsExtLElement and[104X52[4X IsExtRElement and[104X53[4X IsAdditiveElementWithInverse and[104X54[4X IsMultiplicativeElementWithInverse and[104X55[4X IsAssociativeElement and[104X56[4X IsAdditivelyCommutativeElement and[104X57[4X ## all the above guarantees IsHomalgRingElement => IsRingElement (in GAP4)[104X58[4X IsAttributeStoringRep );[104X59[4X[32X[104X6061[1X3.1-4 IsHomalgInternalRingRep[101X6263[29X[2XIsHomalgInternalRingRep[102X( [3XR[103X ) [32X Representation64[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X6566[33X[0;0YThe internal representation of [5Xhomalg[105X rings.[133X6768[33X[0;0Y(It is a representation of the [5XGAP[105X category [10XIsHomalgRing[110X.)[133X697071[1X3.2 [33X[0;0YRings: Constructors[133X[101X7273[33X[0;0YThis section describes how to construct rings for use with74[5XMatricesForHomalg[105X, which exploit the [5XGAP4[105X-built-in abilities to perform the75necessary ring operations. By this we also mean necessary matrix operations76over such rings. For the purposes of [5XMatricesForHomalg[105X only the ring of77integers is properly supported in [5XGAP4[105X. The [5XGAP4[105X extension packages [5XGauss[105X78and [5XGaussForHomalg[105X extend these built-in abilities to operations with sparse79matrices over the ring [22Xℤ / p^n[122X for [22Xp[122X prime and [22Xn[122X positive.[133X8081[33X[0;0YIf a ring [22XR[122X is supported in [5XMatricesForHomalg[105X any of its residue class rings82[22XR/I[122X is supported as well, provided the ideal [22XI[122X of relations admits a finite83set of generators as a left resp. right ideal (--> [2X\/[102X ([14X3.2-3[114X)). This is84immediate for commutative noetherian rings.[133X8586[1X3.2-1 HomalgRingOfIntegers[101X8788[29X[2XHomalgRingOfIntegers[102X( ) [32X function89[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X ring[133X9091[29X[2XHomalgRingOfIntegers[102X( [3Xc[103X ) [32X function92[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X ring[133X9394[33X[0;0YThe no-argument form returns the ring of integers [22Xℤ[122X for [5Xhomalg[105X.[133X9596[33X[0;0YThe one-argument form accepts an integer [3Xc[103X and returns the ring [22Xℤ / c[122X for97[5Xhomalg[105X:[133X9899[30X [33X[0;6Y[3Xc[103X[22X= 0[122X defaults to [22Xℤ[122X[133X100101[30X [33X[0;6Yif [3Xc[103X is a prime power then the package [5XGaussForHomalg[105X is loaded (if it102fails to load an error is issued)[133X103104[30X [33X[0;6Yotherwise, the residue class ring constructor [10X/[110X (--> [2X\/[102X ([14X3.2-3[114X)) is105invoked[133X106107[33X[0;0YThe operation [10XSetRingProperties[110X is automatically invoked to set the ring108properties.[133X109110[33X[0;0YIf for some reason you don't want to use the [5XGaussForHomalg[105X package (maybe111because you didn't install it), then use[133X112113[33X[0;0Y[10XHomalgRingOfIntegers[110X( ) [10X/[110X [3Xc[103X;[133X114115[33X[0;0Ybut note that the computations will then be considerably slower.[133X116117[1X3.2-2 HomalgFieldOfRationals[101X118119[29X[2XHomalgFieldOfRationals[102X( ) [32X function120[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X ring[133X121122[33X[0;0YThe package [5XGaussForHomalg[105X is loaded and the field of rationals [22Xℚ[122X is123returned. If [5XGaussForHomalg[105X fails to load an error is issued.[133X124125[33X[0;0YThe operation [10XSetRingProperties[110X is automatically invoked to set the ring126properties.[133X127128[1X3.2-3 \/[101X129130[29X[2X\/[102X( [3XR[103X, [3Xring_rel[103X ) [32X operation131[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X ring[133X132133[33X[0;0YThis is the [5Xhomalg[105X constructor for residue class rings [3XR[103X [22X/ I[122X, where [3XR[103X is a134[5Xhomalg[105X ring and [22XI=[122X[3Xring_rel[103X is the ideal of relations generated by [3Xring_rel[103X.135[3Xring_rel[103X might be:[133X136137[30X [33X[0;6Ya set of ring relations of a left resp. right ideal[133X138139[30X [33X[0;6Ya list of ring elements of [3XR[103X[133X140141[30X [33X[0;6Ya ring element of [3XR[103X[133X142143[33X[0;0YFor noncommutative rings: In the first case the set of ring relations should144generate the ideal of relations [22XI[122X as left resp. right ideal, and their145involutions should generate [22XI[122X as right resp. left ideal. If [3Xring_rel[103X is not146a set of relations, a [13Xleft[113X set of relations is constructed.[133X147148[33X[0;0YThe operation [10XSetRingProperties[110X is automatically invoked to set the ring149properties.[133X150151[4X[32X Example [32X[104X152[4X[25Xgap>[125X [27XZZ := HomalgRingOfIntegers( );[127X[104X153[4X[28XZ[128X[104X154[4X[25Xgap>[125X [27XDisplay( ZZ );[127X[104X155[4X[28X<An internal ring>[128X[104X156[4X[25Xgap>[125X [27XZ256 := ZZ / 2^8;[127X[104X157[4X[28XZ/( 256 )[128X[104X158[4X[25Xgap>[125X [27XDisplay( Z256 );[127X[104X159[4X[28X<A residue class ring>[128X[104X160[4X[25Xgap>[125X [27XZ2 := Z256 / 6;[127X[104X161[4X[28XZ/( 256, 6 )[128X[104X162[4X[25Xgap>[125X [27XBasisOfRows( MatrixOfRelations( Z2 ) );[127X[104X163[4X[28X<An unevaluated non-zero 1 x 1 matrix over an internal ring>[128X[104X164[4X[25Xgap>[125X [27XZ2;[127X[104X165[4X[28XZ/( 2 )[128X[104X166[4X[25Xgap>[125X [27XDisplay( Z2 );[127X[104X167[4X[28X<A residue class ring>[128X[104X168[4X[32X[104X169170171[1X3.3 [33X[0;0YRings: Properties[133X[101X172173[33X[0;0YThe following properties are declared for [5Xhomalg[105X rings. Note that (apart174from so-called true and immediate methods (--> [14XC.1[114X)) there are no methods175installed for ring properties. This means that if the value of the ring176property [10XProp[110X is not set for a [5Xhomalg[105X ring [3XR[103X, then[133X177178[33X[0;0Y[10XProp[110X( [3XR[103X );[133X179180[33X[0;0Ywill cause an error. One can use the usual [5XGAP4[105X mechanism to check if the181value of the property is set or not[133X182183[33X[0;0Y[10XHasProp[110X( [3XR[103X );[133X184185[33X[0;0YIf you discover that a specific property [10XProp[110X is missing for a certain186[5Xhomalg[105X ring [3XR[103X you can it add using the usual [5XGAP4[105X mechanism[133X187188[33X[0;0Y[10XSetProp[110X( [3XR[103X, true );[133X189190[33X[0;0Yor[133X191192[33X[0;0Y[10XSetProp[110X( [3XR[103X, false );[133X193194[33X[0;0YBe very cautious with setting "missing" properties to [5Xhomalg[105X objects: If the195value you set is mathematically wrong [5Xhomalg[105X will probably draw wrong196conclusions and might return wrong results.[133X197198[1X3.3-1 IsZero[101X199200[29X[2XIsZero[102X( [3XR[103X ) [32X property201[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X202203[33X[0;0YCheck if the ring [3XR[103X is a zero, i.e., if [10XOne[110X[22X([122X[3XR[103X[22X)=[122X[10XZero[110X[22X([122X[3XR[103X[22X)[122X.[133X204205[1X3.3-2 ContainsAField[101X206207[29X[2XContainsAField[102X( [3XR[103X ) [32X property208[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X209210[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X211212[1X3.3-3 IsRationalsForHomalg[101X213214[29X[2XIsRationalsForHomalg[102X( [3XR[103X ) [32X property215[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X216217[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X218219[1X3.3-4 IsFieldForHomalg[101X220221[29X[2XIsFieldForHomalg[102X( [3XR[103X ) [32X property222[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X223224[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X225226[1X3.3-5 IsDivisionRingForHomalg[101X227228[29X[2XIsDivisionRingForHomalg[102X( [3XR[103X ) [32X property229[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X230231[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X232233[1X3.3-6 IsIntegersForHomalg[101X234235[29X[2XIsIntegersForHomalg[102X( [3XR[103X ) [32X property236[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X237238[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X239240[1X3.3-7 IsResidueClassRingOfTheIntegers[101X241242[29X[2XIsResidueClassRingOfTheIntegers[102X( [3XR[103X ) [32X property243[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X244245[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X246247[1X3.3-8 IsBezoutRing[101X248249[29X[2XIsBezoutRing[102X( [3XR[103X ) [32X property250[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X251252[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X253254[1X3.3-9 IsIntegrallyClosedDomain[101X255256[29X[2XIsIntegrallyClosedDomain[102X( [3XR[103X ) [32X property257[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X258259[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X260261[1X3.3-10 IsUniqueFactorizationDomain[101X262263[29X[2XIsUniqueFactorizationDomain[102X( [3XR[103X ) [32X property264[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X265266[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X267268[1X3.3-11 IsKaplanskyHermite[101X269270[29X[2XIsKaplanskyHermite[102X( [3XR[103X ) [32X property271[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X272273[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X274275[1X3.3-12 IsDedekindDomain[101X276277[29X[2XIsDedekindDomain[102X( [3XR[103X ) [32X property278[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X279280[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X281282[1X3.3-13 IsDiscreteValuationRing[101X283284[29X[2XIsDiscreteValuationRing[102X( [3XR[103X ) [32X property285[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X286287[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X288289[1X3.3-14 IsFreePolynomialRing[101X290291[29X[2XIsFreePolynomialRing[102X( [3XR[103X ) [32X property292[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X293294[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X295296[1X3.3-15 IsWeylRing[101X297298[29X[2XIsWeylRing[102X( [3XR[103X ) [32X property299[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X300301[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X302303[1X3.3-16 IsLocalizedWeylRing[101X304305[29X[2XIsLocalizedWeylRing[102X( [3XR[103X ) [32X property306[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X307308[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X309310[1X3.3-17 IsGlobalDimensionFinite[101X311312[29X[2XIsGlobalDimensionFinite[102X( [3XR[103X ) [32X property313[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X314315[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X316317[1X3.3-18 IsLeftGlobalDimensionFinite[101X318319[29X[2XIsLeftGlobalDimensionFinite[102X( [3XR[103X ) [32X property320[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X321322[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X323324[1X3.3-19 IsRightGlobalDimensionFinite[101X325326[29X[2XIsRightGlobalDimensionFinite[102X( [3XR[103X ) [32X property327[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X328329[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X330331[1X3.3-20 HasInvariantBasisProperty[101X332333[29X[2XHasInvariantBasisProperty[102X( [3XR[103X ) [32X property334[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X335336[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X337338[1X3.3-21 HasLeftInvariantBasisProperty[101X339340[29X[2XHasLeftInvariantBasisProperty[102X( [3XR[103X ) [32X property341[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X342343[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X344345[1X3.3-22 HasRightInvariantBasisProperty[101X346347[29X[2XHasRightInvariantBasisProperty[102X( [3XR[103X ) [32X property348[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X349350[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X351352[1X3.3-23 IsLocal[101X353354[29X[2XIsLocal[102X( [3XR[103X ) [32X property355[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X356357[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X358359[1X3.3-24 IsSemiLocalRing[101X360361[29X[2XIsSemiLocalRing[102X( [3XR[103X ) [32X property362[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X363364[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X365366[1X3.3-25 IsIntegralDomain[101X367368[29X[2XIsIntegralDomain[102X( [3XR[103X ) [32X property369[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X370371[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X372373[1X3.3-26 IsHereditary[101X374375[29X[2XIsHereditary[102X( [3XR[103X ) [32X property376[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X377378[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X379380[1X3.3-27 IsLeftHereditary[101X381382[29X[2XIsLeftHereditary[102X( [3XR[103X ) [32X property383[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X384385[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X386387[1X3.3-28 IsRightHereditary[101X388389[29X[2XIsRightHereditary[102X( [3XR[103X ) [32X property390[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X391392[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X393394[1X3.3-29 IsHermite[101X395396[29X[2XIsHermite[102X( [3XR[103X ) [32X property397[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X398399[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X400401[1X3.3-30 IsLeftHermite[101X402403[29X[2XIsLeftHermite[102X( [3XR[103X ) [32X property404[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X405406[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X407408[1X3.3-31 IsRightHermite[101X409410[29X[2XIsRightHermite[102X( [3XR[103X ) [32X property411[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X412413[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X414415[1X3.3-32 IsNoetherian[101X416417[29X[2XIsNoetherian[102X( [3XR[103X ) [32X property418[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X419420[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X421422[1X3.3-33 IsLeftNoetherian[101X423424[29X[2XIsLeftNoetherian[102X( [3XR[103X ) [32X property425[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X426427[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X428429[1X3.3-34 IsRightNoetherian[101X430431[29X[2XIsRightNoetherian[102X( [3XR[103X ) [32X property432[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X433434[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X435436[1X3.3-35 IsCohenMacaulay[101X437438[29X[2XIsCohenMacaulay[102X( [3XR[103X ) [32X property439[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X440441[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X442443[1X3.3-36 IsGorenstein[101X444445[29X[2XIsGorenstein[102X( [3XR[103X ) [32X property446[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X447448[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X449450[1X3.3-37 IsKoszul[101X451452[29X[2XIsKoszul[102X( [3XR[103X ) [32X property453[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X454455[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X456457[1X3.3-38 IsArtinian[101X458459[29X[2XIsArtinian[102X( [3XR[103X ) [32X property460[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X461462[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X463464[1X3.3-39 IsLeftArtinian[101X465466[29X[2XIsLeftArtinian[102X( [3XR[103X ) [32X property467[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X468469[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X470471[1X3.3-40 IsRightArtinian[101X472473[29X[2XIsRightArtinian[102X( [3XR[103X ) [32X property474[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X475476[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X477478[1X3.3-41 IsOreDomain[101X479480[29X[2XIsOreDomain[102X( [3XR[103X ) [32X property481[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X482483[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X484485[1X3.3-42 IsLeftOreDomain[101X486487[29X[2XIsLeftOreDomain[102X( [3XR[103X ) [32X property488[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X489490[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X491492[1X3.3-43 IsRightOreDomain[101X493494[29X[2XIsRightOreDomain[102X( [3XR[103X ) [32X property495[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X496497[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X498499[1X3.3-44 IsPrincipalIdealRing[101X500501[29X[2XIsPrincipalIdealRing[102X( [3XR[103X ) [32X property502[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X503504[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X505506[1X3.3-45 IsLeftPrincipalIdealRing[101X507508[29X[2XIsLeftPrincipalIdealRing[102X( [3XR[103X ) [32X property509[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X510511[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X512513[1X3.3-46 IsRightPrincipalIdealRing[101X514515[29X[2XIsRightPrincipalIdealRing[102X( [3XR[103X ) [32X property516[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X517518[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X519520[1X3.3-47 IsRegular[101X521522[29X[2XIsRegular[102X( [3XR[103X ) [32X property523[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X524525[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X526527[1X3.3-48 IsFiniteFreePresentationRing[101X528529[29X[2XIsFiniteFreePresentationRing[102X( [3XR[103X ) [32X property530[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X531532[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X533534[1X3.3-49 IsLeftFiniteFreePresentationRing[101X535536[29X[2XIsLeftFiniteFreePresentationRing[102X( [3XR[103X ) [32X property537[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X538539[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X540541[1X3.3-50 IsRightFiniteFreePresentationRing[101X542543[29X[2XIsRightFiniteFreePresentationRing[102X( [3XR[103X ) [32X property544[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X545546[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X547548[1X3.3-51 IsSimpleRing[101X549550[29X[2XIsSimpleRing[102X( [3XR[103X ) [32X property551[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X552553[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X554555[1X3.3-52 IsSemiSimpleRing[101X556557[29X[2XIsSemiSimpleRing[102X( [3XR[103X ) [32X property558[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X559560[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X561562[1X3.3-53 IsSuperCommutative[101X563564[29X[2XIsSuperCommutative[102X( [3XR[103X ) [32X property565[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X566567[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X568569[1X3.3-54 BasisAlgorithmRespectsPrincipalIdeals[101X570571[29X[2XBasisAlgorithmRespectsPrincipalIdeals[102X( [3XR[103X ) [32X property572[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X573574[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X575576[1X3.3-55 AreUnitsCentral[101X577578[29X[2XAreUnitsCentral[102X( [3XR[103X ) [32X property579[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X580581[33X[0;0Y[3XR[103X is a ring for [5Xhomalg[105X.[133X582583[1X3.3-56 IsMinusOne[101X584585[29X[2XIsMinusOne[102X( [3Xr[103X ) [32X property586[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X587588[33X[0;0YCheck if the ring element [3Xr[103X is the additive inverse of one.[133X589590[1X3.3-57 IsMonic[101X591592[29X[2XIsMonic[102X( [3Xr[103X ) [32X property593[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X594595[33X[0;0YCheck if the [5Xhomalg[105X ring element [3Xr[103X is monic.[133X596597[1X3.3-58 IsMonicUptoUnit[101X598599[29X[2XIsMonicUptoUnit[102X( [3Xr[103X ) [32X property600[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X601602[33X[0;0YCheck if leading coefficient of the [5Xhomalg[105X ring element [3Xr[103X is a unit.[133X603604[1X3.3-59 IsLeftRegular[101X605606[29X[2XIsLeftRegular[102X( [3Xr[103X ) [32X property607[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X608609[33X[0;0YCheck if the [5Xhomalg[105X ring element [3Xr[103X is left regular.[133X610611[1X3.3-60 IsRightRegular[101X612613[29X[2XIsRightRegular[102X( [3Xr[103X ) [32X property614[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X615616[33X[0;0YCheck if the [5Xhomalg[105X ring element [3Xr[103X is right regular.[133X617618[1X3.3-61 IsRegular[101X619620[29X[2XIsRegular[102X( [3Xr[103X ) [32X property621[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X622623[33X[0;0YCheck if the [5Xhomalg[105X ring element [3Xr[103X is regular, i.e. left and right regular.[133X624625626[1X3.4 [33X[0;0YRings: Attributes[133X[101X627628[1X3.4-1 Inverse[101X629630[29X[2XInverse[102X( [3Xr[103X ) [32X attribute631[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X ring element or fail[133X632633[33X[0;0YThe inverse of the [5Xhomalg[105X ring element [3Xr[103X.[133X634635[4X[32X Example [32X[104X636[4X[25Xgap>[125X [27XZZ := HomalgRingOfIntegers( );;[127X[104X637[4X[25Xgap>[125X [27XR := ZZ / 2^8;[127X[104X638[4X[28XZ/( 256 )[128X[104X639[4X[25Xgap>[125X [27Xr := (1/3*One(R)+1/5)+3/7;[127X[104X640[4X[28X|[ 157 ]|[128X[104X641[4X[25Xgap>[125X [27X1 / r; ## = r^-1;[127X[104X642[4X[28X|[ 181 ]|[128X[104X643[4X[25Xgap>[125X [27Xs := (1/3*One(R)+2/5)+3/7;[127X[104X644[4X[28X|[ 106 ]|[128X[104X645[4X[25Xgap>[125X [27X1 / s;[127X[104X646[4X[28Xfail[128X[104X647[4X[32X[104X648649[1X3.4-2 homalgTable[101X650651[29X[2XhomalgTable[102X( [3XR[103X ) [32X attribute652[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X table[133X653654[33X[0;0YThe [5Xhomalg[105X table of [3XR[103X is a ring dictionary, i.e. the translator between655[5Xhomalg[105X and the (specific implementation of the) ring.[133X656657[33X[0;0YEvery [5Xhomalg[105X ring has a [5Xhomalg[105X table.[133X658659[1X3.4-3 RingElementConstructor[101X660661[29X[2XRingElementConstructor[102X( [3XR[103X ) [32X attribute662[6XReturns:[106X [33X[0;10Ya function[133X663664[33X[0;0YThe constructor of ring elements in the [5Xhomalg[105X ring [3XR[103X.[133X665666[1X3.4-4 TypeOfHomalgMatrix[101X667668[29X[2XTypeOfHomalgMatrix[102X( [3XR[103X ) [32X attribute669[6XReturns:[106X [33X[0;10Ya type[133X670671[33X[0;0YThe [5XGAP4[105X-type of [5Xhomalg[105X matrices over the [5Xhomalg[105X ring [3XR[103X.[133X672673[1X3.4-5 ConstructorForHomalgMatrices[101X674675[29X[2XConstructorForHomalgMatrices[102X( [3XR[103X ) [32X attribute676[6XReturns:[106X [33X[0;10Ya type[133X677678[33X[0;0YThe constructor for [5Xhomalg[105X matrices over the [5Xhomalg[105X ring [3XR[103X.[133X679680[1X3.4-6 Zero[101X681682[29X[2XZero[102X( [3XR[103X ) [32X attribute683[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X ring element[133X684685[33X[0;0YThe zero of the [5Xhomalg[105X ring [3XR[103X.[133X686687[1X3.4-7 One[101X688689[29X[2XOne[102X( [3XR[103X ) [32X attribute690[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X ring element[133X691692[33X[0;0YThe one of the [5Xhomalg[105X ring [3XR[103X.[133X693694[1X3.4-8 MinusOne[101X695696[29X[2XMinusOne[102X( [3XR[103X ) [32X attribute697[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X ring element[133X698699[33X[0;0YThe minus one of the [5Xhomalg[105X ring [3XR[103X.[133X700701[1X3.4-9 ProductOfIndeterminates[101X702703[29X[2XProductOfIndeterminates[102X( [3XR[103X ) [32X attribute704[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X ring element[133X705706[33X[0;0YThe product of indeterminates of the [5Xhomalg[105X ring [3XR[103X.[133X707708[1X3.4-10 RationalParameters[101X709710[29X[2XRationalParameters[102X( [3XR[103X ) [32X attribute711[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X ring elements[133X712713[33X[0;0YThe list of rational parameters of the [5Xhomalg[105X ring [3XR[103X.[133X714715[1X3.4-11 IndeterminatesOfPolynomialRing[101X716717[29X[2XIndeterminatesOfPolynomialRing[102X( [3XR[103X ) [32X attribute718[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X ring elements[133X719720[33X[0;0YThe list of indeterminates of the [5Xhomalg[105X polynomial ring [3XR[103X.[133X721722[1X3.4-12 RelativeIndeterminatesOfPolynomialRing[101X723724[29X[2XRelativeIndeterminatesOfPolynomialRing[102X( [3XR[103X ) [32X attribute725[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X ring elements[133X726727[33X[0;0YThe list of relative indeterminates of the [5Xhomalg[105X polynomial ring [3XR[103X.[133X728729[1X3.4-13 IndeterminateCoordinatesOfRingOfDerivations[101X730731[29X[2XIndeterminateCoordinatesOfRingOfDerivations[102X( [3XR[103X ) [32X attribute732[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X ring elements[133X733734[33X[0;0YThe list of indeterminate coordinates of the [5Xhomalg[105X Weyl ring [3XR[103X.[133X735736[1X3.4-14 RelativeIndeterminateCoordinatesOfRingOfDerivations[101X737738[29X[2XRelativeIndeterminateCoordinatesOfRingOfDerivations[102X( [3XR[103X ) [32X attribute739[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X ring elements[133X740741[33X[0;0YThe list of relative indeterminate coordinates of the [5Xhomalg[105X Weyl ring [3XR[103X.[133X742743[1X3.4-15 IndeterminateDerivationsOfRingOfDerivations[101X744745[29X[2XIndeterminateDerivationsOfRingOfDerivations[102X( [3XR[103X ) [32X attribute746[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X ring elements[133X747748[33X[0;0YThe list of indeterminate derivations of the [5Xhomalg[105X Weyl ring [3XR[103X.[133X749750[1X3.4-16 RelativeIndeterminateDerivationsOfRingOfDerivations[101X751752[29X[2XRelativeIndeterminateDerivationsOfRingOfDerivations[102X( [3XR[103X ) [32X attribute753[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X ring elements[133X754755[33X[0;0YThe list of relative indeterminate derivations of the [5Xhomalg[105X Weyl ring [3XR[103X.[133X756757[1X3.4-17 IndeterminateAntiCommutingVariablesOfExteriorRing[101X758759[29X[2XIndeterminateAntiCommutingVariablesOfExteriorRing[102X( [3XR[103X ) [32X attribute760[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X ring elements[133X761762[33X[0;0YThe list of anti-commuting indeterminates of the [5Xhomalg[105X exterior ring [3XR[103X.[133X763764[1X3.4-18 RelativeIndeterminateAntiCommutingVariablesOfExteriorRing[101X765766[29X[2XRelativeIndeterminateAntiCommutingVariablesOfExteriorRing[102X( [3XR[103X ) [32X attribute767[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X ring elements[133X768769[33X[0;0YThe list of anti-commuting relative indeterminates of the [5Xhomalg[105X exterior770ring [3XR[103X.[133X771772[1X3.4-19 IndeterminatesOfExteriorRing[101X773774[29X[2XIndeterminatesOfExteriorRing[102X( [3XR[103X ) [32X attribute775[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X ring elements[133X776777[33X[0;0YThe list of all indeterminates (commuting and anti-commuting) of the [5Xhomalg[105X778exterior ring [3XR[103X.[133X779780[1X3.4-20 CoefficientsRing[101X781782[29X[2XCoefficientsRing[102X( [3XR[103X ) [32X attribute783[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X ring[133X784785[33X[0;0YThe ring of coefficients of the [5Xhomalg[105X ring [3XR[103X.[133X786787[1X3.4-21 KrullDimension[101X788789[29X[2XKrullDimension[102X( [3XR[103X ) [32X attribute790[6XReturns:[106X [33X[0;10Ya non-negative integer[133X791792[33X[0;0YThe Krull dimension of the commutative [5Xhomalg[105X ring [3XR[103X.[133X793794[1X3.4-22 LeftGlobalDimension[101X795796[29X[2XLeftGlobalDimension[102X( [3XR[103X ) [32X attribute797[6XReturns:[106X [33X[0;10Ya non-negative integer[133X798799[33X[0;0YThe left global dimension of the [5Xhomalg[105X ring [3XR[103X.[133X800801[1X3.4-23 RightGlobalDimension[101X802803[29X[2XRightGlobalDimension[102X( [3XR[103X ) [32X attribute804[6XReturns:[106X [33X[0;10Ya non-negative integer[133X805806[33X[0;0YThe right global dimension of the [5Xhomalg[105X ring [3XR[103X.[133X807808[1X3.4-24 GlobalDimension[101X809810[29X[2XGlobalDimension[102X( [3XR[103X ) [32X attribute811[6XReturns:[106X [33X[0;10Ya non-negative integer[133X812813[33X[0;0YThe global dimension of the [5Xhomalg[105X ring [3XR[103X. The global dimension is defined,814only if the left and right global dimensions coincide.[133X815816[1X3.4-25 GeneralLinearRank[101X817818[29X[2XGeneralLinearRank[102X( [3XR[103X ) [32X attribute819[6XReturns:[106X [33X[0;10Ya non-negative integer[133X820821[33X[0;0YThe general linear rank of the [5Xhomalg[105X ring [3XR[103X ([MR01], 11.1.14).[133X822823[1X3.4-26 ElementaryRank[101X824825[29X[2XElementaryRank[102X( [3XR[103X ) [32X attribute826[6XReturns:[106X [33X[0;10Ya non-negative integer[133X827828[33X[0;0YThe elementary rank of the [5Xhomalg[105X ring [3XR[103X ([MR01], 11.3.10).[133X829830[1X3.4-27 StableRank[101X831832[29X[2XStableRank[102X( [3XR[103X ) [32X attribute833[6XReturns:[106X [33X[0;10Ya non-negative integer[133X834835[33X[0;0YThe stable rank of the [5Xhomalg[105X ring [3XR[103X ([MR01], 11.3.4).[133X836837[1X3.4-28 AssociatedGradedRing[101X838839[29X[2XAssociatedGradedRing[102X( [3XR[103X ) [32X attribute840[6XReturns:[106X [33X[0;10Ya homalg ring[133X841842[33X[0;0YThe graded ring associated to the filtered ring [3XR[103X.[133X843844845[1X3.5 [33X[0;0YRings: Operations and Functions[133X[101X846847848849