GAP (RingsForHomalg) - Chapter 1: Introduction

Goto Chapter: Top 1 2 3 Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax off]

1 Introduction
1.1 Ring Constructions for Supported External Computer Algebra Systems
1.1-1 external GAP
1.1-2 Singular
1.1-3 MAGMA
1.1-4 Macaulay2
1.1-5 Sage
1.1-6 Maple

### 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

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML