Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346############################################################################# ## #W resolutionAccess_SmallGroupRep.gd HAPcryst package Marc Roeder ## ## ## #H @(#)$Id: resolutionAccess_SmallGroupRep.gd, v 0.1.11 2013/10/27 18:31:09 gap Exp $ ## #Y Copyright (C) 2006 Marc Roeder #Y #Y This program is free software; you can redistribute it and/or #Y modify it under the terms of the GNU General Public License #Y as published by the Free Software Foundation; either version 2 #Y of the License, or (at your option) any later version. #Y #Y This program is distributed in the hope that it will be useful, #Y but WITHOUT ANY WARRANTY; without even the implied warranty of #Y MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #Y GNU General Public License for more details. #Y #Y You should have received a copy of the GNU General Public License #Y along with this program; if not, write to the Free Software #Y Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA ## Revision.("/Users/roeder/gap/HAPcryst/HAPcryst/lib/datatypes/resolutionAccess_SmallGroupRep_gd"):= "@(#)$Id: resolutionAccess_SmallGroupRep.gd, v 0.1.11 2013/10/27 18:31:09 gap Exp $"; ############################################################################# ## ## This file defines a representation for HapResolutions of small groups. ## ## The additional feature of this representation is the multiplication ## via a multiplication table. ## Also, the list of group elements R!.elts is a set. So we can do binary ## search occasionally. ## ## Elements of the modules in these resolutions are still pairs of integers. ## ## # DeclareRepresentation("IsHapSmallGroupResolutionRep", IsHapResolutionRep, ["dimension", "boundary", "homotopy", "group", "elts", "multtable", "properties"]); HapSmallGroupResolution:=NewType(HapResolutionFamily,IsHapSmallGroupResolutionRep); ############################################################################# ## #O PositionInGroupOfResolutionNC(<resolution>,<g>) #O PositionInGroupOfResolution(<resolution>,<g>) ## ## find the position in <resolution>'s partial list of group elements ## <resolution!.elts>. If <g> is not contained in <resolution!.elts>, it is ## added and the length of <resolution!.elts> is returned. ## DeclareOperation("PositionInGroupOfResolutionNC", [IsHapSmallGroupResolutionRep,IsObject]); DeclareOperation("PositionInGroupOfResolution", [IsHapSmallGroupResolutionRep,IsObject]); ############################################################################# ## #O MultiplyGroupEltsNC(<resolution>,<x>,<y>) #O MultiplyGroupEltsNC_SmallGroupRep(<resolution>,<x>,<y>) ## ## multiply two elements of the group associated with <resolution>. These ## elements are represented as integers or group elements. Depending on ## the kind of resolution they live in. ## Hence, we have different methods for multiplying them. ## DeclareOperation("MultiplyGroupEltsNC", [IsHapSmallGroupResolutionRep,IsPosInt,IsPosInt]); ############################################################################# ## #O MultiplyFreeZGLetterWithGroupEltNC(<resolution>,<letter>,<g>) ## ## given a pair <letter> of positive integers which represent a generator- ## group element pair, this returns the letter multiplied with the group ## element <g>. ## This function does not check if the input is sane. ## ## DeclareOperation("MultiplyFreeZGLetterWithGroupEltNC", [IsHapSmallGroupResolutionRep,IsDenseList,IsPosInt]);