Add specializations of the Opposite() operator.
This commit is contained in:
parent
bc8c892898
commit
5cde15c8ee
@ -235,3 +235,31 @@ InstallMethod(RightPerms,
|
|||||||
function(fam)
|
function(fam)
|
||||||
return List(TransposedMat(MultiplicationTable(fam)), x->PermList(x));
|
return List(TransposedMat(MultiplicationTable(fam)), x->PermList(x));
|
||||||
end);
|
end);
|
||||||
|
|
||||||
|
## Special case the Opposite function from LOOPS package, since the opposite
|
||||||
|
## of a left quasigroup is a right quasigroup and vice versa
|
||||||
|
|
||||||
|
# Is there a way to do this just once for each direction?
|
||||||
|
InstallMethod(Opposite, "for left quasigroup",
|
||||||
|
[ IsLeftQuasigroup ],
|
||||||
|
L -> RightQuasigroupByMultiplicationTable(
|
||||||
|
TransposedMat(MultiplicationTable(L))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
InstallMethod(Opposite, "for left rack",
|
||||||
|
[ IsLeftRack ],
|
||||||
|
L -> RightRackByMultiplicationTableNC(TransposedMat(MultiplicationTable(L)))
|
||||||
|
);
|
||||||
|
|
||||||
|
InstallMethod(Opposite, "for right quasigroup",
|
||||||
|
[ IsRightQuasigroup ],
|
||||||
|
L -> LeftQuasigroupByMultiplicationTable(
|
||||||
|
TransposedMat(MultiplicationTable(L))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
InstallMethod(Opposite, "for right rack",
|
||||||
|
[ IsRightRack ],
|
||||||
|
L -> LeftRackByMultiplicationTableNC(TransposedMat(MultiplicationTable(L)))
|
||||||
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user