20#ifndef NONLINEAR_ALGEBRA_H_
21#define NONLINEAR_ALGEBRA_H_
23#include "fmatvec/fmatvec.h"
24#include "mbsim/functions/function.h"
42 int getNumberOfIterations()
const {
return it; };
43 int getInfo()
const {
return info; };
44 void setMaximumNumberOfIterations(
int itmax_) {
itmax = itmax_; }
45 void setTolerance(
double tol_) {
tol = tol_; }
53 double solve(
double a,
double b);
95 std::vector<double> getNorms() {
98 double getNumberOfIterations() {
101 double getNumberOfMaximalIterations() {
104 void setNumberOfMaximalIterations(
int itermax_) {
107 double getTolerance() {
110 void setTolerance(
double tol_) {
115 fmatvec::Vec solve(
const fmatvec::Vec &initialGuess);
164 int getNumberOfIterations()
const {
return iter; }
165 int getInfo()
const {
return info; }
166 void setMaximumNumberOfIterations(
int itmax_) {
itmax = itmax_; }
167 void setMaximumDampingSteps(
int kmax_) { kmax = kmax_; }
168 void setTolerance(
double tol_) {
tol = tol_; }
175 double solve(
const double &x);
214 int getNumberOfIterations()
const {
return iter; }
215 int getNumberOfMaximalIterations()
const {
return itmax; }
216 int getInfo()
const {
return info; }
217 std::vector<double> getNorms() {
return norms; }
218 void setMaximumNumberOfIterations(
int itmax_) {
itmax = itmax_; }
219 void setMaximumDampingSteps(
int kmax_) { kmax = kmax_; }
220 void setTolerance(
double tol_) {
tol = tol_; }
221 void setLinearAlgebra(
int linAlg_) { linAlg = linAlg_; }
228 fmatvec::Vec
solve(
const fmatvec::Vec &x);
Definition: function.h:53
FixpointIteration for multi-dimensional fixpoint-finding.
Definition: nonlinear_algebra.h:77
int iter
number of iterations
Definition: nonlinear_algebra.h:131
double tol
tolerance
Definition: nonlinear_algebra.h:126
std::vector< double > norms
vector of norms
Definition: nonlinear_algebra.h:141
Function< fmatvec::Vec(fmatvec::Vec)> * function
fix-point function
Definition: nonlinear_algebra.h:121
double itermax
maximal iterations
Definition: nonlinear_algebra.h:136
int info
information variable about success of iteration
Definition: nonlinear_algebra.h:146
Newton method for multi-dimensional root-finding.
Definition: nonlinear_algebra.h:204
double tol
tolerance
Definition: nonlinear_algebra.h:254
int itmax
maximum number of iterations, actual number of iterations, maximum number of damping steps,...
Definition: nonlinear_algebra.h:244
fmatvec::Vec solve(const fmatvec::Vec &x)
solve nonlinear root function
Definition: nonlinear_algebra.cc:180
Function< fmatvec::SqrMat(fmatvec::Vec)> * jac
Jacobian matrix.
Definition: nonlinear_algebra.h:239
Function< fmatvec::Vec(fmatvec::Vec)> * fct
root function
Definition: nonlinear_algebra.h:234
std::vector< double > norms
vector of norms for each iteration step
Definition: nonlinear_algebra.h:249
Newton method for one-dimensional root-finding.
Definition: nonlinear_algebra.h:154
Function< double(double)> * jac
Jacobian matrix.
Definition: nonlinear_algebra.h:186
double solve(const double &x)
solve nonlinear root function
Definition: nonlinear_algebra.cc:115
Function< double(double)> * fct
root function
Definition: nonlinear_algebra.h:181
int itmax
maximum number of iterations, actual number of iterations, maximum number of damping steps,...
Definition: nonlinear_algebra.h:191
double tol
tolerance
Definition: nonlinear_algebra.h:196
Regular Falsi for one-dimensional root-finding.
Definition: nonlinear_algebra.h:33
double tol
tolerance
Definition: nonlinear_algebra.h:69
double solve(double a, double b)
solve nonlinear root function
Definition: nonlinear_algebra.cc:34
Function< double(double)> * func
root function
Definition: nonlinear_algebra.h:59
int itmax
maximum number of iterations, actual number of iterations, information about success (0 = ok,...
Definition: nonlinear_algebra.h:64
namespace MBSim
Definition: bilateral_constraint.cc:30