Add specializations of the Opposite() operator.
This commit is contained in:
parent
bc8c892898
commit
5cde15c8ee
@ -235,3 +235,31 @@ InstallMethod(RightPerms,
|
||||
function(fam)
|
||||
return List(TransposedMat(MultiplicationTable(fam)), x->PermList(x));
|
||||
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