Various routines for arrays
Append unique element "new" to array "arr"
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | allocatable | :: | arr(:) | ||
| integer, | intent(in) | :: | new |
Append unique element "new" to array "old"
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(asymtop_rot_transition_type), | intent(inout), | allocatable | :: | old(:) | ||
| type(asymtop_rot_transition_type), | intent(in) | :: | new(:) |
Append the value val to the array arr
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | allocatable | :: | arr(:) | ||
| integer, | intent(in) | :: | val |
Append the value val to the array arr
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(inout), | allocatable | :: | arr(:) | ||
| real(kind=dp), | intent(in) | :: | val |
Append the value val to the array arr
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(rvector_type), | intent(inout), | allocatable | :: | arr(:) | ||
| real(kind=dp), | intent(in) | :: | val(:) |
Append the value val to the array arr
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(asymtop_rot_transition_type), | intent(inout), | allocatable | :: | arr(:) | ||
| type(asymtop_rot_transition_type), | intent(in) | :: | val |
Append elec_channel to the array elec_channels
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(elec_channel_type), | intent(inout), | allocatable | :: | channels(:) | ||
| type(elec_channel_type), | intent(in) | :: | channel |
Append channels2 to the array channels
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(elec_channel_type), | intent(inout), | allocatable | :: | channels(:) | ||
| type(elec_channel_type), | intent(in) | :: | channels2(:) |
Append asymtop_rot_channel to the array asymtop_rot_channels
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(asymtop_rot_channel_type), | intent(inout), | allocatable | :: | channels(:) | ||
| type(asymtop_rot_channel_type), | intent(in) | :: | channel |
Append asymtop_rot_channel to the array asymtop_rot_channels
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(asymtop_rot_channel_l_type), | intent(inout), | allocatable | :: | channels(:) | ||
| type(asymtop_rot_channel_l_type), | intent(in) | :: | channel |
Returns the adjoint of an integer-valued matrix
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | A(:,:) |
Returns the adjoint of a real-valued matrix
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | A(:,:) |
Returns the adjoint of a complex-valued matrix
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=dp), | intent(in) | :: | A(:,:) |
Check that the size of the array arr is of length larr
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(*), | intent(in) | :: | arr(:) | |||
| integer, | intent(in) | :: | larr | |||
| character(len=*), | intent(in) | :: | name |
Check that the size of the array arr is of length larr
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(*), | intent(in) | :: | arr(:,:) | |||
| integer, | intent(in) | :: | larr(:) | |||
| character(len=*), | intent(in) | :: | name |
Returns the Frobenius norm for a matrix A
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | A(:,:) |
Returns the Frobenius norm for a matrix A
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | A(:,:) |
Returns the Frobenius norm for a matrix A
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=dp), | intent(in) | :: | A(:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | allocatable | :: | arr(:) | ||
| integer, | intent(in) | :: | n |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(inout), | allocatable | :: | arr(:) | ||
| integer, | intent(in) | :: | n |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=dp), | intent(inout), | allocatable | :: | arr(:) | ||
| integer, | intent(in) | :: | n |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(elec_channel_type), | intent(inout), | allocatable | :: | arr(:) | ||
| integer, | intent(in) | :: | n |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(inout), | allocatable | :: | arr(:,:) | ||
| integer, | intent(in) | :: | n | |||
| integer, | intent(in) | :: | m |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=dp), | intent(inout), | allocatable | :: | arr(:,:) | ||
| integer, | intent(in) | :: | n | |||
| integer, | intent(in) | :: | m |
Return the unitary defect with respect to the Frobenius norm
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(*), | intent(in) | :: | A(:,:) |
Determine whether a matrix is unitary w.r.t the Frobenius norm
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(*), | intent(in) | :: | A(:,:) |
The matrix |
||
| real(kind=dp), | intent(in), | optional | :: | rtol |
The optional relative tolerance, default 1e-10 |
Determine whether a matrix is symmetric
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(*), | intent(in) | :: | A(:,:) |
The matrix |
||
| real(kind=dp), | intent(in), | optional | :: | rtol |
The optional relative tolerance, default 1e-10 |
Return an n x n identity matrix
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n |
Returns the unique elements of arr
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | arr(:) |
Remove all instances of the value val from the array arr
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | allocatable | :: | arr(:) | ||
| integer, | intent(in) | :: | val |
Sort the array vals and return the permutation indices
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | vals(:) | |||
| integer, | intent(out) | :: | idx(:) |