ContractionOps

Fortran module ContractionOps: May 2017 (dj)

Containing contractions for tensors.

Authors

    1. Jaschke

      1. Wall

Details

The following subroutines / functions are defined in the module as interfaces.

Procedure

diag_times_mat

mat_times_diag

diag_contr_tensor

eigd

eigsvd

exp

exph

kron

trace_rho_x_mat

ContractionOps_f90.contr_tensor()[source]

fortran-subroutine - November 2016 (dj) Contraction of two different tensors.

Arguments

TcTYPE(tensor), inout

Result of the contractions as tensor.

TlTYPE(tensor), inout

Left tensor in contraction. Destroyed on output and should be different from Tr since it can be operated on.

TrTYPE(tensor), inout

Right tensor in contraction. Destroyed on output and should be different from Tl since it can be operated on.

idxlINTEGER(*), in

Contraction goes over the corresponding indices of the left tensor.

idxrINTEGER(*), in

Contraction goes over the corresponding indices of the right tensor.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for right tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the output after the contraction.

alphareal, OPTIONAL, in

Scale contraction.

betareal, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

Source Code

show / hide f90 code
ContractionOps_f90.contr_meta_info_tensor()[source]

fortran-subroutine - November 2016 (dj) Get meta information of the contraction between two different tensors.

Arguments

CinfoTYPE(contrinfo), inout

Meta information for contraction between two tensors.

TlTYPE(tensor), inout

Left tensor in contraction. Destroyed on output and should be different from Tr since it can be operated on.

TrTYPE(tensor), inout

Right tensor in contraction. Destroyed on output and should be different from Tl since it can be operated on.

idxlINTEGER(*), in

Contraction goes over the corresponding indices of the left tensor.

idxrINTEGER(*), in

Contraction goes over the corresponding indices of the right tensor.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for right tensor.

Source Code

show / hide f90 code
ContractionOps_f90.contr_tensorc()[source]

fortran-subroutine - November 2016 (dj) Contraction of two different tensors.

Arguments

TcTYPE(tensorc), inout

Result of the contractions as tensor.

TlTYPE(tensorc), inout

Left tensor in contraction. Destroyed on output and should be different from Tr since it can be operated on.

TrTYPE(tensorc), inout

Right tensor in contraction. Destroyed on output and should be different from Tl since it can be operated on.

idxlINTEGER(*), in

Contraction goes over the corresponding indices of the left tensor.

idxrINTEGER(*), in

Contraction goes over the corresponding indices of the right tensor.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for right tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the output after the contraction.

alphacomplex, OPTIONAL, in

Scale contraction.

betacomplex, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

Source Code

show / hide f90 code
ContractionOps_f90.contr_meta_info_tensorc()[source]

fortran-subroutine - November 2016 (dj) Get meta information of the contraction between two different tensors.

Arguments

CinfoTYPE(contrinfo), inout

Meta information for contraction between two tensors.

TlTYPE(tensorc), inout

Left tensor in contraction. Destroyed on output and should be different from Tr since it can be operated on.

TrTYPE(tensorc), inout

Right tensor in contraction. Destroyed on output and should be different from Tl since it can be operated on.

idxlINTEGER(*), in

Contraction goes over the corresponding indices of the left tensor.

idxrINTEGER(*), in

Contraction goes over the corresponding indices of the right tensor.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for right tensor.

Source Code

show / hide f90 code
ContractionOps_f90.destroy_contrinfo()[source]

fortran-subroutine - October 2017 (dj) Destroy the meta information for a contraction.

Arguments

CinfoTYPE(contrinfo), inout

Deallocate arrays inside Cinfo.

Source Code

show / hide f90 code
ContractionOps_f90.contr_qtensor()[source]

fortran-subroutine - May 2017 (dj) Contraction of two different tensors.

Arguments

TcTYPE(TENSOR_TYPE), inout

Result of the contractions as tensor.

TlTYPE(TENSOR_TYPE), inout

Left tensor in contraction. Destroyed on output and should be different from Tr since it can be operated on.

TrTYPE(TENSOR_TYPE), inout

Right tensor in contraction. Destroyed on output and should be different from Tl since it can be operated on.

idxlINTEGER(*), in

Contraction goes over the corresponding indices of the left tensor.

idxrINTEGER(*), in

Contraction goes over the corresponding indices of the right tensor.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for right tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the output after the contraction.

alphareal, OPTIONAL, in

Scale contraction.

betareal, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

Source Code

show / hide f90 code
ContractionOps_f90.contr_qtensorc()[source]

fortran-subroutine - May 2017 (dj) Contraction of two different tensors.

Arguments

TcTYPE(TENSOR_TYPE), inout

Result of the contractions as tensor.

TlTYPE(TENSOR_TYPE), inout

Left tensor in contraction. Destroyed on output and should be different from Tr since it can be operated on.

TrTYPE(TENSOR_TYPE), inout

Right tensor in contraction. Destroyed on output and should be different from Tl since it can be operated on.

idxlINTEGER(*), in

Contraction goes over the corresponding indices of the left tensor.

idxrINTEGER(*), in

Contraction goes over the corresponding indices of the right tensor.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for right tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the output after the contraction.

alphacomplex, OPTIONAL, in

Scale contraction.

betacomplex, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

Source Code

show / hide f90 code
ContractionOps_f90.contr_tensor_tensorc()[source]

fortran-subroutine - June 2017 (dj) Contraction of two different tensors.

Arguments

TcTYPE(tensorc), inout

Result of the contractions as tensor.

TlTYPE(tensor), inout

Left tensor in contraction. Destroyed on output and should be different from Tr since it can be operated on.

TrTYPE(tensorc), inout

Right tensor in contraction. Destroyed on output and should be different from Tl since it can be operated on.

idxlINTEGER(*), in

Contraction goes over the corresponding indices of the left tensor.

idxrINTEGER(*), in

Contraction goes over the corresponding indices of the right tensor.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for right tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the output after the contraction.

alphacomplex, OPTIONAL, in

Scale contraction.

betacomplex, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

Source Code

show / hide f90 code
ContractionOps_f90.contr_qtensor_qtensorc()[source]

fortran-subroutine - June 2017 (dj) Contraction of two different tensors.

Arguments

TcTYPE(qtensorc), inout

Result of the contractions as tensor.

TlTYPE(qtensor), inout

Left tensor in contraction. Destroyed on output and should be different from Tr since it can be operated on.

TrTYPE(qtensorc), inout

Right tensor in contraction. Destroyed on output and should be different from Tl since it can be operated on.

idxlINTEGER(*), in

Contraction goes over the corresponding indices of the left tensor.

idxrINTEGER(*), in

Contraction goes over the corresponding indices of the right tensor.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for right tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the output after the contraction.

alphacomplex, OPTIONAL, in

Scale contraction.

betacomplex, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

Source Code

show / hide f90 code
ContractionOps_f90.contr_tensorc_tensor()[source]

fortran-subroutine - June 2017 (dj) Contraction of two different tensors.

Arguments

TcTYPE(tensorc), inout

Result of the contractions as tensor.

TlTYPE(tensorc), inout

Left tensor in contraction. Destroyed on output and should be different from Tr since it can be operated on.

TrTYPE(tensor), inout

Right tensor in contraction. Destroyed on output and should be different from Tl since it can be operated on.

idxlINTEGER(*), in

Contraction goes over the corresponding indices of the left tensor.

idxrINTEGER(*), in

Contraction goes over the corresponding indices of the right tensor.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for right tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the output after the contraction.

alphacomplex, OPTIONAL, in

Scale contraction.

betacomplex, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

Source Code

show / hide f90 code
ContractionOps_f90.contr_qtensorc_qtensor()[source]

fortran-subroutine - June 2017 (dj) Contraction of two different tensors.

Arguments

TcTYPE(qtensorc), inout

Result of the contractions as tensor.

TlTYPE(qtensorc), inout

Left tensor in contraction. Destroyed on output and should be different from Tr since it can be operated on.

TrTYPE(qtensor), inout

Right tensor in contraction. Destroyed on output and should be different from Tl since it can be operated on.

idxlINTEGER(*), in

Contraction goes over the corresponding indices of the left tensor.

idxrINTEGER(*), in

Contraction goes over the corresponding indices of the right tensor.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for right tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the output after the contraction.

alphacomplex, OPTIONAL, in

Scale contraction.

betacomplex, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

Source Code

show / hide f90 code
ContractionOps_f90.contr_self_tensor()[source]

fortran-subroutine - May 2017 (dj) Contract a tensor with itself.

Arguments

TcTYPE(tensor), inout

Result of the contraction.

TlrTYPE(tensor), inout

Tensor to be contracted.

idxlINTEGER(*), in

Indices to be contracted on the left tensor.

idxrINTEGER(*), OPTIONAL, in

Indices to be contracted on the right tensor. At the moment, idxl is equal to idxr is required. Default to idxl.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, inout

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the outpur after the contraction.

alphareal, OPTIONAL, in

Scale contraction.

betareal, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

uploCHARACTER, OPTIONAL, in

If possible, only the upper or lower triangular matrix can be set. Choose ‘U’ for the upper triangular, ‘L’ for the lower triangular matrix, and ‘N’ for the full matrix. Default to ‘N’.

Source Code

show / hide f90 code
ContractionOps_f90.contr_self_tensorc()[source]

fortran-subroutine - May 2017 (dj) Contract a tensor with itself.

Arguments

TcTYPE(tensorc), inout

Result of the contraction.

TlrTYPE(tensorc), inout

Tensor to be contracted.

idxlINTEGER(*), in

Indices to be contracted on the left tensor.

idxrINTEGER(*), OPTIONAL, in

Indices to be contracted on the right tensor. At the moment, idxl is equal to idxr is required. Default to idxl.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, inout

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the outpur after the contraction.

alphacomplex, OPTIONAL, in

Scale contraction.

betacomplex, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

uploCHARACTER, OPTIONAL, in

If possible, only the upper or lower triangular matrix can be set. Choose ‘U’ for the upper triangular, ‘L’ for the lower triangular matrix, and ‘N’ for the full matrix. Default to ‘N’.

Source Code

show / hide f90 code
ContractionOps_f90.pcontr_tensor()[source]

fortran-subroutine - September 2017 (dj) Contract indices within a tensor, similar to a partial trace or trace.

Arguments

TcTYPE(tensor), inout

On exit, result of the contraction. The uncontracted indices remain in their order.

TensTYPE(tensor), inout

Contract indices within the tensor. On exit, modified.

idxlINTEGER(*), inout

First set of indices to be contracted.

idxrINTEGER(*), inout

Second set of indices to be contracted.

permoutINTEGER(*), inout

Permute the indices of the result before returning the tensor.

Source Code

show / hide f90 code
ContractionOps_f90.pcontr_tensorc()[source]

fortran-subroutine - September 2017 (dj) Contract indices within a tensor, similar to a partial trace or trace.

Arguments

TcTYPE(tensorc), inout

On exit, result of the contraction. The uncontracted indices remain in their order.

TensTYPE(tensorc), inout

Contract indices within the tensor. On exit, modified.

idxlINTEGER(*), inout

First set of indices to be contracted.

idxrINTEGER(*), inout

Second set of indices to be contracted.

permoutINTEGER(*), inout

Permute the indices of the result before returning the tensor.

Source Code

show / hide f90 code
ContractionOps_f90.pcontr_qtensor()[source]

fortran-subroutine - September 2017 (dj) Contract indices within a tensor, similar to a partial trace or trace.

Arguments

TcTYPE(qtensor), inout

On exit, result of the contraction. The uncontracted indices remain in their order.

TensTYPE(qtensor), inout

Contract indices within the tensor. On exit, modified.

idxlINTEGER(*), inout

First set of indices to be contracted.

idxrINTEGER(*), inout

Second set of indices to be contracted.

permoutINTEGER(*), inout

Permute the indices of the result before returning the tensor.

Source Code

show / hide f90 code
ContractionOps_f90.pcontr_qtensorc()[source]

fortran-subroutine - September 2017 (dj) Contract indices within a tensor, similar to a partial trace or trace.

Arguments

TcTYPE(qtensorc), inout

On exit, result of the contraction. The uncontracted indices remain in their order.

TensTYPE(qtensorc), inout

Contract indices within the tensor. On exit, modified.

idxlINTEGER(*), inout

First set of indices to be contracted.

idxrINTEGER(*), inout

Second set of indices to be contracted.

permoutINTEGER(*), inout

Permute the indices of the result before returning the tensor.

Source Code

show / hide f90 code
ContractionOps_f90.fill_uplo_real()[source]

fortran-subroutine - May 2017 (dj) Build the complete hermitian matrix from an upper or lower triangular matrix.

Arguments

matreal(dim, dim), inout

On entry upper or lower triangular matrix. On exit, complete hermitian matrix.

dimINTEGER, in

Dimension of the square matrix mat.

Source Code

show / hide f90 code
ContractionOps_f90.fill_uplo_complex()[source]

fortran-subroutine - May 2017 (dj) Build the complete hermitian matrix from an upper or lower triangular matrix.

Arguments

matcomplex(dim, dim), inout

On entry upper or lower triangular matrix. On exit, complete hermitian matrix.

dimINTEGER, in

Dimension of the square matrix mat.

Source Code

show / hide f90 code
ContractionOps_f90.contr_self_qtensor()[source]

fortran-subroutine - May 2017 (dj) Contract a tensor with itself.

Arguments

TcTYPE(TENSOR_TYPE), inout

Result of the contraction.

TlrTYPE(TENSOR_TYPE), inout

Tensor to be contracted.

idxlINTEGER(*), in

Indices to be contracted on the left tensor.

idxrINTEGER(*), OPTIONAL, in

Indices to be contracted on the right tensor. At the moment, idxl is equal to idxr is required. Default to idxl.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, inout

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the outpur after the contraction.

alphareal, OPTIONAL, in

Scale contraction.

betareal, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

uploCHARACTER, OPTIONAL, in

If possible, only the upper or lower triangular matrix can be set. Choose ‘U’ for the upper triangular, ‘L’ for the lower triangular matrix, and ‘N’ for the full matrix. Default to ‘N’.

Source Code

show / hide f90 code
ContractionOps_f90.contr_self_qtensorc()[source]

fortran-subroutine - May 2017 (dj) Contract a tensor with itself.

Arguments

TcTYPE(TENSOR_TYPE), inout

Result of the contraction.

TlrTYPE(TENSOR_TYPE), inout

Tensor to be contracted.

idxlINTEGER(*), in

Indices to be contracted on the left tensor.

idxrINTEGER(*), OPTIONAL, in

Indices to be contracted on the right tensor. At the moment, idxl is equal to idxr is required. Default to idxl.

translCHARACTER, OPTIONAL, in

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

transrCHARACTER, OPTIONAL, inout

‘N’ for nothing and ‘C’ for conjugating tensor (not daggered). Default to ‘N’. Transformation for left tensor.

permoutINTEGER(*), OPTIONAL, in

Permutation on the outpur after the contraction.

alphacomplex, OPTIONAL, in

Scale contraction.

betacomplex, OPTIONAL, in

Add to existing tensor Tc scaled with beta.

uploCHARACTER, OPTIONAL, in

If possible, only the upper or lower triangular matrix can be set. Choose ‘U’ for the upper triangular, ‘L’ for the lower triangular matrix, and ‘N’ for the full matrix. Default to ‘N’.

Source Code

show / hide f90 code
ContractionOps_f90.contr_uplo_tensor()[source]

fortran-subroutine - June 2017 (dj) Contract an upper or lower triangular tensor with another dense tensor.

Arguments

TuploTYPE(Qtensor), inout

The upper or lower triangular tensor to be contracted to Tens.

TensTYPE(Qtensor), inout

Tens is contracted with Tuplo; on exit the result of the contraction.

idxuploINTEGER(*), in

Index to be contracted for the tensor Tuplo.

idxtINTEGER(*), in

Index to be contracted for the tensor Tens.

permoutINTEGER(*), in

Permutation on final result.

alphareal, OPTIONAL, in

Can be used to scale the result. Default to 1.0

uploCHARACTER, OPTIONAL, in

Tuplo is upper triangular for ‘U’ and lower triangular for ‘L’. Default to ‘U’.

diagCHARACTER, OPTIONAL, in

Tuplo has ones on the diagonal for ‘U’, otherwise arbitrary entries for ‘N’. Default to ‘N’.

Source Code

show / hide f90 code
ContractionOps_f90.contr_uplo_tensorc()[source]

fortran-subroutine - June 2017 (dj) Contract an upper or lower triangular tensor with another dense tensor.

Arguments

TuploTYPE(Qtensorc), inout

The upper or lower triangular tensor to be contracted to Tens.

TensTYPE(Qtensorc), inout

Tens is contracted with Tuplo; on exit the result of the contraction.

idxuploINTEGER(*), in

Index to be contracted for the tensor Tuplo.

idxtINTEGER(*), in

Index to be contracted for the tensor Tens.

permoutINTEGER(*), in

Permutation on final result.

alphacomplex, OPTIONAL, in

Can be used to scale the result. Default to 1.0

uploCHARACTER, OPTIONAL, in

Tuplo is upper triangular for ‘U’ and lower triangular for ‘L’. Default to ‘U’.

diagCHARACTER, OPTIONAL, in

Tuplo has ones on the diagonal for ‘U’, otherwise arbitrary entries for ‘N’. Default to ‘N’.

Source Code

show / hide f90 code
ContractionOps_f90.contr_uplo_qtensor()[source]

fortran-subroutine - June 2017 (dj) Contract upper or lower triangular tensors in a qtensor with another dense qtensor. The contractions is restricted to one index right now.

Arguments

TuploTYPE(qtensor), inout

The upper or lower triangular tensor to be contracted to Tens. (Hashes are assumed to be unique.)

TensTYPE(qtensor), inout

Tens is contracted with Tuplo; on exit the result of the contraction. (Hashes are assumed to be possibly degenerate.)

idxuploINTEGER(*), in

Index to be contracted for the tensor Tuplo. Restricted to one index at present.

idxtINTEGER(*), in

Index to be contracted for the tensor Tens.

permoutINTEGER(*), in

Permutation on final result.

alphareal, OPTIONAL, in

Can be used to scale the result. Default to 1.0

uploCHARACTER, OPTIONAL, in

Tuplo is upper triangular for ‘U’ and lower triangular for ‘L’. Default to ‘U’.

diagCHARACTER, OPTIONAL, in

Tuplo has ones on the diagonal for ‘U’, otherwise arbitrary entries for ‘N’. Default to ‘N’.

Source Code

show / hide f90 code
ContractionOps_f90.contr_uplo_qtensorc()[source]

fortran-subroutine - June 2017 (dj) Contract upper or lower triangular tensors in a qtensorc with another dense qtensorc. The contractions is restricted to one index right now.

Arguments

TuploTYPE(qtensorc), inout

The upper or lower triangular tensor to be contracted to Tens. (Hashes are assumed to be unique.)

TensTYPE(qtensorc), inout

Tens is contracted with Tuplo; on exit the result of the contraction. (Hashes are assumed to be possibly degenerate.)

idxuploINTEGER(*), in

Index to be contracted for the tensor Tuplo. Restricted to one index at present.

idxtINTEGER(*), in

Index to be contracted for the tensor Tens.

permoutINTEGER(*), in

Permutation on final result.

alphacomplex, OPTIONAL, in

Can be used to scale the result. Default to 1.0

uploCHARACTER, OPTIONAL, in

Tuplo is upper triangular for ‘U’ and lower triangular for ‘L’. Default to ‘U’.

diagCHARACTER, OPTIONAL, in

Tuplo has ones on the diagonal for ‘U’, otherwise arbitrary entries for ‘N’. Default to ‘N’.

Source Code

show / hide f90 code
ContractionOps_f90.lcontr_perm()[source]

fortran-subroutine - November 2016 (dj) Check on necessary permutation before contracting tensor. This is for the left hand side tensor of the contraction.

Arguments

permINTEGER(rank), out

Permutation before contracting. If -1, then no permutation is necessary.

operCHARACTER, out

Either ‘N’ or ‘T’ serving as transposed flag for GEMM.

idxINTEGER(*), in

Those indices are contracted over.

rankINTEGER, in

Rank of the tensor to be contracted.

Source Code

show / hide f90 code
ContractionOps_f90.rcontr_perm()[source]

fortran-subroutine - November 2016 (dj) Check on necessary permutation before contracting tensor. This is for the right hand side tensor of the contraction.

Arguments

permINTEGER(rank), out

Permutation before contracting. If -1, then no permutation is necessary.

operCHARACTER, out

Either ‘N’ or ‘T’ serving as transposed flag for GEMM.

idxINTEGER(*), in

Those indices are contracted over.

rankINTEGER, in

Rank of the tensor to be contracted.

Source Code

show / hide f90 code
ContractionOps_f90.contr_diag_tensor_tensor()[source]

fortran-subroutine - November 2016 (dj) Contract tensor with diagonal matrix represented as rank-1 tensor.

Arguments

TensTYPE(tensor), inout

Tensor to be contracted with diagonal matrix.

DtensTYPE(tensor), in

Diagonal rank-2 tensor represented as rank-1 tensor.

idxINTEGER, in

Contraction of this index of Tens.

Source Code

show / hide f90 code
ContractionOps_f90.contr_diag_tensorc_tensor()[source]

fortran-subroutine - November 2016 (dj) Contract tensor with diagonal matrix represented as rank-1 tensor.

Arguments

TensTYPE(tensorc), inout

Tensor to be contracted with diagonal matrix.

DtensTYPE(tensor), in

Diagonal rank-2 tensor represented as rank-1 tensor.

idxINTEGER, in

Contraction of this index of Tens.

Source Code

show / hide f90 code
ContractionOps_f90.contr_diag_tensorc_tensorc()[source]

fortran-subroutine - November 2016 (dj) Contract tensor with diagonal matrix represented as rank-1 tensor.

Arguments

TensTYPE(tensorc), inout

Tensor to be contracted with diagonal matrix.

DtensTYPE(tensorc), in

Diagonal rank-2 tensor represented as rank-1 tensor.

idxINTEGER, in

Contraction of this index of Tens.

Source Code

show / hide f90 code
ContractionOps_f90.contr_diag_qtensor_qtensor()[source]

fortran-subroutine - January 2017 (dj) Contract tensor with diagonal matrix represented as rank-1 tensor.

Arguments

TensTYPE(TENSOR_TYPE), inout

Tensor to be contracted with diagonal matrix. Hashes assumed to be possibly degenerate.

DtensTYPE(qtensor), in

Diagonal rank-2 tensor represented as rank-1 tensor. Hashes assumed to be unique.

idxINTEGER, in

Contraction of this index of Tens.

Source Code

show / hide f90 code
ContractionOps_f90.contr_diag_qtensorc_qtensor()[source]

fortran-subroutine - January 2017 (dj) Contract tensor with diagonal matrix represented as rank-1 tensor.

Arguments

TensTYPE(TENSOR_TYPE), inout

Tensor to be contracted with diagonal matrix. Hashes assumed to be possibly degenerate.

DtensTYPE(qtensor), in

Diagonal rank-2 tensor represented as rank-1 tensor. Hashes assumed to be unique.

idxINTEGER, in

Contraction of this index of Tens.

Source Code

show / hide f90 code
ContractionOps_f90.contr_diag_qtensorc_qtensorc()[source]

fortran-subroutine - January 2017 (dj) Contract tensor with diagonal matrix represented as rank-1 tensor.

Arguments

TensTYPE(TENSOR_TYPE), inout

Tensor to be contracted with diagonal matrix. Hashes assumed to be possibly degenerate.

DtensTYPE(qtensorc), in

Diagonal rank-2 tensor represented as rank-1 tensor. Hashes assumed to be unique.

idxINTEGER, in

Contraction of this index of Tens.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_tensor_tensor()[source]

fortran-subroutine - September 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(tensor), inout

Result fo the contraction.

TlTYPE(tensor), inout

Multi-link tensor which should be contracted over an interior index.

TmTYPE(tensor), inout

Tensor (matrix) contracted over first or last index.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphareal, inout

Scale contraction of Tl with Tm.

betareal, inout

Scale incoming tensor Tc.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_tensorc_tensor()[source]

fortran-subroutine - September 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(tensorc), inout

Result fo the contraction.

TlTYPE(tensorc), inout

Multi-link tensor which should be contracted over an interior index.

TmTYPE(tensor), inout

Tensor (matrix) contracted over first or last index.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphacomplex, inout

Scale contraction of Tl with Tm.

betacomplex, inout

Scale incoming tensor Tc.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_tensor_tensorc()[source]

fortran-subroutine - September 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(tensorc), inout

Result fo the contraction.

TlTYPE(tensor), inout

Multi-link tensor which should be contracted over an interior index.

TmTYPE(tensorc), inout

Tensor (matrix) contracted over first or last index.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphacomplex, inout

Scale contraction of Tl with Tm.

betacomplex, inout

Scale incoming tensor Tc.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_tensorc_tensorc()[source]

fortran-subroutine - September 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(tensorc), inout

Result fo the contraction.

TlTYPE(tensorc), inout

Multi-link tensor which should be contracted over an interior index.

TmTYPE(tensorc), inout

Tensor (matrix) contracted over first or last index.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphacomplex, inout

Scale contraction of Tl with Tm.

betacomplex, inout

Scale incoming tensor Tc.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one___real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one___real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one_conjg__real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one_conjg__real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one__conjg_real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one__conjg_real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one_conjg_conjg_real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one_conjg_conjg_real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp___real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp___real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp_conjg__real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp_conjg__real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp__conjg_real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp__conjg_real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp_conjg_conjg_real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp_conjg_conjg_real_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destreal(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphareal, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one___complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one___complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one_conjg__complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one_conjg__complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one__conjg_complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one__conjg_complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one_conjg_conjg_complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one_conjg_conjg_complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp___complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp___complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp_conjg__complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp_conjg__complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp__conjg_complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp__conjg_complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp_conjg_conjg_complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp_conjg_conjg_complex_real()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matreal(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one___complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one___complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one_conjg__complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one_conjg__complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one__conjg_complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one__conjg_complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one_conjg_conjg_complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one_conjg_conjg_complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp___complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp___complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp_conjg__complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp_conjg__complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp__conjg_complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp__conjg_complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp_conjg_conjg_complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp_conjg_conjg_complex_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srccomplex(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one___real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one___real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one_conjg__real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one_conjg__real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one__conjg_real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one__conjg_real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_one_conjg_conjg_real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_one_conjg_conjg_real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp___real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp___real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp_conjg__real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp_conjg__real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp__conjg_real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp__conjg_real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_col_alp_conjg_conjg_real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over column.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix.

m2INTEGER, inout

Second dimension of the matrix (dimension contracted over).

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_elem_row_alp_conjg_conjg_real_complex()[source]

fortran-subroutine - September 2017 (dj) Elementary contraction of a tensors interior index with another tensor represented as matrix. Matrix contracted over row.

Arguments

destcomplex(*), inout

Add result of contraction to this array.

srcreal(*), in

Entries of the tensor contracted over interior index.

matcomplex(*), inout

Entries of the matrix contracted.

d1INTEGER, inout

Cumulated dimension of all indices in front of the contracted index in src.

m1INTEGER, inout

First dimension of the matrix (dimension contracted over).

m2INTEGER, inout

Second dimension of the matrix.

d3INTEGER, inout

Cumulated dimension of all indices after the contracted index

alphacomplex, inout

Scaling of the contraction of src and mat, if used.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_qtensor_qtensor()[source]

fortran-subroutine - October 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(qtensor), inout

Result fo the contraction.

TlTYPE(qtensor), inout

Multi-link tensor which should be contracted over an interior index.

TmTYPE(qtensor), inout

Tensor (matrix) contracted over first or last index.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphareal, inout

Scale contraction of Tl with Tm.

betareal, inout

Scale incoming tensor Tc.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_qtensorc_qtensor()[source]

fortran-subroutine - October 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(qtensorc), inout

Result fo the contraction.

TlTYPE(qtensorc), inout

Multi-link tensor which should be contracted over an interior index.

TmTYPE(qtensor), inout

Tensor (matrix) contracted over first or last index.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphacomplex, inout

Scale contraction of Tl with Tm.

betacomplex, inout

Scale incoming tensor Tc.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_qtensor_qtensorc()[source]

fortran-subroutine - October 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(qtensorc), inout

Result fo the contraction.

TlTYPE(qtensor), inout

Multi-link tensor which should be contracted over an interior index.

TmTYPE(qtensorc), inout

Tensor (matrix) contracted over first or last index.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphacomplex, inout

Scale contraction of Tl with Tm.

betacomplex, inout

Scale incoming tensor Tc.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.mcontr_qtensorc_qtensorc()[source]

fortran-subroutine - October 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(qtensorc), inout

Result fo the contraction.

TlTYPE(qtensorc), inout

Multi-link tensor which should be contracted over an interior index.

TmTYPE(qtensorc), inout

Tensor (matrix) contracted over first or last index.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphacomplex, inout

Scale contraction of Tl with Tm.

betacomplex, inout

Scale incoming tensor Tc.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.internal_mcontr_qtensor_qtensor()[source]

fortran-subroutine - September 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(qtensor), inout

Result fo the contraction.

TlTYPE(qtensor), inout

Multi-link tensor which should be contracted over an interior index. Hashes are assumed to be possibly degenerate.

TmTYPE(qtensor), inout

Tensor (matrix) contracted over first or last index. Hashes are assumed to be unique.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphareal, inout

Scale contraction of Tl with Tm.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.internal_mcontr_qtensorc_qtensor()[source]

fortran-subroutine - September 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(qtensorc), inout

Result fo the contraction.

TlTYPE(qtensorc), inout

Multi-link tensor which should be contracted over an interior index. Hashes are assumed to be possibly degenerate.

TmTYPE(qtensor), inout

Tensor (matrix) contracted over first or last index. Hashes are assumed to be unique.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphacomplex, inout

Scale contraction of Tl with Tm.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.internal_mcontr_qtensor_qtensorc()[source]

fortran-subroutine - September 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(qtensorc), inout

Result fo the contraction.

TlTYPE(qtensor), inout

Multi-link tensor which should be contracted over an interior index. Hashes are assumed to be possibly degenerate.

TmTYPE(qtensorc), inout

Tensor (matrix) contracted over first or last index. Hashes are assumed to be unique.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphacomplex, inout

Scale contraction of Tl with Tm.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.internal_mcontr_qtensorc_qtensorc()[source]

fortran-subroutine - September 2017 (dj) Middle contraction or matrix contraction of a large tensor Tl with a small matrix Tm to Tc = alpha Tl Tm + beta Tc.

Arguments

TcTYPE(qtensorc), inout

Result fo the contraction.

TlTYPE(qtensorc), inout

Multi-link tensor which should be contracted over an interior index. Hashes are assumed to be possibly degenerate.

TmTYPE(qtensorc), inout

Tensor (matrix) contracted over first or last index. Hashes are assumed to be unique.

idxlINTEGER, inout

Index for contraction in Tl.

idxmINTEGER, inout

Index for contraction in Tm, either 1 or 2.

translCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tl.

transrCHARACTER, inout

“N” for no transformation or “C” for complex conjugate of Tm.

alphacomplex, inout

Scale contraction of Tl with Tm.

Details

The contr-methods wrapping LAPACK require permutation causing an overhead which is not compensated for contractions with small matrices. This is only the case, if one of the middle indices is contracted.

Source Code

show / hide f90 code
ContractionOps_f90.trace_rho_x_mat_tensor_tensor()[source]

fortran-function - November 2016 (dj) Trace of the matrix-matrix multiplication of a density matrix and a matrix.

Arguments

rhoRHO_TYOE(*, *), in

Density matrix. Must be hermitian since this property is used.

mattensor(*, *), in

Operator matrix.

Source Code

show / hide f90 code
ContractionOps_f90.trace_rho_x_mat_tensorc_tensor()[source]

fortran-function - November 2016 (dj) Trace of the matrix-matrix multiplication of a density matrix and a matrix.

Arguments

rhoRHO_TYOE(*, *), in

Density matrix. Must be hermitian since this property is used.

mattensor(*, *), in

Operator matrix.

Source Code

show / hide f90 code
ContractionOps_f90.trace_rho_x_mat_tensorc_tensorc()[source]

fortran-function - November 2016 (dj) Trace of the matrix-matrix multiplication of a density matrix and a matrix.

Arguments

rhoRHO_TYOE(*, *), in

Density matrix. Must be hermitian since this property is used.

mattensorc(*, *), in

Operator matrix.

Source Code

show / hide f90 code
ContractionOps_f90.trace_rho_x_mat_qtensor_qtensor()[source]

fortran-function - November 2016 (dj) Trace of the matrix-matrix multiplication of a density matrix and a matrix.

Arguments

rhoRHO_TYOE(*, *), in

Density matrix. Must be hermitian since this property is used.

matqtensor(*, *), in

Operator matrix.

Source Code

show / hide f90 code
ContractionOps_f90.trace_rho_x_mat_qtensorc_qtensor()[source]

fortran-function - November 2016 (dj) Trace of the matrix-matrix multiplication of a density matrix and a matrix.

Arguments

rhoRHO_TYOE(*, *), in

Density matrix. Must be hermitian since this property is used.

matqtensor(*, *), in

Operator matrix.

Source Code

show / hide f90 code
ContractionOps_f90.trace_rho_x_mat_qtensorc_qtensorc()[source]

fortran-function - November 2016 (dj) Trace of the matrix-matrix multiplication of a density matrix and a matrix.

Arguments

rhoRHO_TYOE(*, *), in

Density matrix. Must be hermitian since this property is used.

matqtensorc(*, *), in

Operator matrix.

Source Code

show / hide f90 code