
Function Wrappers
==========================================

Flattening and folding the input and outputs of a function
---------------------------------------------------------------
.. autoclass:: paragami.function_patterns.TransformFunctionInput
  :members:

.. autoclass:: paragami.function_patterns.FlattenFunctionInput
  :members:

.. autoclass:: paragami.function_patterns.FoldFunctionInput
  :members:

.. autoclass:: paragami.function_patterns.FlattenFunctionOutput
  :members:

.. autoclass:: paragami.function_patterns.FoldFunctionOutput
  :members:

.. autoclass:: paragami.function_patterns.FoldFunctionInputAndOutput
  :members:

.. autoclass:: paragami.function_patterns.FlattenFunctionInputAndOutput
  :members:

Preconditioning an objective function
-----------------------------------------------

.. autoclass:: paragami.optimization_lib.PreconditionedFunction
  :members:

An optimization objective class
-----------------------------------------------

.. autoclass:: paragami.optimization_lib.OptimizationObjective
  :members:
