#include <IterativeDiagonalSolver.h>
|
| size_t | NSolutionPolarizations () const override |
| |
| SolveResult | Solve (const SolveData< VisMatrix > &data, std::vector< std::vector< DComplex >> &solutions, double time) override |
| |
| bool | SupportsDdSolutionIntervals () const override |
| |
| | 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 DuoSolveData &data, std::vector< std::vector< DComplex >> &solutions, double time) |
| |
| virtual SolveResult | Solve (const FullSolveData &data, std::vector< std::vector< DComplex >> &solutions, double time) |
| |
| virtual SolveResult | Solve (const UniSolveData &data, std::vector< std::vector< DComplex >> &solutions, double time) |
| |
| 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 |
| |
|
| 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 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) |
| |
◆ ChannelBlockData
template<typename VisMatrix >
◆ NSolutionPolarizations()
template<typename VisMatrix >
◆ Solve()
template<typename VisMatrix >
◆ SupportsDdSolutionIntervals()
template<typename VisMatrix >
True if this solver supports direction-dependent solution intervals. In that case, the solver can solve different directions with different solution intervals. More specific, each timestep of each direction can individually be set to belong to a specific solution.
Reimplemented from dp3::ddecal::SolverBase.
The documentation for this class was generated from the following file: