apply_inverse_permutation_matrix Interface

public interface apply_inverse_permutation_matrix

Description

Given an array and a permutation vector , this function computes in-place the column-permuted matrix

where is the column-permutation matrix constructed from the permutation vector and its inverse.

Syntax

    call apply_inverse_permutation_matrix(X, perm)

Arguments

Q : Array of vectors derived from the base types defined in the AbstractVectors module. On entry, it is the original array. On exit, it contains the column-permuted version computed in-place. It is an intent(inout) argument.

perm : Rank-1 array of integer corresponding to the desired permutation vector. It is an intent(in) argument.


Module Procedures

private subroutine apply_inverse_permutation_matrix_rsp(Q, perm)

Arguments

Type IntentOptional Attributes Name
class(abstract_vector_rsp), intent(inout) :: Q(:)

Basis vectors to be (un-) permuted.

integer, intent(in) :: perm(:)

Permutation matrix (vector representation).

private subroutine apply_inverse_permutation_matrix_array_rsp(Q, perm)

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(inout) :: Q(:,:)

Basis vectors to be (un-) permuted.

integer, intent(in) :: perm(:)

Permutation matrix (vector representation).

private subroutine apply_inverse_permutation_matrix_rdp(Q, perm)

Arguments

Type IntentOptional Attributes Name
class(abstract_vector_rdp), intent(inout) :: Q(:)

Basis vectors to be (un-) permuted.

integer, intent(in) :: perm(:)

Permutation matrix (vector representation).

private subroutine apply_inverse_permutation_matrix_array_rdp(Q, perm)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: Q(:,:)

Basis vectors to be (un-) permuted.

integer, intent(in) :: perm(:)

Permutation matrix (vector representation).

private subroutine apply_inverse_permutation_matrix_csp(Q, perm)

Arguments

Type IntentOptional Attributes Name
class(abstract_vector_csp), intent(inout) :: Q(:)

Basis vectors to be (un-) permuted.

integer, intent(in) :: perm(:)

Permutation matrix (vector representation).

private subroutine apply_inverse_permutation_matrix_array_csp(Q, perm)

Arguments

Type IntentOptional Attributes Name
complex(kind=sp), intent(inout) :: Q(:,:)

Basis vectors to be (un-) permuted.

integer, intent(in) :: perm(:)

Permutation matrix (vector representation).

private subroutine apply_inverse_permutation_matrix_cdp(Q, perm)

Arguments

Type IntentOptional Attributes Name
class(abstract_vector_cdp), intent(inout) :: Q(:)

Basis vectors to be (un-) permuted.

integer, intent(in) :: perm(:)

Permutation matrix (vector representation).

private subroutine apply_inverse_permutation_matrix_array_cdp(Q, perm)

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(inout) :: Q(:,:)

Basis vectors to be (un-) permuted.

integer, intent(in) :: perm(:)

Permutation matrix (vector representation).