|
DP3
|
#include <ScalarSolver.h>
Public Member Functions | |
| size_t | NSolutionPolarizations () const override |
| SolveResult | Solve (const FullSolveData &data, std::vector< std::vector< DComplex >> &solutions, double time) override |
Public Member Functions inherited from dp3::ddecal::SolverBase | |
| SolverBase () | |
| virtual | ~SolverBase ()=default |
| void | AddConstraint (std::unique_ptr< Constraint > constraint) |
| virtual std::vector< SolverBase * > | ConstraintSolvers () |
| const std::vector< std::unique_ptr< Constraint > > & | GetConstraints () |
| LLSSolverType | GetLLSSolverType () const |
| bool | GetPhaseOnly () const |
| void | GetTimings (std::ostream &os, double duration) const |
| virtual void | Initialize (size_t n_antennas, const std::vector< size_t > &n_solutions_per_direction, size_t n_channel_blocks) |
| void | SetDdConstraintWeights (const std::vector< std::vector< double >> &weights) |
| void | SetLLSSolverType (LLSSolverType solver_type) |
| void | SetPhaseOnly (bool phase_only) |
| virtual SolveResult | Solve (const UniSolveData &data, std::vector< std::vector< DComplex >> &solutions, double time) |
| virtual bool | SupportsDdSolutionIntervals () const |
| size_t | GetMaxIterations () const |
| void | SetMaxIterations (size_t max_iterations) |
| size_t | GetMinIterations () const |
| void | SetMinIterations (size_t min_iterations) |
| void | SetAccuracy (double accuracy) |
| double | GetAccuracy () const |
| void | SetConstraintAccuracy (double constraint_accuracy) |
| double | GetConstraintAccuracy () const |
| void | SetStepSize (double step_size) |
| double | GetStepSize () const |
| void | SetDetectStalling (bool detect_stalling, double step_diff_sigma) |
| bool | GetDetectStalling () const |
Additional Inherited Members | |
Public Types inherited from dp3::ddecal::SolverBase | |
| typedef std::complex< float > | Complex |
| typedef std::complex< double > | DComplex |
Protected Member Functions inherited from dp3::ddecal::SolverBase | |
| bool | ApplyConstraints (size_t iteration, double time, bool has_previously_converged, SolutionSpan &next_solutions) const |
| bool | ApplyConstraints (size_t iteration, double time, bool has_previously_converged, SolutionTensor &next_solutions) const |
| bool | AssignSolutions (std::vector< std::vector< DComplex >> &solutions, SolutionSpan &new_solutions, bool use_constraint_accuracy, double &avg_abs_diff, std::vector< double > &step_magnitudes) const |
| bool | AssignSolutions (std::vector< std::vector< DComplex >> &solutions, SolutionTensor &new_solutions, bool use_constraint_accuracy, double &avg_abs_diff, std::vector< double > &step_magnitudes) const |
| std::unique_ptr< LLSSolver > | CreateLLSSolver (size_t m, size_t n, size_t nrhs) const |
| bool | DetectStall (size_t iteration, const std::vector< double > &step_magnitudes) |
| std::unique_ptr< aocommon::RecursiveFor > | MakeOptionalRecursiveFor () const |
| SolveResult | MakeResult (size_t iteration, bool has_converged, bool constraints_satisfied) const |
| size_t | NAntennas () const |
| size_t | NChannelBlocks () const |
| size_t | NDirections () const |
| size_t | NSubSolutions () const |
| size_t | NSubThreads () const |
| size_t | NVisibilities () const |
| void | PrepareConstraints () |
| bool | ReachedStoppingCriterion (size_t iteration, bool has_converged, bool constraints_satisfied, const std::vector< double > &step_magnitudes) |
| void | Step (const std::vector< std::vector< DComplex >> &solutions, SolutionTensor &next_solutions) const |
Static Protected Member Functions inherited from dp3::ddecal::SolverBase | |
| static void | MakeSolutionsFinite1Pol (std::vector< std::vector< DComplex >> &solutions) |
| static void | MakeSolutionsFinite2Pol (std::vector< std::vector< DComplex >> &solutions) |
| static void | MakeSolutionsFinite4Pol (std::vector< std::vector< DComplex >> &solutions) |
|
inlineoverridevirtual |
Implements dp3::ddecal::SolverBase.
|
overridevirtual |
Solves multi-directional Jones matrices. Takes the (single) measured data and the (multi-directional) model data, and solves the optimization problem that minimizes the norm of the differences.
| data | Buffer with weighted data and model data. |
| solutions | The per-channel and per-antenna solutions. solutions[ch] is a pointer for channelblock ch to antenna x directions x pol solutions. |
Reimplemented from dp3::ddecal::SolverBase.