iterative-solver 0.0
molpro::linalg Namespace Reference

Namespaces

namespace  array
 
namespace  iterativesolver
 
namespace  itsolv
 4-parameter interpolation of a 1-dimensional function given two points for which function values and first derivatives are known.
 

Classes

struct  is_complex
 
struct  is_complex< std::complex< T > >
 
struct  real_type
 The real type underlying a (possibly complex) scalar type. More...
 
struct  real_type< std::complex< T > >
 

Typedefs

template<typename T >
using real_type_t = typename real_type< T >::type
 The real type underlying T, i.e. T itself for a real type and U for std::complex<U>. More...
 

Functions

const std::shared_ptr< const molpro::Options > options ()
 Get the Options object associated with iterative-solver. More...
 
void set_options (const molpro::Options &options)
 Set the options for iterative-solver. More...
 
template<typename value_type >
real_type_t< value_type > precision_scaled (double tolerance_for_double)
 Rescale a tolerance that was calibrated for IEEE double precision to the working precision. More...
 

Typedef Documentation

◆ real_type_t

template<typename T >
using molpro::linalg::real_type_t = typedef typename real_type<T>::type

The real type underlying T, i.e. T itself for a real type and U for std::complex<U>.

Quantities that are real by construction – eigenvalues of a hermitian matrix, singular values, norms and the thresholds they are compared against – are expressed in this type rather than in the scalar type of the problem.

Function Documentation

◆ options()

const std::shared_ptr< const molpro::Options > molpro::linalg::options ( )

Get the Options object associated with iterative-solver.

Returns
The current option set. If none has been assigned, in the Molpro context the "ITERATIVE-SOLVER" option set is used, otherwise empty.

◆ precision_scaled()

template<typename value_type >
real_type_t< value_type > molpro::linalg::precision_scaled ( double  tolerance_for_double)

Rescale a tolerance that was calibrated for IEEE double precision to the working precision.

A tolerance of the form "this quantity vanishes to within rounding error" is a fixed multiple of the machine epsilon of the arithmetic used. The constants in this library were chosen for double precision; this function preserves their safety margin, measured in machine epsilons, at any other precision, and returns the constant unchanged when the working precision is double.

◆ set_options()

void molpro::linalg::set_options ( const molpro::Options &  options)

Set the options for iterative-solver.

Parameters
options