add rack/quandle creators by perms
This commit is contained in:
parent
0231c423a3
commit
3e27eb52f6
2 changed files with 98 additions and 0 deletions
|
@ -29,3 +29,15 @@ DeclareGlobalFunction("RightQuandleByMultiplicationTableNC");
|
||||||
|
|
||||||
## Property of a collection that its elements know their multiplication table
|
## Property of a collection that its elements know their multiplication table
|
||||||
DeclareProperty("IsBuiltFromMultiplicationTable", IsCollection);
|
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");
|
||||||
|
|
|
@ -151,6 +151,92 @@ InstallGlobalFunction(RightQuandleByMultiplicationTableNC,
|
||||||
IsRightQuotientElement and IsRSelfDistElement and IsIdempotent)
|
IsRightQuotientElement and IsRSelfDistElement and IsIdempotent)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
## Creators from permutations
|
||||||
|
InstallGlobalFunction(LeftQuasigroupByPerms,
|
||||||
|
function(perms)
|
||||||
|
local Q;
|
||||||
|
Q := LeftQuasigroupByMultiplicationTableNC(
|
||||||
|
CayleyTableByPerms(perms, [1..Length(perms)]));
|
||||||
|
SetLeftPerms(Q, perms);
|
||||||
|
end);
|
||||||
|
|
||||||
|
InstallGlobalFunction(LeftRackByPerms,
|
||||||
|
function(perms)
|
||||||
|
local Q;
|
||||||
|
Q := LeftRackByMultiplicationTable(
|
||||||
|
CayleyTableByPerms(perms, [1..Length(perms)]));
|
||||||
|
SetLeftPerms(Q, perms);
|
||||||
|
end);
|
||||||
|
|
||||||
|
InstallGlobalFunction(LeftRackByPermsNC,
|
||||||
|
function(perms)
|
||||||
|
local Q;
|
||||||
|
Q := LeftRackByMultiplicationTableNC(
|
||||||
|
CayleyTableByPerms(perms, [1..Length(perms)]));
|
||||||
|
SetLeftPerms(Q, perms);
|
||||||
|
end);
|
||||||
|
|
||||||
|
InstallGlobalFunction(LeftQuandleByPerms,
|
||||||
|
function(perms)
|
||||||
|
local Q;
|
||||||
|
Q := LeftQuandleByMultiplicationTable(
|
||||||
|
CayleyTableByPerms(perms, [1..Length(perms)]));
|
||||||
|
SetLeftPerms(Q, perms);
|
||||||
|
end);
|
||||||
|
|
||||||
|
InstallGlobalFunction(LeftQuandleByPermsNC,
|
||||||
|
function(perms)
|
||||||
|
local Q;
|
||||||
|
Q := LeftQuandleByMultiplicationTableNC(
|
||||||
|
CayleyTableByPerms(perms, [1..Length(perms)]));
|
||||||
|
SetLeftPerms(Q, perms);
|
||||||
|
end);
|
||||||
|
|
||||||
|
InstallGlobalFunction(RightQuasigroupByPerms,
|
||||||
|
function(perms)
|
||||||
|
local Q;
|
||||||
|
Q := RightQuasigroupByMultiplicationTableNC(
|
||||||
|
TransposedMat(
|
||||||
|
CayleyTableByPerms(perms, [1..Length(perms)])));
|
||||||
|
SetRightPerms(Q, perms);
|
||||||
|
end);
|
||||||
|
|
||||||
|
InstallGlobalFunction(RightRackByPerms,
|
||||||
|
function(perms)
|
||||||
|
local Q;
|
||||||
|
Q := RightRackByMultiplicationTable(
|
||||||
|
TransposedMat(
|
||||||
|
CayleyTableByPerms(perms, [1..Length(perms)])));
|
||||||
|
SetRightPerms(Q, perms);
|
||||||
|
end);
|
||||||
|
|
||||||
|
InstallGlobalFunction(RightRackByPermsNC,
|
||||||
|
function(perms)
|
||||||
|
local Q;
|
||||||
|
Q := RightRackByMultiplicationTableNC(
|
||||||
|
TransposedMat(
|
||||||
|
CayleyTableByPerms(perms, [1..Length(perms)])));
|
||||||
|
SetRightPerms(Q, perms);
|
||||||
|
end);
|
||||||
|
|
||||||
|
InstallGlobalFunction(RightQuandleByPerms,
|
||||||
|
function(perms)
|
||||||
|
local Q;
|
||||||
|
Q := RightQuandleByMultiplicationTable(
|
||||||
|
TransposedMat(
|
||||||
|
CayleyTableByPerms(perms, [1..Length(perms)])));
|
||||||
|
SetRightPerms(Q, perms);
|
||||||
|
end);
|
||||||
|
|
||||||
|
InstallGlobalFunction(RightQuandleByPermsNC,
|
||||||
|
function(perms)
|
||||||
|
local Q;
|
||||||
|
Q := RightQuandleByMultiplicationTableNC(
|
||||||
|
TransposedMat(
|
||||||
|
CayleyTableByPerms(perms, [1..Length(perms)])));
|
||||||
|
SetRightPerms(Q, perms);
|
||||||
|
end);
|
||||||
|
|
||||||
## And define the operations
|
## And define the operations
|
||||||
|
|
||||||
InstallOtherMethod(LeftQuotient,
|
InstallOtherMethod(LeftQuotient,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue