1## <#GAPDoc Label="Singular"> 2## <Subsection Label="Singular"> 3## <Heading>&Singular;</Heading> 4## <Example><![CDATA[ 5## gap> F2 := HomalgRingOfIntegersInSingular( 2 ); 6## GF(2) 7## gap> Display( F2 ); 8## <An external ring residing in the CAS Singular> 9## gap> F2s := HomalgRingOfIntegersInSingular( 2, "s" ,F2 ); 10## GF(2)(s) 11## gap> Display( F2s ); 12## <An external ring residing in the CAS Singular> 13## gap> ZZ := HomalgRingOfIntegersInSingular( F2 ); 14## Z 15## gap> Display( ZZ ); 16## <An external ring residing in the CAS Singular> 17## gap> Q := HomalgFieldOfRationalsInSingular( F2 ); 18## Q 19## gap> Display( Q ); 20## <An external ring residing in the CAS Singular> 21## gap> Qs := HomalgFieldOfRationalsInSingular( "s", F2 ); 22## Q(s) 23## gap> Display( Qs ); 24## <An external ring residing in the CAS Singular> 25## gap> Qi := HomalgFieldOfRationalsInSingular( "i", "i^2+1", Q ); 26## Q[i]/(i^2+1) 27## gap> Display( Qi ); 28## <An external ring residing in the CAS Singular> 29## ]]></Example> 30## <C>Q := HomalgFieldOfRationalsInSingular( )</C> would launch another Singular. 31## <Example><![CDATA[ 32## gap> F2xyz := F2 * "x,y,z"; 33## GF(2)[x,y,z] 34## gap> Display( F2xyz ); 35## <An external ring residing in the CAS Singular> 36## gap> F2sxyz := F2s * "x,y,z"; 37## GF(2)(s)[x,y,z] 38## gap> Display( F2sxyz ); 39## <An external ring residing in the CAS Singular> 40## gap> F2xyzw := F2xyz * "w"; 41## GF(2)[x,y,z][w] 42## gap> Display( F2xyzw ); 43## <An external ring residing in the CAS Singular> 44## gap> F2sxyzw := F2sxyz * "w"; 45## GF(2)(s)[x,y,z][w] 46## gap> Display( F2sxyzw ); 47## <An external ring residing in the CAS Singular> 48## gap> ZZxyz := ZZ * "x,y,z"; 49## Z[x,y,z] 50## gap> Display( ZZxyz ); 51## <An external ring residing in the CAS Singular> 52## gap> ZZxyzw := ZZxyz * "w"; 53## Z[x,y,z][w] 54## gap> Display( ZZxyzw ); 55## <An external ring residing in the CAS Singular> 56## gap> Qxyz := Q * "x,y,z"; 57## Q[x,y,z] 58## gap> Display( Qxyz ); 59## <An external ring residing in the CAS Singular> 60## gap> Qsxyz := Qs * "x,y,z"; 61## Q(s)[x,y,z] 62## gap> Display( Qsxyz ); 63## <An external ring residing in the CAS Singular> 64## gap> Qixyz := Qi * "x,y,z"; 65## (Q[i]/(i^2+1))[x,y,z] 66## gap> Display( Qixyz ); 67## <An external ring residing in the CAS Singular> 68## gap> Qxyzw := Qxyz * "w"; 69## Q[x,y,z][w] 70## gap> Display( Qxyzw ); 71## <An external ring residing in the CAS Singular> 72## gap> Qsxyzw := Qsxyz * "w"; 73## Q(s)[x,y,z][w] 74## gap> Display( Qsxyzw ); 75## <An external ring residing in the CAS Singular> 76## gap> Dxyz := RingOfDerivations( Qxyz, "Dx,Dy,Dz" ); 77## Q[x,y,z]<Dx,Dy,Dz> 78## gap> Display( Dxyz ); 79## <An external ring residing in the CAS Singular> 80## gap> Exyz := ExteriorRing( Qxyz, "e,f,g" ); 81## Q{e,f,g} 82## gap> Display( Exyz ); 83## <An external ring residing in the CAS Singular> 84## gap> Dsxyz := RingOfDerivations( Qsxyz, "Dx,Dy,Dz" ); 85## Q(s)[x,y,z]<Dx,Dy,Dz> 86## gap> Display( Dsxyz ); 87## <An external ring residing in the CAS Singular> 88## gap> Esxyz := ExteriorRing( Qsxyz, "e,f,g" ); 89## Q(s){e,f,g} 90## gap> Display( Esxyz ); 91## <An external ring residing in the CAS Singular> 92## gap> Dixyz := RingOfDerivations( Qixyz, "Dx,Dy,Dz" ); 93## (Q[i]/(i^2+1))[x,y,z]<Dx,Dy,Dz> 94## gap> Display( Dixyz ); 95## <An external ring residing in the CAS Singular> 96## gap> Eixyz := ExteriorRing( Qixyz, "e,f,g" ); 97## (Q[i]/(i^2+1)){e,f,g} 98## gap> Display( Eixyz ); 99## <An external ring residing in the CAS Singular> 100## ]]></Example> 101## </Subsection> 102## <#/GAPDoc> 103 104LoadPackage( "RingsForHomalg" ); 105 106Print( "~~~~~~~~~~~\n\n" ); 107Print( "Singular\n\n" ); 108 109F2 := HomalgRingOfIntegersInSingular( 2 ); 110Display( F2 ); 111 112F2s := HomalgRingOfIntegersInSingular( 2, "s", F2 ); 113Display( F2s ); 114 115ZZ := HomalgRingOfIntegersInSingular( F2 ); 116Display( ZZ ); 117 118Q := HomalgFieldOfRationalsInSingular( F2 ); 119Display( Q ); 120 121Qs := HomalgFieldOfRationalsInSingular( "s", F2 ); 122Display( Qs ); 123 124Qi := HomalgFieldOfRationalsInSingular( "i", "i^2+1", Q ); 125Display( Qi ); 126 127F2xyz := F2 * "x,y,z"; 128Display( F2xyz ); 129 130F2sxyz := F2s * "x,y,z"; 131Display( F2sxyz ); 132 133F2xyzw := F2xyz * "w"; 134Display( F2xyzw ); 135 136F2sxyzw := F2sxyz * "w"; 137Display( F2sxyzw ); 138 139ZZxyz := ZZ * "x,y,z"; 140Display( ZZxyz ); 141 142ZZxyzw := ZZxyz * "w"; 143Display( ZZxyzw ); 144 145Qxyz := Q * "x,y,z"; 146Display( Qxyz ); 147 148Qsxyz := Qs * "x,y,z"; 149Display( Qsxyz ); 150 151Qixyz := Qi * "x,y,z"; 152Display( Qixyz ); 153 154Qxyzw := Qxyz * "w"; 155Display( Qxyzw ); 156 157Qsxyzw := Qsxyz * "w"; 158Display( Qsxyzw ); 159 160Dxyz := RingOfDerivations( Qxyz, "Dx,Dy,Dz" ); 161Display( Dxyz ); 162 163Exyz := ExteriorRing( Qxyz, "e,f,g" ); 164Display( Exyz ); 165 166Dsxyz := RingOfDerivations( Qsxyz, "Dx,Dy,Dz" ); 167Display( Dsxyz ); 168 169Esxyz := ExteriorRing( Qsxyz, "e,f,g" ); 170Display( Esxyz ); 171 172Dixyz := RingOfDerivations( Qixyz, "Dx,Dy,Dz" ); 173Display( Dixyz ); 174 175Eixyz := ExteriorRing( Qixyz, "e,f,g" ); 176Display( Eixyz ); 177