12 throw Exception(
"Number of iteration indexes indicated by IterativeSolver is negative");
15 blitz::Array<std::string, 1> sv_names = sv_obj->state_vector_name();
17 blitz::Array<double, 1> curr_sv(solver.
accepted_points().at(iter_index));
18 blitz::Array<double, 1> dx;
21 dx.resize(curr_sv.rows());
25 std::stringstream header_log;
26 header_log << std::endl;
28 header_log <<
"Accepted iteration #" << iter_index << std::endl;
30 header_log <<
"Initial retrieval state" << std::endl;
35 std::stringstream sv_log;
37 << std::setw(SV_PRINT_WIDTH)
40 sv_log << std::setw(SV_PRINT_WIDTH)
43 sv_log <<
" Name" << std::endl;
44 for(
int sv_idx = 0; sv_idx < curr_sv.rows(); sv_idx++) {
45 sv_log << std::setprecision(SV_PRINT_WIDTH-7)
46 << std::setw(SV_PRINT_WIDTH)
49 sv_log << std::setw(SV_PRINT_WIDTH)
This is the base of the exception hierarchy for Full Physics code.
virtual int num_accepted_steps() const
Returns the number of the accepted steps.
Apply value function to a blitz array.
virtual std::vector< blitz::Array< double, 1 > > accepted_points() const
Returns a vector (std) of accepted points.
void notify_update(const IterativeSolver &solver)
Called when the Observed object is updated.
virtual std::vector< double > cost_at_accepted_points() const
Returns a vector (std) of cost function values at accepted points.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
The base class for all iterative optimizers.