# SPDX-License-Identifier: GPL-2.0-or-later # MatricesForHomalg: Matrices for the homalg project # # Implementations #
##
InstallOtherMethod( \*, "for homalg rings",
[ IsHomalgRing, IsJuliaObject ], 1001, ## for this method to be triggered first it has to have at least the same rank as the above method
function( R, indets )
indets := JuliaToGAP( IsString, indets );
return R * indets;
end );
##
InstallOtherMethod( \[\], "for homalg rings",
[ IsHomalgRing, IsJuliaObject ], 1001, ## for this method to be triggered first it has to have at least the same rank as the above method
for x in indets do
x_name := String( x ); if IsBoundGlobal( x_name ) then if not IsHomalgRingElement( ValueGlobal( x_name ) ) then
Error( "the name ", x_name, " is not bound to a homalg ring element\n" ); elif IsReadOnlyGlobal( x_name ) then
MakeReadWriteGlobal( x_name ); fi;
UnbindGlobal( x_name ); fi;
BindGlobal( x_name, x );
JuliaEvalString( Concatenation( x_name, " = GAP.Globals.", x_name ) );
od;
for x in params do
x_name := ShallowCopy( String( x ) );
RemoveCharacters( x_name, "()" ); if IsBoundGlobal( x_name ) then if not IsHomalgRingElement( ValueGlobal( x_name ) ) then
Error( "the name ", x_name, " is not bound to a homalg ring element\n" ); elif IsReadOnlyGlobal( x_name ) then
MakeReadWriteGlobal( x_name ); fi;
UnbindGlobal( x_name ); fi;
BindGlobal( x_name, x );
JuliaEvalString( Concatenation( x_name, " = GAP.Globals.", x_name ) );
od;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.