44 lines
2.1 KiB
GDScript3
44 lines
2.1 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);
|
|
|
|
## Create quasigroups etc by permutations
|
|
DeclareGlobalFunction("LeftQuasigroupByPerms");
|
|
DeclareGlobalFunction("LeftRackByPerms");
|
|
DeclareGlobalFunction("LeftRackByPermsNC");
|
|
DeclareGlobalFunction("LeftQuandleByPerms");
|
|
DeclareGlobalFunction("LeftQuandleByPermsNC");
|
|
DeclareGlobalFunction("RightQuasigroupByPerms");
|
|
DeclareGlobalFunction("RightRackByPerms");
|
|
DeclareGlobalFunction("RightRackByPermsNC");
|
|
DeclareGlobalFunction("RightQuandleByPerms");
|
|
DeclareGlobalFunction("RightQuandleByPermsNC");
|