The operations of Table 1 are given in the
“product basis” of the Hilbert space
of equation (1),
|m,μ〉 := |m〉A⊗ |μ〉B ;
in other words X is expressed in Table 1
as a 4-dimensional N x K x N x K matrix whose elements X(m,μ,n,ν) are given by
X(m,μ,n,ν) = 〈m,μ| X
|n,ν〉 .
In spite of that, the 8 subroutines contained in this section will take as input 2-dimensional
(NK) x (NK) matrices whose elements are given by
X(i,j) = tot〈i| X
|j〉tot ,
where |i〉tot denotes the
“overall basis” of
CNK.
|
|
Subroutine s Name |
Precision |
Version |
Compatibility |
C_PR_tot_tran.f |
Single |
1.0.0 |
Fortran 90 |
Uses:
None
|
Description:
|
• Perform on a matrix X the operation [T] of Table 1.
• Input 2 INTEGER numbers N and K and the (NK) x (NK) CPLX
matrix X, whose matrix elements are given in the overall basis of CNK.
• Output the (NK) x (NK) CPLX
matrix "total transpose of X", still expressed in the overall basis of
CNK.
|
|
|
|
Subroutine s Name |
Precision |
Version |
Compatibility |
C_PR_par_tr_A.f |
Single |
1.0.0 |
Fortran 90 |
Uses:
None
|
Description:
|
• Perform on a matrix X the operation [TA] of Table 1.
• Input 2 INTEGER numbers N and K and the (NK) x (NK) CPLX
matrix X, whose matrix elements are given in the overall basis of CNK.
• Output the (NK) x (NK) CPLX
matrix "partial transpose on A of X", still expressed in the overall basis of
CNK.
|
|
|
|
Subroutine s Name |
Precision |
Version |
Compatibility |
C_PR_par_tr_B.f |
Single |
1.0.0 |
Fortran 90 |
Uses:
None
|
Description:
|
• Perform on a matrix X the operation [TB] of Table 1.
• Input 2 INTEGER numbers N and K and the (NK) x (NK) CPLX
matrix X, whose matrix elements are given in the overall basis of CNK.
• Output the (NK) x (NK) CPLX
matrix "partial transpose on B of X", still expressed in the overall basis of
CNK.
|
|
|
|
Subroutine s Name |
Precision |
Version |
Compatibility |
C_PR_resh____.f |
Single |
1.0.0 |
Fortran 90 |
Uses:
None
|
Description:
|
• Perform on a matrix X the operation [R] of Table 1.
• Input 2 INTEGER numbers N and K and the (NK) x (NK) CPLX
matrix X, whose matrix elements are given in the overall basis of CNK.
• Output the N2 x K2 CPLX
matrix "reshuffling of X", in the basis of
CN2
⊗
(CK2)*.
|
|
|
|
Subroutine s Name |
Precision |
Version |
Compatibility |
C_PR_resh__pr.f |
Single |
1.0.0 |
Fortran 90 |
Uses:
None
|
Description:
|
• Perform on a matrix X the operation [R] of Table 1.
• Input 2 INTEGER numbers N and K and the (NK) x (NK) CPLX
matrix X, whose matrix elements are given in the overall basis of CNK.
• Output the K2 x N2 CPLX
matrix "reshuffling of X", in the basis of
CK2
⊗
(CN2)*.
|
|
|
|
Subroutine s Name |
Precision |
Version |
Compatibility |
C_PR_tot_swap.f |
Single |
1.0.0 |
Fortran 90 |
Uses:
None
|
Description:
|
• Perform on a matrix X the operation [S] of Table 1.
• Input 2 INTEGER numbers N and K and the (NK) x (NK) CPLX
matrix X, whose matrix elements are given in the overall basis of CNK.
• Output the (KN) x (KN) CPLX
matrix "total swap of X", still expressed in the overall basis of
CKN.
|
|
|
|
Subroutine s Name |
Precision |
Version |
Compatibility |
C_PR_par_sw_1.f |
Single |
1.0.0 |
Fortran 90 |
Uses:
None
|
Description:
|
• Perform on a matrix X the operation [S1] of Table 1.
• Input 2 INTEGER numbers N and K and the (NK) x (NK) CPLX
matrix X, whose matrix elements are given in the overall basis of CNK.
• Return as output the (KN) x (NK) CPLX
matrix "partial swap(1) of X", in the basis of
CKN
⊗
(CNK)*.
|
|
|
|
Subroutine s Name |
Precision |
Version |
Compatibility |
C_PR_par_sw_2.f |
Single |
1.0.0 |
Fortran 90 |
Uses:
None
|
Description:
|
• Perform on a matrix X the operation [S2] of Table 1.
• Input 2 INTEGER numbers N and K and the (NK) x (NK) CPLX
matrix X, whose matrix elements are given in the overall basis of CNK.
• Return as output the (NK) x (KN) CPLX
matrix "partial swap(1) of X", in the basis of
CNK
⊗
(CKN)*.
|
|
|
|