resolve_through_stem/resolve_through_stem.rs
1//! Resolves a module up to an $(n, s)$ and prints an ASCII depiction of the Ext groups:
2//! ```text
3//! ·
4//! · ·
5//! · · · ·
6//! · · · ·
7//! · · · ·
8//! · · · · · ·
9//! · · · · · · · · ·
10//! · · · · : · · · · ·
11//! · · · · · · · · · ·
12//! · · · · · · · · ·
13//! · · · · · · · · · · ·
14//! · · · · : · · · · · · ·
15//! · · · · · · : · · · ·
16//! · · · · · · · · · · · ·
17//! · · · · · · · · · · ·
18//! · · · · ·
19//! ·
20//! ```
21
22use ext::chain_complex::FreeChainComplex;
23use sseq::coordinates::Bidegree;
24
25fn main() -> anyhow::Result<()> {
26 ext::utils::init_logging()?;
27
28 let res = ext::utils::query_module_only("Module", None, false)?;
29
30 let max = Bidegree::n_s(
31 query::with_default("Max n", "30", str::parse),
32 query::with_default("Max s", "15", str::parse),
33 );
34
35 res.compute_through_stem(max);
36
37 println!("{}", res.graded_dimension_string());
38
39 Ok(())
40}