Skip to content

Commit 4b47253

Browse files
d&i new method Algebroid for [ IsHomalgRing, IsFpCategory ]
1 parent ce30f40 commit 4b47253

File tree

3 files changed

+50
-1
lines changed

3 files changed

+50
-1
lines changed

PackageInfo.g

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ SetPackageInfo( rec(
1111
PackageName := "Algebroids",
1212
Subtitle := "Algebroids and bialgebroids as preadditive categories generated by enhanced quivers",
1313
Version := Maximum( [
14-
"2020.10-11", ## Mohamed's version
14+
"2020.10-12", ## Mohamed's version
1515
## this line prevents merge conflicts
1616
"2020.09-08", ## Kamal's version
1717
## this line prevents merge conflicts

gap/Algebroids.gd

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,16 @@ DeclareOperation( "Algebroid",
336336
DeclareOperation( "Algebroid",
337337
[ IsHomalgRing, IsQuiver ] );
338338

339+
#! @Arguments R, C
340+
#! @Group Algebroid
341+
DeclareOperation( "Algebroid",
342+
[ IsHomalgRing, IsFpCategory ] );
343+
344+
#! @Arguments R, C
345+
#! @Group Algebroid
346+
DeclareOperation( "[]",
347+
[ IsHomalgRing, IsFpCategory ] );
348+
339349
#! @Description
340350
#! The argument is an algebroid $A$ with left acting domain given by the field of rationals $\mathbb{Q}$,
341351
#! either realized by <C>Rationals</C> or by <C>HomalgFieldOfRationals</C> (in no external CAS).

gap/Algebroids.gi

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1012,6 +1012,45 @@ InstallMethod( Algebroid,
10121012

10131013
end );
10141014

1015+
##
1016+
InstallMethodWithCache( Algebroid,
1017+
"for a homalg ring and a finitely presented category",
1018+
[ IsHomalgRing, IsFpCategory ],
1019+
1020+
function( k, C )
1021+
local relations, kq, A;
1022+
1023+
relations := C!.relations;
1024+
1025+
if relations = [ ] and not IsPathAlgebra( UnderlyingQuiverAlgebra( C ) ) then
1026+
Error( "the underlying quiver algebra is not a path algebra, nevertheless the list of relations is empty\n" );
1027+
fi;
1028+
1029+
kq := PathAlgebra( k, UnderlyingQuiver( C ) );
1030+
1031+
relations := List( relations, a -> PathAsAlgebraElement( kq, a[1] ) - PathAsAlgebraElement( kq, a[2] ) );
1032+
1033+
A := kq / Ideal( kq, relations );
1034+
1035+
A := kq / GroebnerBasis( IdealOfQuotient( A ) );
1036+
1037+
A := Algebroid( A, false ); ## do not call the single argument method Algebroid as it is an attribute
1038+
1039+
SetUnderlyingCategory( A, C );
1040+
1041+
SetIsLinearClosureOfACategory( A, true );
1042+
1043+
return A;
1044+
1045+
end );
1046+
1047+
##
1048+
InstallMethod( \[\],
1049+
"for a homalg ring and a finitely presented category",
1050+
[ IsHomalgRing, IsFpCategory ],
1051+
1052+
Algebroid );
1053+
10151054
##
10161055
InstallMethod( DescentToZDefinedByBasisPaths,
10171056
"for an algebroid",

0 commit comments

Comments
 (0)