ezp
lightweight C++ wrapper for selected distributed solvers for linear systems
ezp::mumps< DT, IT > Class Template Referencefinal

Public Member Functions

 mumps (const symmetric_pattern sym=unsymmetric, const parallel_mode par=no_host)
 
 mumps (const mumps &other)
 
 mumps (mumps &&)=delete
 
mumpsoperator= (const mumps &)=delete
 
mumpsoperator= (mumps &&)=delete
 
auto & operator() (const IT index)
 Overloaded function call operator to access elements of the icntl array. More...
 
auto & icntl_output_error_message (const auto config)
 
auto & icntl_output_diagnostic_statistics_warning (const auto config)
 
auto & icntl_output_global_information (const auto config)
 
auto & icntl_printing_level (const auto config)
 
auto & icntl_permutation_and_scaling (const auto config)
 
auto & icntl_symmetric_permutation (const auto config)
 
auto & icntl_scaling_strategy (const auto config)
 
auto & icntl_transpose_matrix (const auto config)
 
auto & icntl_iterative_refinement (const auto config)
 
auto & icntl_error_analysis (const auto config)
 
auto & icntl_ordering_strategy (const auto config)
 
auto & icntl_root_parallelism (const auto config)
 
auto & icntl_working_space_percentage_increase (const auto config)
 
auto & icntl_compression_block_format (const auto config)
 
auto & icntl_openmp_threads (const auto config)
 
auto & icntl_distribution_strategy_input (const auto config)
 
auto & icntl_schur_complement (const auto config)
 
auto & icntl_distribution_strategy_solution (const auto config)
 
auto & icntl_out_of_core (const auto config)
 
auto & icntl_maximum_working_memory (const auto config)
 
auto & icntl_null_pivot_row_detection (const auto config)
 
auto & icntl_deficient_and_null_space_basis (const auto config)
 
auto & icntl_schur_complement_solution (const auto config)
 
auto & icntl_rhs_block_size (const auto config)
 
auto & icntl_ordering_computation (const auto config)
 
auto & icntl_inverse_computation (const auto config)
 
auto & icntl_forward_elimination (const auto config)
 
auto & icntl_determinant_computation (const auto config)
 
auto & icntl_out_of_core_file (const auto config)
 
auto & icntl_blr (const auto config)
 
auto & icntl_blr_variant (const auto config)
 
auto & icntl_blr_compression (const auto config)
 
auto & icntl_lu_compression_rate (const auto config)
 
auto & icntl_block_compression_rate (const auto config)
 
auto & icntl_tree_parallelism (const auto config)
 
auto & icntl_compact_working_space (const auto config)
 
auto & icntl_rank_revealing_factorization (const auto config)
 
auto & icntl_symbolic_factorization (const auto config)
 
auto & info ()
 
auto & rinfo ()
 
auto & infog ()
 
auto & rinfog ()
 
IT solve (sparse_coo_mat< DT, IT > &&A, full_mat< DT, IT > &&B)
 
IT solve (full_mat< DT, IT > &&B)
 
auto det () const
 Computes the determinant of a matrix using MUMPS library data. More...
 
auto sign_det () const requires floating_t< DT >
 

Member Function Documentation

◆ det()

template<data_t DT, index_t IT>
auto ezp::mumps< DT, IT >::det ( ) const
inline

Computes the determinant of a matrix using MUMPS library data.

This function calculates the determinant based on the values stored in the MUMPS library's internal data structures. It uses the rinfog and infog arrays to retrieve necessary information for the computation.

Note
The result is meaningful only if the solver is configured to compute the determinant (icntl_determinant_computation or directly id.icntl[32]).
Template Parameters
DTThe data type of the determinant (e.g., float, double).
Returns
A std::complex<DT> representing the determinant of the matrix.
Note
The computation involves:
  • rinfog[11] as the real part of the determinant.
  • rinfog[12] as the imaginary part, if applicable.
  • infog[33] to determine the power of 2 scaling factor.
  • If DT is a floating-point type, the imaginary part is set to zero.

◆ operator()()

template<data_t DT, index_t IT>
auto& ezp::mumps< DT, IT >::operator() ( const IT  index)
inline

Overloaded function call operator to access elements of the icntl array.

Parameters
indexThe index of the element to access.
Returns
A reference to the element at the specified index in the icntl array.

The documentation for this class was generated from the following file: