m = minimize F
For the quasi-isomorphism from a minimal subcomplex use
dual minimize dual F
To simplify the notation consider the complex C = E[min E] that is shifted so that the first module is C_0. The algorithm: Set dbar = the reduction of the differential d mod the maximal ideal. a complement of ker dbar, and compute the idempotent rho: E -> E. the map rho is not a chain complex map, but the image of (rho | d*rho): C ++ C[1] --> C is a subcomplex and the minimization of C is the complex C/image(rho|d*rho). The script returns the ChainComplexMap from the minimization to C.
To illustrate we first make a nonminimal complex by adding trivial complexes to a minimal complex and then mixing things up by conjugating with general isomorphisms:
|
|
|
|
|
|
|
|
|
|
|
|
Now we minimize the result. The free summand we added to the end maps to zero, and thus is part of the minimization.
|
|
|
|
|
|
The object minimize is a method function.