43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
|
|
class steenrod_square
|
|
{
|
|
// cube of resolutions (in steenrod_square, c will denote a cycle)
|
|
const cube<Z2> &cor;
|
|
|
|
mod_map<Z2> d;
|
|
const chain_complex_simplifier<Z2> &s;
|
|
|
|
map<grading, set<unsigned> > KGij;
|
|
|
|
// sC, fC take generators as input, not hypercube vertices
|
|
Z2 sC (unsigned x, unsigned y) const;
|
|
Z2 fC (unsigned x, unsigned y) const;
|
|
|
|
pair<set<unsigned>, // Gxy
|
|
map<unsigned, unsigned> // lxy
|
|
> ladybug_matching (unsigned x, unsigned y) const;
|
|
|
|
triple<set<unsigned>, // Gcx
|
|
map<unsigned, unsigned>, // bx
|
|
map<unsigned, Z2> // sx
|
|
> boundary_matching (grading cgr,
|
|
linear_combination<Z2> c,
|
|
unsigned x) const;
|
|
|
|
set<pair<unsigned, unsigned> > make_G2cx (grading cgr,
|
|
linear_combination<Z2> c,
|
|
unsigned x) const;
|
|
Z2 sq2_coeff (grading cgr,
|
|
linear_combination<Z2> c,
|
|
unsigned x) const;
|
|
|
|
public:
|
|
steenrod_square (const cube<Z2> &cor_,
|
|
mod_map<Z2> &d_,
|
|
const chain_complex_simplifier<Z2> &s_);
|
|
~steenrod_square () { }
|
|
|
|
mod_map<Z2> sq1 () const;
|
|
mod_map<Z2> sq2 () const;
|
|
};
|