The ChainCon Software (Release 0.03)
|
Computation of the Steenrod squares for cubical cells. More...
#include <istream>
#include <ostream>
#include <vector>
#include "chomp/system/config.h"
#include "chomp/struct/hashsets.h"
#include "chomp/struct/multitab.h"
#include "chaincon/chain.h"
#include "chaincon/tensor.h"
#include "chaincon/linmap.h"
#include "chaincon/pair.h"
#include "chaincon/shuffles.h"
Go to the source code of this file.
Classes | |
class | STuples |
An auxiliary class for iterating all the possible disjoint subsets A and B of integers in [0, ..., range - 1], both of the given length. More... | |
Functions | |
bool | ssquare_sign (int x, const std::vector< int > &A, const std::vector< int > &B) |
Computes the sign that appears in the formula for the face. More... | |
template<class CubCellT > | |
CubCellT | ssquare_face (const CubCellT &xCell, const std::vector< int > &A, const std::vector< int > &B, int range, bool right_hand_side) |
Computes a given face of a simplicial cell. More... | |
template<class CubCellT , class CoefT > | |
CoefT | ssquare (int i, int j, const CubCellT &cCell, const tChain< CubCellT, CoefT > &xChain, const tLinMap< CubCellT, CubCellT, CoefT > &pi) |
Computes a single Steenrod square. More... | |
template<class CubCellT , class CoefT > | |
void | ssquares (const std::vector< std::vector< CubCellT > > &cohomRepresentants, const tLinMap< CubCellT, CubCellT, CoefT > &pi, const tLinMap< CubCellT, CubCellT, CoefT > &incl, chomp::homology::hashedset< tPair< CubCellT, int > > &cellsSquares, chomp::homology::multitable< tChain< CubCellT, CoefT > > &squareValues) |
Computes the Steenrod squares, given a minimal model and cohomology representants. More... | |
template<class CubCellT , class CoefT > | |
void | ssquares1 (const std::vector< std::vector< CubCellT > > &cohomRepresentants, const tLinMap< CubCellT, CubCellT, CoefT > &pi, const tLinMap< CubCellT, CubCellT, CoefT > &incl, chomp::homology::hashedset< tPair< CubCellT, int > > &cellsSquares, chomp::homology::multitable< tChain< CubCellT, CoefT > > &squareValues) |
Computes the Steenrod squares using the only procedure in this case. More... | |
template<class CubCellT , class CoefT > | |
void | ssquares2 (const std::vector< std::vector< CubCellT > > &cohomRepresentants, const tLinMap< CubCellT, CubCellT, CoefT > &pi, const tLinMap< CubCellT, CubCellT, CoefT > &incl, chomp::homology::hashedset< tPair< CubCellT, int > > &cellsSquares, chomp::homology::multitable< tChain< CubCellT, CoefT > > &squareValues) |
Computes the Steenrod squares using the only procedure in this case. More... | |
Computation of the Steenrod squares for cubical cells.
Definition in file ssquarescub.h.
|
inline |
Computes a single Steenrod square.
Follows the formula provided by Marek Krcal.
Definition at line 208 of file ssquarescub.h.
References ssquare_face(), and ssquares().
Referenced by ssquares().
|
inline |
Computes a given face of a simplicial cell.
See the formula in the paper for details.
Definition at line 169 of file ssquarescub.h.
References ssquare_sign().
Referenced by ssquare().
|
inline |
Computes the sign that appears in the formula for the face.
Note that the indices in the code count from 0, not from 1. Returns true if the sign is positive or false if it is negative.
Definition at line 150 of file ssquarescub.h.
Referenced by ssquare_face().
|
inline |
Computes the Steenrod squares, given a minimal model and cohomology representants.
For cells of cubical type, using the direct formula provided by Marek Krcal.
Definition at line 328 of file ssquarescub.h.
References ssquare(), and ssquares1().
Referenced by ssquare(), ssquares1(), and ssquares2().
|
inline |
Computes the Steenrod squares using the only procedure in this case.
Definition at line 398 of file ssquarescub.h.
References ssquares(), and ssquares2().
Referenced by computeSteenrodSquares(), and ssquares().
|
inline |
Computes the Steenrod squares using the only procedure in this case.
Definition at line 411 of file ssquarescub.h.
References ssquares().
Referenced by computeSteenrodSquares(), and ssquares1().