Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Todo List

Class regina::NAbelianGroup
Optimise (long-term): Look at using sparse matrices for storage of SNF and the like.

Member regina::NCensus::findAllCompletions (NPacket *parent, NTriangulation *base, NBoolSet finiteness, NBoolSet orientability, AcceptTriangulation sieve=0, void *sieveArgs=0, NProgressManager *manager=0)
Bug (urgent): This routine currently does nothing!

Class regina::NDiscSetTet
Bug (long-term): Have some error flag so we can barf politely if the number of normal discs of a given type does not fit into an unsigned long. See how this affects NDiscSetTetData also.

Member regina::NFacePairing::findAllPairings (unsigned nTetrahedra, NBoolSet boundary, int nBdryFaces, UseFacePairing use, void *useArgs=0, bool newThread=false)
Optimise (long-term): When generating face pairings, do some checking to eliminate cases in which tetrahedron (k > 0) can be swapped with tetrahedron 0 to produce a smaller representation of the same pairing.

Feature: Allow cancellation of face pairing generation.

Member regina::NGluingPerms::findAllPerms (const NFacePairing *newPairing, const NFacePairingIsoList *autos, bool orientableOnly, bool finiteOnly, int whichPurge, UseGluingPerms use, void *useArgs=0)
Feature: Allow cancellation of permutation set generation.

Class regina::NGroupPresentation
Optimise (long-term): The simplification routines really need work!

Member regina::NGroupPresentation::intelligentSimplify ()
Feature (long-term): Make this simplification more effective.

Member regina::NGroupPresentation::recogniseGroup () const
Feature (long-term): Make this recognition more effective.

Class regina::NNormalSurface
Feature: Calculation of Euler characteristic and orientability for non-compact surfaces.

Feature (long-term): Determine which faces in the solution space a normal surface belongs to.

Member regina::NNormalSurface::cutAlong () const
Feature: Implement this routine.

Member regina::NNormalSurface::isCentral () const
Optimise: Cache results.

Member regina::NNormalSurface::isSplitting () const
Optimise: Cache results.

Member regina::NNormalSurface::isThinEdgeLink () const
Optimise: Cache results.

Member regina::NNormalSurface::isVertexLink () const
Optimise: Cache results.

Member regina::NNormalSurface::isVertexLinking () const
Optimise: Cache results.

Member regina::NNormalSurface::knownCanCrush () const
Feature: Implement this routine! At least for embedded 2-spheres.

Class regina::NNormalSurfaceList
Feature: Allow custom matching equations.

Feature: Allow generating only closed surfaces.

Feature: Generate facets of the solution space representing embedded surfaces.

Member regina::NNormalSurfaceList::enumerate (NTriangulation *owner, int newFlavour, bool embeddedOnly=true, NProgressManager *manager=0)
Feature: Allow picking up the first ``interesting'' surface and bailing en route.

Feature (long-term): Determine the faces of the normal solution space.

Feature (long-term): Allow either subsets of normal surface lists or allow deletion of surfaces from lists.

Optimise: Investigate obvious compressions.

Optimise: Investigate monte carlo methods.

Class regina::NNormalSurfaceVector
Feature: Implement quad-oct space.

Optimise (long-term): Investigate using sparse vectors for storage.

Class regina::NNormalSurfaceVectorMirrored
Bug: Allow modification of the vector by overwriting setValue(); this will require documentation changes in both this class and in NNormalSurfaceVector.

Class regina::NPacket
Feature: Provide automatic name selection/specification upon child packet insertion.

Member regina::NPillowTwoSphere::getReducedTriangulation (const NTriangulation *original) const
Bug (urgent): This routine currently does nothing!

Member regina::NPillowTwoSphere::reduceTriangulation () const
Bug (urgent): This routine currently does nothing!

Class regina::NProgress
Feature: Add timer support; measure the time elapsed between the creation of this NProgress object and the call to setFinished() or cancel(); hopefully measure this both in CPU time and real time.

Class regina::NSFS
Implement recognition of more common names.

Implement triangulation construction for more Seifert fibred spaces.

Member regina::NSnappedTwoSphere::getReducedTriangulation (const NTriangulation *original) const
Bug (urgent): This routine currently does nothing!

Member regina::NSnappedTwoSphere::reduceTriangulation () const
Bug (urgent): This routine currently does nothing!

Class regina::NSurfaceFilter
Feature: Implement property lastAppliedTo.

Class regina::NTriangulation
Feature: Is the boundary incompressible?

Feature: Add set of cusps and three corresponding get functions.

Feature: Make 0-efficient.

Feature: Insert a SFS with 3 exceptional fibres.

Feature (long-term): Am I a sphere?

Feature (long-term): Am I obviously a handlebody? (Simplify and see if there is nothing left). Am I obviously not a handlebody? (Compare homology with boundary homology).

Feature (long-term): Is the triangulation Haken?

Feature (long-term): What is the Heegaard genus?

Feature (long-term): Have a subcomplex as a child packet of a triangulation. Include routines to crush a subcomplex or to expand a subcomplex to a normal surface.

Feature (long-term): Implement writeTextLong() for skeletal objects.

Feature (long-term): Random triangulation with n tetrahedra.

Member regina::NTriangulation::isIsomorphicTo (const NTriangulation &other) const
Optimise: Improve the complexity by choosing a tetrahedron mapping from each component and following gluings to determine the others.

Member regina::NTriangulation::crushMaximalForest ()
Bug (urgent): This algorithm needs to be changed from the current incorrect algorithm to Dave's algorithm that avoids crisis by using 2-3 moves.

Member regina::NTriangulation::intelligentSimplify ()
Optimise (urgent): Make this faster and more effective. Include book opening moves and random 2-3 moves to get out of wells. Unglue faces with three boundary edges and record the corresponding change in topology. Minimise the amount of skeletal/homological calculation.

Member regina::NTriangulation::simplifyToLocalMinimum (bool perform=true)
Bug (urgent): This routine currently does not crush a maximal forest!

Member regina::NTriangulation::collapseEdge (NEdge *e, bool check=true, bool perform=true)
Bug (urgent): The restrictions on allowing this move to take place are currently wrong. Many valid cases are ruled out (as acknowledged in the original commit of the code), but certain invalid cases are also allowed which will almost certainly crash the program.

Member regina::NTriangulation::idealToFinite (bool forceDivision=false)
Optimise (long-term): Have this routine only use as many tetrahedra as are necessary, leaving finite vertices alone.

Member regina::NVertexEnumerator::enumerateVertices (OutputIterator results, RayIterator oldRaysFirst, RayIterator oldRaysLast, FaceIterator facesFirst, FaceIterator facesLast, const NMatrixInt &subspace, const NCompConstraintSet *constraints, NProgressNumber *progress=0) const =0
Optimise: Intersect the hyperplanes in a good order.

File matrixops.h
Feature (long-term): Add a routine to find the rank of an integer matrix; use this to show the rank of the matching equations.

Namespace regina
Bug: Derive from regina::boost::noncopyable where appropriate.

Feature (long-term): Enhance the test suite for the calculation engine.

Member regina::formSigCensus (unsigned order, UseSignature use, void *useArgs=0)
Feature: Add support for symbols of differing case.

Copyright © 1999-2003, Ben Burton
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).