GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
############################################################################# ## ## MapleHomalgOreModules.gi RingsForHomalg package Mohamed Barakat ## ## Copyright 2007-2008 Lehrstuhl B für Mathematik, RWTH Aachen ## ## Implementations for the rings provided by the Maple package OreModules ## accessed via the Maple implementation of homalg. ## ############################################################################# #################################### # # constructor functions and methods: # #################################### InstallMethod( CreateHomalgTable, "for homalg rings provided by the maple package OreModules", [ IsHomalgExternalRingObjectInMapleUsingOreModulesRep ], function( ext_ring_obj ) local RP, RP_Basic, RP_General, RP_BestBasis, RP_specific, component; RP := ShallowCopy( CommonHomalgTableForMapleHomalgTools ); RP_General := ShallowCopy( CommonHomalgTableForRings ); RP_Basic := ShallowCopy( CommonHomalgTableForMapleHomalgBasic ); RP_BestBasis := ShallowCopy( CommonHomalgTableForMapleHomalgBestBasis ); RP_specific := rec( ## Can optionally be provided by the RingPackage ## (homalg functions check if these functions are defined or not) ## (homalgTable gives no default value) RingName := function( R ) local r; if HasCoefficientsRing( R ) then r := RingName( CoefficientsRing( R ) ); else r := "k"; fi; return homalgSendBlocking( [ r, "[op(", R, "[1])]" ], "need_output" ); end, ); for component in NamesOfComponents( RP_General ) do RP.(component) := RP_General.(component); od; for component in NamesOfComponents( RP_Basic ) do RP.(component) := RP_Basic.(component); od; for component in NamesOfComponents( RP_specific ) do RP.(component) := RP_specific.(component); od; Objectify( TheTypeHomalgTable, RP ); return RP; end );