permcols Interface

public interface permcols

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 .

Syntax

    call permcols(X, perm)

Arguments

  • X : 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.


Subroutines

private module subroutine permcols_array_cdp(Q, perm)

Arguments

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

Basis vectors to be permuted.

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

private module subroutine permcols_array_csp(Q, perm)

Arguments

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

Basis vectors to be permuted.

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

private module subroutine permcols_array_rdp(Q, perm)

Arguments

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

Basis vectors to be permuted.

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

private module subroutine permcols_array_rsp(Q, perm)

Arguments

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

Basis vectors to be permuted.

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

private module subroutine permcols_basis_cdp(Q, perm)

Arguments

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

Basis vectors to be permuted.

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

private module subroutine permcols_basis_csp(Q, perm)

Arguments

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

Basis vectors to be permuted.

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

private module subroutine permcols_basis_rdp(Q, perm)

Arguments

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

Basis vectors to be permuted.

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

private module subroutine permcols_basis_rsp(Q, perm)

Arguments

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

Basis vectors to be permuted.

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