UnstableResolution

Type Alias UnstableResolution 

Source
pub type UnstableResolution<CC> = MuResolution<true, CC>;

Aliased Type§

pub struct UnstableResolution<CC> {
    name: String,
    lock: Mutex<()>,
    complex: Arc<CC>,
    modules: OnceBiVec<Arc<MuFreeModule<true, <CC as ChainComplex>::Algebra>>>,
    zero_module: Arc<MuFreeModule<true, <CC as ChainComplex>::Algebra>>,
    chain_maps: OnceBiVec<Arc<MuFreeModuleHomomorphism<true, <CC as ChainComplex>::Module>>>,
    differentials: OnceVec<Arc<MuFreeModuleHomomorphism<true, MuFreeModule<true, <CC as ChainComplex>::Algebra>>>>,
    kernels: DashMap<MultiDegree<2>, Subspace>,
    save_dir: SaveDirectory,
    pub should_save: bool,
    pub load_quasi_inverse: bool,
}

Fields§

§name: String§lock: Mutex<()>§complex: Arc<CC>§modules: OnceBiVec<Arc<MuFreeModule<true, <CC as ChainComplex>::Algebra>>>§zero_module: Arc<MuFreeModule<true, <CC as ChainComplex>::Algebra>>§chain_maps: OnceBiVec<Arc<MuFreeModuleHomomorphism<true, <CC as ChainComplex>::Module>>>§differentials: OnceVec<Arc<MuFreeModuleHomomorphism<true, MuFreeModule<true, <CC as ChainComplex>::Algebra>>>>§kernels: DashMap<MultiDegree<2>, Subspace>

For each internal degree, store the kernel of the most recently calculated chain map as returned by generate_old_kernel_and_compute_new_kernel, to be used if we run compute_through_degree again.

§save_dir: SaveDirectory§should_save: bool

Whether we should save newly computed data to the disk. This has no effect if there is no save file. Defaults to self.save_dir.is_some().

§load_quasi_inverse: bool

Whether we should keep the quasi-inverses of the differentials.

If set to false,

  • If there is no save file, then the quasi-inverse will not be computed.
  • If there is a save file, then the quasi-inverse will be computed, written to disk, and dropped from memory. We will not load quasi-inverses from save files.

Note that this only applies to quasi-inverses of differentials. The quasi-inverses to the augmentation map are useful when the target chain complex is not concentrated in one degree, and they tend to be quite small anyway.