resolve/
resolve.rs

1//! Resolves a module up to a fixed $(s, t)$ 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
17use ext::chain_complex::{ChainComplex, FreeChainComplex};
18use sseq::coordinates::Bidegree;
19
20fn main() -> anyhow::Result<()> {
21    ext::utils::init_logging()?;
22
23    let res = ext::utils::query_module_only("Module", None, false)?;
24
25    let t = query::with_default("Max t", "30", str::parse);
26    let s = query::with_default("Max s", "15", str::parse);
27
28    let max = Bidegree::s_t(s, t);
29    res.compute_through_bidegree(max);
30
31    println!("{}", res.graded_dimension_string());
32    Ok(())
33}