NAFPack_matricielle Module

Module for Tensor operations in NAFPack


Uses

  • module~~nafpack_matricielle~~UsesGraph module~nafpack_matricielle NAFPack_matricielle module~nafpack_constant NAFPack_constant module~nafpack_matricielle->module~nafpack_constant iso_fortran_env iso_fortran_env module~nafpack_constant->iso_fortran_env

Used by

  • module~~nafpack_matricielle~~UsedByGraph module~nafpack_matricielle NAFPack_matricielle module~nafpack_eigen NAFPack_Eigen module~nafpack_eigen->module~nafpack_matricielle module~nafpack_matrix_decomposition NAFPack_matrix_decomposition module~nafpack_eigen->module~nafpack_matrix_decomposition module~nafpack_iterative_methods NAFPack_Iterative_methods module~nafpack_iterative_methods->module~nafpack_matricielle module~nafpack_iterative_methods->module~nafpack_matrix_decomposition module~nafpack_matrix_properties NAFPack_matrix_properties module~nafpack_iterative_methods->module~nafpack_matrix_properties module~nafpack_preconditioners NAFPack_Preconditioners module~nafpack_iterative_methods->module~nafpack_preconditioners module~nafpack_iterative_params NAFPack_Iterative_Params module~nafpack_iterative_methods->module~nafpack_iterative_params module~nafpack_matrix_decomposition->module~nafpack_matricielle module~nafpack_matrix_properties->module~nafpack_matricielle module~nafpack_matrix_properties->module~nafpack_eigen module~nafpack_matrix_tools NAFPack_matrix_tools module~nafpack_matrix_tools->module~nafpack_matricielle module~nafpack_preconditioners->module~nafpack_matricielle module~nafpack_preconditioners->module~nafpack_matrix_decomposition module~nafpack_direct_method NAFPack_Direct_method module~nafpack_direct_method->module~nafpack_matrix_decomposition module~nafpack_direct_method->module~nafpack_matrix_properties module~nafpack_direct_method->module~nafpack_matrix_tools 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_iterative_methods module~nafpack_linalg->module~nafpack_direct_method

Functions

public function dot(a, b) result(result)

function that calculates the dot product of two real 3-dimensional vectors and

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), DIMENSION(:) :: a
real(kind=dp), intent(in), DIMENSION(:) :: b

Return Value real(kind=dp)

public function cross(a, b) result(result)

function that calculates the cross product between two real 3-dimensional vectors and 1

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), DIMENSION(3) :: a
real(kind=dp), DIMENSION(3) :: b

Return Value real(kind=dp), DIMENSION(3)

public function norm_2(a) result(result)

function that calculates the Euclidean norm (L2 norm) of a vector , where where is the dimension of the real vector .

Arguments

Type IntentOptional Attributes Name
real(kind=dp), DIMENSION(:) :: a

Return Value real(kind=dp)

public function norm_2_complex(a) result(result)

function that calculates the Euclidean norm (L2 norm or modulus) of a vector , where where is the dimension of the complex vector .

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), DIMENSION(:) :: a

Return Value real(kind=dp)

public function normalise(a) result(result)

function that normalises a real vector a to make it a unit vector, where

Arguments

Type IntentOptional Attributes Name
real(kind=dp), DIMENSION(:) :: a

Return Value real(kind=dp), DIMENSION(SIZE(a))

public function normalise_complexe(a) result(result)

function that normalises a complex vector a to make it a unit vector, where

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), DIMENSION(:) :: a

Return Value complex(kind=dp), DIMENSION(SIZE(a))

public function Trace(A) result(result)

function that calculates the trace of a square matrix

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), DIMENSION(:, :) :: A

Return Value real(kind=dp)

public function Diagonally_Dominant_Matrix(A) result(diagonally_dominant)

function which checks if A is diagonally dominant

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), DIMENSION(:, :) :: A

Return Value logical

public function Identity_n(N, use_concurrent) result(Identity)

function that returns the identity matrix for a given size N

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: N
logical, intent(in), optional :: use_concurrent

Return Value real(kind=dp), DIMENSION(N, N)

public function Diag(A) result(D)

function that extracts the diagonal of a matrix where is a vector containing the diagonal elements of the matrix .

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), DIMENSION(:,:) :: A

Return Value real(kind=dp), DIMENSION(SIZE(A,1))

public function rotation_matrix(A, rotation) result(G)

Function to create a rotation matrix

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), DIMENSION(:, :) :: A
integer, intent(in), DIMENSION(2) :: rotation

Return Value real(kind=dp), DIMENSION(SIZE(A, 1),SIZE(A, 2))