filtration_one/
filtration_one.rs1use ext::{
7 chain_complex::{ChainComplex, FreeChainComplex},
8 utils::query_module,
9};
10use sseq::coordinates::{Bidegree, BidegreeGenerator};
11
12fn main() -> anyhow::Result<()> {
13 ext::utils::init_logging()?;
14
15 let resolution = query_module(None, false)?;
16 assert_eq!(resolution.prime(), 2);
17
18 for b in resolution.iter_stem() {
19 let mut i = 0;
20 while resolution.has_computed_bidegree(b + Bidegree::s_t(1, 1 << i)) {
21 let products = resolution.filtration_one_product(1 << i, 0, b).unwrap();
23 for (idx, row) in products.into_iter().enumerate() {
24 let g = BidegreeGenerator::new(b, idx);
25 if !row.is_empty() {
26 println!("h_{i} x_{g} = {row:?}");
27 }
28 }
29 i += 1;
30 }
31 }
32 Ok(())
33}