The ChainCon Software (Release 0.03)
|
Computation of the Steenrod squares for simplicial 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/prodcell.h"
#include "chaincon/ez_aw.h"
#include "chaincon/ez_shi.h"
Go to the source code of this file.
Functions | |
template<class ProdCellT , class CoefT > | |
void | swapProduct (const tChain< ProdCellT, CoefT > &input, tChain< ProdCellT, CoefT > &result) |
Swaps the components of all of the product cells in the chain. More... | |
template<class CellT , class ProdCellT , class CoefT > | |
void | computeDiagonal (const tChain< CellT, CoefT > &x, tChain< ProdCellT, CoefT > &result) |
Computes the diagonal of a chain. More... | |
template<class CellT , class ProdCellT , class CoefT > | |
void | flattenProduct (const tChain< ProdCellT, CoefT > &chain, tChain< CellT, CoefT > &result) |
Converts a chain of cells encoded as trivial product cells to the chain of the actual cells. More... | |
template<class Cell1T , class Cell2T , class ProdCell1T , class ProdCell2T , class CoefT > | |
void | flattenProduct (const tTensor< ProdCell1T, ProdCell2T, CoefT > &tensor, tTensor< Cell1T, Cell2T, CoefT > &result) |
Converts a chain of cells encoded as trivial product cells to the chain of the actual cells. More... | |
template<class SimCellT , class CoefT > | |
void | ssquares1 (const std::vector< std::vector< SimCellT > > &cohomRepresentants, const tLinMap< SimCellT, SimCellT, CoefT > &pi, const tLinMap< SimCellT, SimCellT, CoefT > &incl, chomp::homology::hashedset< tPair< SimCellT, int > > &cellsSquares, chomp::homology::multitable< tChain< SimCellT, CoefT > > &squareValues) |
Computes the Steenrod squares, given a minimal model and cohomology representants. More... | |
int | ssquare_S (int k, const std::vector< int > &ii, int n, int m) |
Computes the k-th value of the index S in the sum ranges defined in Corollary 3.2 in [CombSteenSq], pg. More... | |
template<class SimCellT > | |
SimCellT | ssquare_face (const SimCellT &xCell, const std::vector< int > &ii, int n, int m, bool right_hand_side) |
Computes the faces of a simplicial cell. More... | |
template<class SimCellT , class CoefT > | |
CoefT | ssquare (int i, int j, const SimCellT &cCell, const tChain< SimCellT, CoefT > &xChain, const tLinMap< SimCellT, SimCellT, CoefT > &pi) |
Computes a single Steenrod square. More... | |
template<class SimCellT , class CoefT > | |
void | ssquares2 (const std::vector< std::vector< SimCellT > > &cohomRepresentants, const tLinMap< SimCellT, SimCellT, CoefT > &pi, const tLinMap< SimCellT, SimCellT, CoefT > &incl, chomp::homology::hashedset< tPair< SimCellT, int > > &cellsSquares, chomp::homology::multitable< tChain< SimCellT, CoefT > > &squareValues) |
Computes the Steenrod squares, given a minimal model and cohomology representants. More... | |
template<class SimCellT , class CoefT > | |
void | ssquares (const std::vector< std::vector< SimCellT > > &cohomRepresentants, const tLinMap< SimCellT, SimCellT, CoefT > &pi, const tLinMap< SimCellT, SimCellT, CoefT > &incl, chomp::homology::hashedset< tPair< SimCellT, int > > &cellsSquares, chomp::homology::multitable< tChain< SimCellT, CoefT > > &squareValues) |
Computes the Steenrod squares, given a minimal model and cohomology representants. More... | |
Computation of the Steenrod squares for simplicial cells.
Definition in file ssquaressim.h.
|
inline |
Computes the diagonal of a chain.
This corresponds to "(x,x)" in [CombSteenSq], pg. 95, formula (3).
Definition at line 78 of file ssquaressim.h.
Referenced by ssquares1().
|
inline |
Converts a chain of cells encoded as trivial product cells to the chain of the actual cells.
Definition at line 94 of file ssquaressim.h.
Referenced by ssquares1().
|
inline |
Converts a chain of cells encoded as trivial product cells to the chain of the actual cells.
Definition at line 111 of file ssquaressim.h.
References ssquares1().
|
inline |
Computes a single Steenrod square.
Follows the formulas in Corollary 3.2 in [CombSteenSq], pg. 97.
Definition at line 357 of file ssquaressim.h.
References ssquare_face(), ssquare_S(), and ssquares2().
Referenced by ssquares2().
|
inline |
Computes the faces of a simplicial cell.
The faces appear in the formulas in Corollary 3.2 in [CombSteenSq], pg. 97.
Definition at line 285 of file ssquaressim.h.
Referenced by ssquare().
|
inline |
Computes the k-th value of the index S in the sum ranges defined in Corollary 3.2 in [CombSteenSq], pg.
Definition at line 258 of file ssquaressim.h.
Referenced by ssquare().
|
inline |
Computes the Steenrod squares, given a minimal model and cohomology representants.
For cells of simplicial type. Please, make sure to include the appropriate header file with the definition of the Alexander-Whitney diagonal for the cells in use before including the header file containing this procedure. Follows Corollary 3.2 in [CombSteenSq], pg. 97.
Definition at line 537 of file ssquaressim.h.
References ssquares2().
Referenced by ssquares2().
|
inline |
Computes the Steenrod squares, given a minimal model and cohomology representants.
For cells of simplicial type. Please, make sure to include the appropriate header file with the definition of the Alexander-Whitney diagonal for the cells in use before including the header file containing this procedure. Follows Equation (3) in [CombSteenSq], pg. 95. Warning: This procedure is very inefficient. Please, use "ssquares2" instead.
Definition at line 139 of file ssquaressim.h.
References computeDiagonal(), EZ_AW(), EZ_SHI(), flattenProduct(), and swapProduct().
Referenced by flattenProduct().
|
inline |
Computes the Steenrod squares, given a minimal model and cohomology representants.
For cells of simplicial type. Please, make sure to include the appropriate header file with the definition of the Alexander-Whitney diagonal for the cells in use before including the header file containing this procedure. Follows the formulas in Corollary 3.2 in [CombSteenSq], pg. 97.
Definition at line 462 of file ssquaressim.h.
References ssquare(), and ssquares().
Referenced by ssquare(), and ssquares().
|
inline |
Swaps the components of all of the product cells in the chain.
Adds the result to the resulting chain (which is assumed to be empty). Corresponds to the operator "t" in [CombSteenSq], pg. 94, for p=2.
Definition at line 62 of file ssquaressim.h.
Referenced by ssquares1().