Goto Chapter: Top 1 2 3 Bib Ind

### 1 Introduction

This package is part of the homalg project [tpa22]. The role of the package is described in the manual of the homalg package.

#### 1.1 Ring Constructions for Supported External Computer Algebra Systems

Here are some of the supported ring constructions:

##### 1.1-1 external GAP
gap> zz := HomalgRingOfIntegersInExternalGAP( );
Z
gap> Display( zz );
<An external ring residing in the CAS GAP>
gap> F2 := HomalgRingOfIntegersInExternalGAP( 2, zz );
GF(2)
gap> Display( F2 );
<An external ring residing in the CAS GAP>


F2 := HomalgRingOfIntegersInExternalGAP( 2 ) would launch another GAP.

gap> Z4 := HomalgRingOfIntegersInExternalGAP( 4, zz );
Z/4Z
gap> Display( Z4 );
<An external ring residing in the CAS GAP>
gap> Z_4 := HomalgRingOfIntegersInExternalGAP( zz ) / 4;
Z/( 4 )
gap> Display( Z_4 );
<A residue class ring>
gap> Q := HomalgFieldOfRationalsInExternalGAP( zz );
Q
gap> Display( Q );
<An external ring residing in the CAS GAP>


##### 1.1-2 Singular
#@if IsBound( TryLaunchCAS_IO_ForHomalg( HOMALG_IO_Singular ).stdout )
gap> F2 := HomalgRingOfIntegersInSingular( 2 );
GF(2)
gap> Display( F2 );
<An external ring residing in the CAS Singular>
gap> F2s := HomalgRingOfIntegersInSingular( 2, "s" ,F2 );
GF(2)(s)
gap> Display( F2s );
<An external ring residing in the CAS Singular>
gap> zz := HomalgRingOfIntegersInSingular( F2 );
Z
gap> Display( zz );
<An external ring residing in the CAS Singular>
gap> Q := HomalgFieldOfRationalsInSingular( F2 );
Q
gap> Display( Q );
<An external ring residing in the CAS Singular>
gap> Qs := HomalgFieldOfRationalsInSingular( "s", F2 );
Q(s)
gap> Display( Qs );
<An external ring residing in the CAS Singular>
gap> Qi := HomalgFieldOfRationalsInSingular( "i", "i^2+1", Q );
Q[i]/(i^2+1)
gap> Display( Qi );
<An external ring residing in the CAS Singular>
#@fi


Q := HomalgFieldOfRationalsInSingular( ) would launch another Singular.

#@if IsBound( TryLaunchCAS_IO_ForHomalg( HOMALG_IO_Singular ).stdout )
gap> F2xyz := F2 * "x,y,z";
GF(2)[x,y,z]
gap> Display( F2xyz );
<An external ring residing in the CAS Singular>
gap> F2sxyz := F2s * "x,y,z";
GF(2)(s)[x,y,z]
gap> Display( F2sxyz );
<An external ring residing in the CAS Singular>
gap> F2xyzw := F2xyz * "w";
GF(2)[x,y,z][w]
gap> Display( F2xyzw );
<An external ring residing in the CAS Singular>
gap> F2sxyzw := F2sxyz * "w";
GF(2)(s)[x,y,z][w]
gap> Display( F2sxyzw );
<An external ring residing in the CAS Singular>
gap> zzxyz := zz * "x,y,z";
Z[x,y,z]
gap> Display( zzxyz );
<An external ring residing in the CAS Singular>
gap> zzxyzw := zzxyz * "w";
Z[x,y,z][w]
gap> Display( zzxyzw );
<An external ring residing in the CAS Singular>
gap> Qxyz := Q * "x,y,z";
Q[x,y,z]
gap> Display( Qxyz );
<An external ring residing in the CAS Singular>
gap> Qsxyz := Qs * "x,y,z";
Q(s)[x,y,z]
gap> Display( Qsxyz );
<An external ring residing in the CAS Singular>
gap> Qixyz := Qi * "x,y,z";
(Q[i]/(i^2+1))[x,y,z]
gap> Display( Qixyz );
<An external ring residing in the CAS Singular>
gap> Qxyzw := Qxyz * "w";
Q[x,y,z][w]
gap> Display( Qxyzw );
<An external ring residing in the CAS Singular>
gap> Qsxyzw := Qsxyz * "w";
Q(s)[x,y,z][w]
gap> Display( Qsxyzw );
<An external ring residing in the CAS Singular>
gap> Dxyz := RingOfDerivations( Qxyz, "Dx,Dy,Dz" );
Q[x,y,z]<Dx,Dy,Dz>
gap> Display( Dxyz );
<An external ring residing in the CAS Singular>
gap> Exyz := ExteriorRing( Qxyz, "e,f,g" );
Q{e,f,g}
gap> Display( Exyz );
<An external ring residing in the CAS Singular>
gap> Dsxyz := RingOfDerivations( Qsxyz, "Dx,Dy,Dz" );
Q(s)[x,y,z]<Dx,Dy,Dz>
gap> Display( Dsxyz );
<An external ring residing in the CAS Singular>
gap> Esxyz := ExteriorRing( Qsxyz, "e,f,g" );
Q(s){e,f,g}
gap> Display( Esxyz );
<An external ring residing in the CAS Singular>
gap> Dixyz := RingOfDerivations( Qixyz, "Dx,Dy,Dz" );
(Q[i]/(i^2+1))[x,y,z]<Dx,Dy,Dz>
gap> Display( Dixyz );
<An external ring residing in the CAS Singular>
gap> Eixyz := ExteriorRing( Qixyz, "e,f,g" );
(Q[i]/(i^2+1)){e,f,g}
gap> Display( Eixyz );
<An external ring residing in the CAS Singular>
gap> qring := HomalgQRingInSingular( Qxyz, "x*y" );
Q[x,y,z]/( x*y )
gap> Display( qring );
<An external ring residing in the CAS Singular>
gap> "z + x*y" / qring = "z" / qring;
true
#@fi


##### 1.1-3 MAGMA
#@if IsBound( TryLaunchCAS_IO_ForHomalg( HOMALG_IO_MAGMA ).stdout )
gap> zz := HomalgRingOfIntegersInMAGMA( );
Z
gap> Display( zz );
<An external ring residing in the CAS MAGMA>
gap> F2 := HomalgRingOfIntegersInMAGMA( 2, zz );
GF(2)
gap> Display( F2 );
<An external ring residing in the CAS MAGMA>
#@fi


F2 := HomalgRingOfIntegersInMAGMA( 2 ) would launch another MAGMA.

#@if IsBound( TryLaunchCAS_IO_ForHomalg( HOMALG_IO_MAGMA ).stdout )
gap> Z_4 := HomalgRingOfIntegersInMAGMA( zz ) / 4;
Z/( 4 )
gap> Display( Z_4 );
<A residue class ring>
gap> Q := HomalgFieldOfRationalsInMAGMA( zz );
Q
gap> Display( Q );
<An external ring residing in the CAS MAGMA>
gap> F2xyz := F2 * "x,y,z";
GF(2)[x,y,z]
gap> Display( F2xyz );
<An external ring residing in the CAS MAGMA>
gap> Qxyz := Q * "x,y,z";
Q[x,y,z]
gap> Display( Qxyz );
<An external ring residing in the CAS MAGMA>
gap> Exyz := ExteriorRing( Qxyz, "e,f,g" );
Q{e,f,g}
gap> Display( Exyz );
<An external ring residing in the CAS MAGMA>
#@fi


##### 1.1-4 Macaulay2
#@if IsBound( TryLaunchCAS_IO_ForHomalg( HOMALG_IO_Macaulay2 ).stdout )
gap> zz := HomalgRingOfIntegersInMacaulay2( );
Z
gap> Display( zz );
<An external ring residing in the CAS Macaulay2>
gap> F2 := HomalgRingOfIntegersInMacaulay2( 2, zz );
GF(2)
gap> Display( F2 );
<An external ring residing in the CAS Macaulay2>
#@fi


F2 := HomalgRingOfIntegersInMacaulay2( 2 ) would launch another Macaulay2.

#@if IsBound( TryLaunchCAS_IO_ForHomalg( HOMALG_IO_Macaulay2 ).stdout )
gap> Z_4 := HomalgRingOfIntegersInMacaulay2( zz ) / 4;
Z/( 4 )
gap> Display( Z_4 );
<A residue class ring>
gap> Q := HomalgFieldOfRationalsInMacaulay2( zz );
Q
gap> Display( Q );
<An external ring residing in the CAS Macaulay2>
gap> F2xyz := F2 * "x,y,z";
GF(2)[x,y,z]
gap> Display( F2xyz );
<An external ring residing in the CAS Macaulay2>
gap> Qxyz := Q * "x,y,z";
Q[x,y,z]
gap> Display( Qxyz );
<An external ring residing in the CAS Macaulay2>
gap> Dxyz := RingOfDerivations( Qxyz, "Dx,Dy,Dz" );
Q[x,y,z]<Dx,Dy,Dz>
gap> Display( Dxyz );
<An external ring residing in the CAS Macaulay2>
gap> Exyz := ExteriorRing( Qxyz, "e,f,g" );
Q{e,f,g}
gap> Display( Exyz );
<An external ring residing in the CAS Macaulay2>
#@fi


##### 1.1-5 Sage
#@if IsBound( TryLaunchCAS_IO_ForHomalg( HOMALG_IO_Sage ).stdout )
gap> zz := HomalgRingOfIntegersInSage( );
Z
gap> Display( zz );
<An external ring residing in the CAS Sage>
gap> F2 := HomalgRingOfIntegersInSage( 2, zz );
GF(2)
gap> Display( F2 );
<An external ring residing in the CAS Sage>
#@fi


F2 := HomalgRingOfIntegersInSage( 2 ) would launch another Sage.

#@if IsBound( TryLaunchCAS_IO_ForHomalg( HOMALG_IO_Sage ).stdout )
gap> Z_4 := HomalgRingOfIntegersInSage( zz ) / 4;
Z/( 4 )
gap> Display( Z_4 );
<A residue class ring>
gap> Q := HomalgFieldOfRationalsInSage( zz );
Q
gap> Display( Q );
<An external ring residing in the CAS Sage>
gap> F2x := F2 * "x";
GF(2)[x]
gap> Display( F2x );
<An external ring residing in the CAS Sage>
gap> Qx := Q * "x";
Q[x]
gap> Display( Qx );
<An external ring residing in the CAS Sage>
#@fi


##### 1.1-6 Maple
#@if IsBound( TryLaunchCAS_IO_ForHomalg( HOMALG_IO_Maple ).stdout )
gap> zz := HomalgRingOfIntegersInMaple( );
Z
gap> Display( zz );
<An external ring residing in the CAS Maple>
gap> F2 := HomalgRingOfIntegersInMaple( 2, zz );
GF(2)
gap> Display( F2 );
<An external ring residing in the CAS Maple>
#@fi


F2 := HomalgRingOfIntegersInMaple( 2 ) would launch another Maple.

#@if IsBound( TryLaunchCAS_IO_ForHomalg( HOMALG_IO_Maple ).stdout )
gap> Z4 := HomalgRingOfIntegersInMaple( 4, zz );
Z/4Z
gap> Display( Z4 );
<An external ring residing in the CAS Maple>
gap> Z_4 := HomalgRingOfIntegersInMaple( zz ) / 4;
Z/( 4 )
gap> Display( Z_4 );
<A residue class ring>
gap> Q := HomalgFieldOfRationalsInMaple( zz );
Q
gap> Display( Q );
<An external ring residing in the CAS Maple>
gap> F2xyz := F2 * "x,y,z";
GF(2)[x,y,z]
gap> Display( F2xyz );
<An external ring residing in the CAS Maple>
gap> Qxyz := Q * "x,y,z";
Q[x,y,z]
gap> Display( Qxyz );
<An external ring residing in the CAS Maple>
gap> Dxyz := RingOfDerivations( Qxyz, "Dx,Dy,Dz" );
Q[x,y,z]<Dx,Dy,Dz>
gap> Display( Dxyz );
<An external ring residing in the CAS Maple>
gap> Exyz := ExteriorRing( Qxyz, "e,f,g" );
Q{e,f,g}
gap> Display( Exyz );
<An external ring residing in the CAS Maple>
#@fi

Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML