This package is part of the homalg project [tpa22]. The role of the package is described in the manual of the homalg package.
Here are some of the supported ring constructions:
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>
#@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
#@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
#@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
#@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
#@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
generated by GAPDoc2HTML