#include <OpenTissue/configuration.h>
#include <OpenTissue/core/math/big/big_types.h>
#include <OpenTissue/core/math/big/big_prod_add_rhs.h>
#include <OpenTissue/core/math/big/big_shur_system.h>
#include <OpenTissue/core/math/big/big_prod_trans.h>
#include <OpenTissue/core/math/optimization/non_smooth_newton/optimization_compute_inverse_D.h>
#include <OpenTissue/core/math/optimization/non_smooth_newton/optimization_compute_jacobian.h>
#include <OpenTissue/core/math/optimization/non_smooth_newton/optimization_compute_partitioned_jacobian.h>
#include <OpenTissue/core/math/optimization/optimization_compute_generalized_minimal_map.h>
#include <OpenTissue/core/math/optimization/optimization_armijo_backtracking.h>
#include <OpenTissue/core/math/optimization/optimization_compute_natural_merit.h>
#include <OpenTissue/core/math/optimization/optimization_compute_index_reordering.h>
#include <OpenTissue/core/math/optimization/optimization_compute_index_sets.h>
#include <OpenTissue/core/math/optimization/optimization_agglomerate_vector.h>
#include <OpenTissue/core/math/optimization/optimization_partition_vector.h>
#include <OpenTissue/core/math/optimization/optimization_absolute_convergence.h>
#include <OpenTissue/core/math/math_value_traits.h>
#include <OpenTissue/core/math/math_is_number.h>
#include <cmath>
#include <stdexcept>
#include <cassert>
Go to the source code of this file.
Classes | |
class | OpenTissue::math::optimization::detail::ThetaFunctor< T, bound_function_type > |
class | OpenTissue::math::optimization::detail::NablaThetaFunctor< T, bound_function_type > |
Namespaces | |
namespace | OpenTissue |
namespace | OpenTissue::math |
namespace | OpenTissue::math::optimization |
namespace | OpenTissue::math::optimization::detail |
Functions | |
template<typename T , typename bound_function_type , typename solver_function_type > | |
void | OpenTissue::math::optimization::non_smooth_newton (ublas::compressed_matrix< T > const &A, ublas::vector< T > const &b, bound_function_type const &l, bound_function_type const &u, boost::numeric::ublas::vector< T > &x, size_t const &max_iterations, T const &absolute_tolerance, T const &relative_tolerance, T const &stagnation_tolerance, size_t &status, size_t &iteration, T &accuracy, T const &alpha, T const &beta, solver_function_type const &sub_system_solver, bool const &use_shur=true, ublas::vector< T > *profiling=0) |