NAFPack_constant Module

Module for defining constants used in NAFPack

This module includes mathematical constants, and other parameters that are used throughout the NAFPack library.


Uses

  • module~~nafpack_constant~~UsesGraph module~nafpack_constant NAFPack_constant module~nafpack_kinds NAFPack_kinds module~nafpack_constant->module~nafpack_kinds iso_fortran_env iso_fortran_env module~nafpack_kinds->iso_fortran_env

Used by

  • module~~nafpack_constant~~UsedByGraph module~nafpack_constant NAFPack_constant module~nafpack_direct_method NAFPack_Direct_method module~nafpack_direct_method->module~nafpack_constant module~nafpack_matrix_decomposition NAFPack_matrix_decomposition module~nafpack_direct_method->module~nafpack_matrix_decomposition module~nafpack_matrix_properties NAFPack_matrix_properties module~nafpack_direct_method->module~nafpack_matrix_properties module~nafpack_eigen NAFPack_Eigen module~nafpack_eigen->module~nafpack_constant module~nafpack_eigen->module~nafpack_matrix_decomposition module~nafpack_fft NAFPack_fft module~nafpack_fft->module~nafpack_constant module~nafpack_fourier_transform NAFPack_Fourier_Transform module~nafpack_fourier_transform->module~nafpack_constant module~nafpack_matrix_decomposition->module~nafpack_constant module~nafpack_matrix_properties->module~nafpack_constant module~nafpack_matrix_properties->module~nafpack_eigen module~nafpack_preconditioners NAFPack_Preconditioners module~nafpack_preconditioners->module~nafpack_constant module~nafpack_preconditioners->module~nafpack_matrix_decomposition module~nafpack_fourier_transform_dft NAFPack_Fourier_Transform_dft module~nafpack_fourier_transform_dft->module~nafpack_fourier_transform module~nafpack_fourier_transform_dft2 NAFPack_Fourier_Transform_dft2 module~nafpack_fourier_transform_dft2->module~nafpack_fourier_transform module~nafpack_fourier_transform_dft3 NAFPack_Fourier_Transform_dft3 module~nafpack_fourier_transform_dft3->module~nafpack_fourier_transform module~nafpack_fourier_transform_fft NAFPack_Fourier_Transform_fft module~nafpack_fourier_transform_fft->module~nafpack_fourier_transform module~nafpack_iterative_methods NAFPack_Iterative_methods module~nafpack_iterative_methods->module~nafpack_matrix_decomposition module~nafpack_iterative_methods->module~nafpack_matrix_properties module~nafpack_iterative_methods->module~nafpack_preconditioners module~nafpack_iterative_params NAFPack_Iterative_Params module~nafpack_iterative_methods->module~nafpack_iterative_params module~nafpack_iterative_params->module~nafpack_matrix_decomposition module~nafpack_iterative_params->module~nafpack_preconditioners module~nafpack_linalg NAFPack_linalg module~nafpack_linalg->module~nafpack_direct_method module~nafpack_linalg->module~nafpack_preconditioners module~nafpack_linalg->module~nafpack_iterative_methods module~nafpack_linalg->module~nafpack_iterative_params module~nafpack_fourier_transform_dft_compute NAFPack_Fourier_Transform_dft_compute module~nafpack_fourier_transform_dft_compute->module~nafpack_fourier_transform_dft module~nafpack_fourier_transform_fft_compute_mixed_radix NAFPack_Fourier_Transform_fft_compute_mixed_radix module~nafpack_fourier_transform_fft_compute_mixed_radix->module~nafpack_fourier_transform_fft module~nafpack_fourier_transform_fft_compute_radix2 NAFPack_Fourier_Transform_fft_compute_radix2 module~nafpack_fourier_transform_fft_compute_radix2->module~nafpack_fourier_transform_fft module~nafpack_fourier_transform_fft_compute_split_radix NAFPack_Fourier_Transform_fft_compute_split_radix module~nafpack_fourier_transform_fft_compute_split_radix->module~nafpack_fourier_transform_fft

Variables

Type Visibility Attributes Name Initial
real(kind=sp), public, parameter :: pi_sp = acos(-1.0_sp)

constant

real(kind=dp), public, parameter :: pi_dp = acos(-1.0_dp)
real(kind=qp), public, parameter :: pi_qp = acos(-1.0_qp)
complex(kind=sp), public, parameter :: im_sp = (0.0_sp, 1.0_sp)

Imaginary unit

complex(kind=dp), public, parameter :: im_dp = (0.0_dp, 1.0_dp)
complex(kind=qp), public, parameter :: im_qp = (0.0_qp, 1.0_qp)
integer, public, parameter :: int_inf = huge(1)

Integer infinity

integer, public, parameter :: NAF_SUCCESS = 0

Error codes for better error handling

integer, public, parameter :: NAF_ERROR_DIMENSION = 1
integer, public, parameter :: NAF_ERROR_SINGULAR = 2
integer, public, parameter :: NAF_ERROR_CONVERGENCE = 3
integer, public, parameter :: NAF_ERROR_MEMORY = 4
integer, public, parameter :: NAF_ERROR_INVALID_METHOD = 5
real(kind=sp), public, parameter :: TOL_PIVOT_sp = 1.0e-7_sp+epsilon(1.0_sp)
real(kind=dp), public, parameter :: TOL_PIVOT_dp = 1.0e-14_dp+epsilon(1.0_dp)
real(kind=qp), public, parameter :: TOL_PIVOT_qp = 1.0e-28_qp+epsilon(1.0_qp)
real(kind=sp), public, parameter :: TOL_CONVERGENCE_sp = 1.0e-6_sp+epsilon(1.0_sp)
real(kind=dp), public, parameter :: TOL_CONVERGENCE_dp = 1.0e-12_dp+epsilon(1.0_dp)
real(kind=qp), public, parameter :: TOL_CONVERGENCE_qp = 1.0e-24_qp+epsilon(1.0_qp)
real(kind=sp), public, parameter :: TOL_RESIDUAL_sp = 1.0e-5_sp+epsilon(1.0_sp)
real(kind=dp), public, parameter :: TOL_RESIDUAL_dp = 1.0e-10_dp+epsilon(1.0_dp)
real(kind=qp), public, parameter :: TOL_RESIDUAL_qp = 1.0e-20_qp+epsilon(1.0_qp)
real(kind=sp), public, parameter :: TOL_TEST_sp = 1.0e-4_sp+epsilon(1.0_sp)
real(kind=dp), public, parameter :: TOL_TEST_dp = 1.0e-12_dp+epsilon(1.0_dp)
real(kind=qp), public, parameter :: TOL_TEST_qp = 1.0e-24_qp+epsilon(1.0_qp)
integer, public, parameter :: MAX_ITERATION = 10000