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}