32 lines
1.6 KiB
GDScript3
32 lines
1.6 KiB
GDScript3
## bytable.gd RAQ Quasigroups, racks, and quandles by multiplication tables.
|
|
|
|
## Self-distributivity
|
|
# Predicates on tables:
|
|
DeclareProperty( "IsLeftSelfDistributiveTable", IsMatrix );
|
|
DeclareProperty( "IsRightSelfDistributiveTable", IsMatrix );
|
|
DeclareProperty( "IsElementwiseIdempotentTable", IsMatrix );
|
|
|
|
## Attributes (typically used on the families of elements created from a
|
|
## multiplication table) to store sections and division tables
|
|
DeclareAttribute("LeftPerms", HasMultiplicationTable);
|
|
DeclareAttribute("RightPerms", HasMultiplicationTable);
|
|
DeclareAttribute("LeftDivisionTable", HasMultiplicationTable);
|
|
DeclareAttribute("RightDivisionTable", HasMultiplicationTable);
|
|
|
|
## Create Quasigroups and racks from multiplication tables
|
|
DeclareGlobalFunction("LeftQuasigroupByMultiplicationTable");
|
|
DeclareGlobalFunction("LeftQuasigroupByMultiplicationTableNC");
|
|
DeclareGlobalFunction("LeftRackByMultiplicationTable");
|
|
DeclareGlobalFunction("LeftRackByMultiplicationTableNC");
|
|
DeclareGlobalFunction("LeftQuandleByMultiplicationTable");
|
|
DeclareGlobalFunction("LeftQuandleByMultiplicationTableNC");
|
|
DeclareGlobalFunction("RightQuasigroupByMultiplicationTable");
|
|
DeclareGlobalFunction("RightQuasigroupByMultiplicationTableNC");
|
|
DeclareGlobalFunction("RightRackByMultiplicationTable");
|
|
DeclareGlobalFunction("RightRackByMultiplicationTableNC");
|
|
DeclareGlobalFunction("RightQuandleByMultiplicationTable");
|
|
DeclareGlobalFunction("RightQuandleByMultiplicationTableNC");
|
|
|
|
## Property of a collection that its elements know their multiplication table
|
|
DeclareProperty("IsBuiltFromMultiplicationTable", IsCollection);
|