/*

This is the main documentation file for MOOCHO.  For this to work properly
doxygen must be run in this directory for these include paths to work.  The
paths must always be relative to the directory that doxygen is invoked in.

*/

/** \mainpage MOOCHO: Multi-functional Object-Oriented arCHitecture for Optimization

This is a reference for the collections of C++ classes and functions that
comprise MOOCHO.

Warning!  The documentation is still under construction and is not
fully functional.  In the future this documentation will be more
extensive.

<ul>

<li> Utility Packages: 
	Packages that are used in the implementation of the other packages.
	<ul>
	<li> <A HREF="../MoochoUtilities/html/index.html">MoochoUtilities</A>
	</ul>

<li> Abstractions for General Iterative Algorithms:
    Package framework for iterative algorithms.
	<ul>
	<li> <A HREF="../IterationPack/html/index.html">IterationPack</A>.
	</ul>

<li> General Abstractions for Linear Algebra
	<ul>
	<li> <A HREF="../TSFCore/html/index.html">TSFCore</A>: Basic interfaces.
	<li> <A HREF="../TSFExtended/html/index.html">TSFExtended</A>: Some extensions based on <tt>TSFCore</tt>.
	</ul>

<li> MOOCHO Numerical Packages:
	These range from low-level to high-level abstractions and implementations.
	<ul>
	<li> <A HREF="../RTOpPack/html/index.html">RTOpPack</A>: C/C++ interfaces to vector
		reduction/transformation operators.
	<li> <A HREF="../RTOpStdOpsLib/html/index.html">RTOpStdOpsLib</A>: C implementations
		of general vector (and array) reduction/transformation operators.
	<li> <A HREF="../DenseLinAlgPack/html/index.html">DenseLinAlgPack</A>: Concreate C++ classes
		for dense BLAS compatible linear algebra.
	<li> <A HREF="../DenseLinAlgLAPack/html/index.html">DenseLinAlgLAPack</A>: Interface to 
		LAPACK based on the abstractions in <tt>%DenseLinAlgPack</tt>.
	<li> <A HREF="../AbstractLinAlgPack/html/index.html">AbstractLinAlgPack</A>: C++ interfaces
		for vectors, matrices and related linear algebra objects based on 
		<tt>%RTOpPack</tt>.  Also contains	concreate C++ classes
		for sparse linear algebra with implementations of abstract interfaces and abstract C++ interfaces
		and subclasses for serial linear solvers with implementations of abstract interfaces.
	<li> <A HREF="../ConstrainedOptPack/html/index.html">ConstrainedOptPack</A>:
		C++ classes and interfaces for utilities for constrained optimization based on the
		interfaces in <tt>%AbstractLinAlgPack</tt>.
	</ul>

<li> Intefaces for Nonlinear Programs (NLPs):
	Package of NLP interfaces and implementation classes.
	<ul>
	<li> <A HREF="../NLPInterfacePack/html/index.html">NLPInterfacePack</A>
	</ul>

<li> NLP Algorithms:
	<ul>
	<li> <A HREF="../MoochoPack/html/index.html">MoochoPack</A>: SQP-related algorithms and algorithm building blocks.
	</ul>

<li> Examples:
	<ul>
	<li> <A HREF="../ExampleRTOpSimple/html/index.html">ExampleRTOpSimple</A>.
	<li> <A HREF="../ExampleNLPDirect/html/index.html">ExampleNLPDirect</A>.
	<li> <A HREF="../ExampleNLPFirstOrder/html/index.html">ExampleNLPFirstOrder</A>.
	<li> <A HREF="../ExampleNLPBanded/html/index.html">ExampleNLPBanded</A>.
	<li> <A HREF="../NLPWBCounterExample/html/index.html">NLPWBCounterExample</A>.
	<li> <A HREF="../NLPTSFCoreNP4DOpt/html/index.html">NLPTSFCoreNP4DOpt</A>.
	</ul>

</ul>

\author Roscoe A. Bartlett

*/
