13 #ifndef eli_mutil_nls_newton_raphson_constrained_system_method_hpp
14 #define eli_mutil_nls_newton_raphson_constrained_system_method_hpp
19 #include "eli/code_eli.hpp"
29 template<
typename data__,
size_t N__,
size_t NSOL__=1>
46 for (
size_t i=0; i<N__; ++i)
58 for (
size_t i=0; i<N__; ++i)
73 for (
size_t i=0; i<N__; ++i)
93 for (
size_t i=0; i<N__; ++i)
133 for (
size_t i=0; i<N__; ++i)
181 for (i=0; i<N__; ++i)
183 data_type xinew(x(i)+dx(i));
192 dx_new(i)=
xmin[i]-x(i);
200 dx_new(i)=(
xmin[i]-x(i))*(1-std::numeric_limits<data_type>::epsilon());
218 dx_new(i)=
xmax[i]-x(i);
226 dx_new(i)=(
xmax[i]-x(i))*(1-std::numeric_limits<data_type>::epsilon());
239 for (i=0; i<N__; ++i)
243 data_type xinew(x[i]+dx_new[i]), period(
xmax[i]-
xmin[i]);
250 xinew-=period*std::floor((xinew-
xmin[i])/period);
252 assert(xinew>=
xmin[i]);
253 assert(xinew<=
xmax[i]);
255 dx_new[i]=xinew-x[i];
261 data_type xinew(x[i]+dx_new[i]), period(
xmax[i]-
xmin[i]);
268 xinew-=period*std::ceil((xinew-
xmax[i])/period);
269 dx_new[i]=fmod(xinew, period)-x[i];
270 assert(xinew>=
xmin[i]);
271 assert(xinew<=
xmax[i]);
273 dx_new[i]=xinew-x[i];
newton_raphson_constrained_system_method()
Definition: newton_raphson_constrained_system_method.hpp:43
virtual iterative_system_root_base< data_type, N__, NSOL__ >::solution_matrix calculate_delta_factor(const typename iterative_system_root_base< data_type, N__, NSOL__ >::solution_matrix &x, const typename iterative_system_root_base< data_type, N__, NSOL__ >::solution_matrix &dx) const
Definition: newton_raphson_constrained_system_method.hpp:174
Definition: newton_raphson_constrained_system_method.hpp:39
end_condition_usage xmin_cond[N__]
Definition: newton_raphson_constrained_system_method.hpp:283
Eigen::Matrix< data__, N__, NSOL__ > solution_matrix
Definition: iterative_system_root_base.hpp:28
end_condition_usage
Definition: newton_raphson_constrained_system_method.hpp:34
Definition: newton_raphson_constrained_system_method.hpp:38
Definition: newton_raphson_constrained_system_method.hpp:30
void unset_lower_condition(size_t i)
Definition: newton_raphson_constrained_system_method.hpp:98
Definition: newton_raphson_constrained_system_method.hpp:37
void unset_upper_condition()
Definition: newton_raphson_constrained_system_method.hpp:131
void set_upper_condition(size_t i, const data_type &d, end_condition_usage ec)
Definition: newton_raphson_constrained_system_method.hpp:146
void unset_lower_condition()
Definition: newton_raphson_constrained_system_method.hpp:91
newton_raphson_constrained_system_method(const newton_raphson_constrained_system_method< data_type, N__, NSOL__ > &nrm)
Definition: newton_raphson_constrained_system_method.hpp:55
void get_lower_condition(data_type &d, end_condition_usage &ec, size_t i)
Definition: newton_raphson_constrained_system_method.hpp:122
end_condition_usage xmax_cond[N__]
Definition: newton_raphson_constrained_system_method.hpp:283
void get_upper_condition(data_type &d, end_condition_usage &ec, size_t i)
Definition: newton_raphson_constrained_system_method.hpp:163
~newton_raphson_constrained_system_method()
Definition: newton_raphson_constrained_system_method.hpp:67
data__ data_type
Definition: newton_raphson_constrained_system_method.hpp:33
Definition: newton_raphson_system_method.hpp:27
data_type xmin[N__]
Definition: newton_raphson_constrained_system_method.hpp:282
Definition: newton_raphson_constrained_system_method.hpp:36
void set_lower_condition(size_t i, const data_type &d, end_condition_usage ec)
Definition: newton_raphson_constrained_system_method.hpp:105
void unset_conditions()
Definition: newton_raphson_constrained_system_method.hpp:71
void set_periodic_condition(size_t i, const data_type &dmin, const data_type &dmax)
Definition: newton_raphson_constrained_system_method.hpp:80
void unset_upper_condition(size_t i)
Definition: newton_raphson_constrained_system_method.hpp:138
data_type xmax[N__]
Definition: newton_raphson_constrained_system_method.hpp:282