13#ifndef dealii_matrix_scaling_h
14#define dealii_matrix_scaling_h
27#ifdef DEAL_II_WITH_TRILINOS
32#ifdef DEAL_II_WITH_PETSC
234 template <
class Matrix>
249 template <
class Matrix,
class VectorType>
258 template <
class VectorType>
326 template <
class Matrix>
335 template <
class Matrix>
343 template <
class Matrix>
351 template <
typename Number>
360 template <
typename Number>
373 const MPI_Comm mpi_communicator)
const;
383 const MPI_Comm mpi_communicator)
const;
393 const std::map<types::global_dof_index, double> &partial_column_norms,
394 std::map<
unsigned int,
395 std::vector<std::pair<types::global_dof_index, double>>>
406 const std::map<
unsigned int,
407 std::vector<std::pair<types::global_dof_index, double>>>
410 std::map<
unsigned int,
411 std::vector<std::pair<types::global_dof_index, double>>>
Utilities::MPI::Partitioner partitioner
const Vector< double > & get_row_scaling() const
Vector< double > column_scaling
bool do_linfty_scaling(Matrix &matrix, const unsigned int nsteps)
bool do_sk_scaling(Matrix &matrix, const unsigned int nsteps)
IndexSet locally_owned_cols
Vector< double > row_scaling
bool find_scaling_and_scale_linear_system(Matrix &matrix, VectorType &rhs)
bool check_convergence(const Vector< Number > &row_col_norm, const ConvergenceNormType &norm_type) const
const Vector< double > & get_column_scaling() const
void send_prepare_updated_col_norms(const std::map< unsigned int, std::vector< std::pair< types::global_dof_index, double > > > &received_data, const Vector< double > &local_col_norms, std::map< unsigned int, std::vector< std::pair< types::global_dof_index, double > > > &send_column_norms)
@ l_infty
l_infinity vector norm
void send_prepare_col_norms(const std::map< types::global_dof_index, double > &partial_column_norms, std::map< unsigned int, std::vector< std::pair< types::global_dof_index, double > > > &send_data, Vector< double > &local_col_norms)
IndexSet locally_owned_rows
std::vector< unsigned int > ghost_column_owners
bool do_l1_scaling(Matrix &matrix, const unsigned int nsteps)
void scale_system_solution(VectorType &sol) const
bool find_scaling_and_scale_matrix(Matrix &matrix)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
@ l_infty
l_infinity vector norm
unsigned int max_iterations
unsigned int l1_norm_steps
unsigned int end_inf_norm_steps
unsigned int start_inf_norm_steps
SKParameters sinkhorn_knopp_parameters
@ l1_linf_symmetry_preserving
Symmetry preserving scaling algorithm.
@ sinkhorn_knopp
Sinkhorn-Knopp scaling algorithm.
l1linfParameters l1linf_parameters
ScalingAlgorithm algorithm