See examples in GroupAlgebra.mw
FG_GroupAlgebra(setting)
initializes group algebra including all commands listed below.
Currently implemented setting::string is
either "matrix" for matrix groups or "affine" for space groups.
Can be executed also by Setup('setting'=setting).
Package-wise parameters influencing algebra for affine groups are
Setup('orthogonal'::boolean) if true then matrix inversions are replaced by transpositions;Setup('unitcell'::boolean)
if true then all coordinates are reduced to unit cell with origin at origin;
can be set also by unitcellon(), unitcelloff(), unitcellback() commands;
Setup('origin'::[numeric$nt]) left boundary for lattice coordinate
for periodic dimensions or onpd constant for nonperiodic ones;
it does not influence improper translations in group elements which are always reduced to 0..1 interval.FGS(g)::g simplification procedure (relies on FG_simplify).FG_unit(g)::g returns the unit element.FG_ident(g1,g2:=0)::boolean evaluate if g1=g2.FG_inv(g)::g invert.FG_mul(g1,g2)::g multiply.FG_app(g,p,origin2:=origin,unitcell2:=unitcell)::p apply g to p.FG_appt(g,p,origin2:=origin)::p translation vector moving p to unit cell, i.e. FG_app(g,p,true)-FG_app(g,p,false).FG_apl(g,lsp,origin2:=origin,unitcell2:=unitcell)::lsp apply the same translation vector to the list of points.