![]() |
(git:7fc1fe1)
|
Matrix algebra for analytic k derivatives through fifth order. More...
Functions/Subroutines | |
| integer function, public | nlo_derivative_count (grade) |
| Number of Cartesian Taylor coefficients through the given total grade. | |
| subroutine, public | nlo_derivative_indices (alpha) |
| Enumerate the 56 three-dimensional multi-indices through total order five. | |
| subroutine, public | nlo_derivative_product (alpha, left, right, product, active_grade) |
| Apply the product rule to two arrays of normalized matrix k derivatives. | |
| subroutine, public | nlo_lowdin_derivatives (overlap, inverse_root, active_grade) |
| Solve X(k) S(k) X(k)=I analytically through fifth Cartesian order. | |
| subroutine, public | nlo_orthonormal_operator_derivatives (overlap, hamiltonian, moment, orth_h, connection, active_grade) |
| Express H and the AO position matrix in an orthonormal AO basis. | |
| subroutine, public | nlo_equilibrium_density_derivatives (energies, occupied, hamiltonian, rho0, active_grade) |
| Derivatives of the equilibrium density matrix for filled Kohn-Sham bands. | |
| integer function, public | derivatives_index (alpha, sought) |
| Find the Taylor coefficient for the requested (x,y,z) derivative counts. | |
Variables | |
| integer, parameter, public | nlo_max_derivatives_order = 5 |
| integer, parameter, public | nlo_n_derivatives = 56 |
Matrix algebra for analytic k derivatives through fifth order.
| integer function, public nlo_derivatives::nlo_derivative_count | ( | integer, intent(in) | grade | ) |
Number of Cartesian Taylor coefficients through the given total grade.
| grade | Highest total derivative grade, from zero through five. |
Definition at line 43 of file nlo_derivatives.F.
| subroutine, public nlo_derivatives::nlo_derivative_indices | ( | integer, dimension(3, nlo_n_derivatives), intent(out) | alpha | ) |
Enumerate the 56 three-dimensional multi-indices through total order five.
| alpha | Cartesian derivative counts (α_x, α_y, α_z) for each Taylor coefficient. |
Definition at line 58 of file nlo_derivatives.F.
| subroutine, public nlo_derivatives::nlo_derivative_product | ( | integer, dimension(3, nlo_n_derivatives), intent(in) | alpha, |
| complex(dp), dimension(:, :, :), intent(in) | left, | ||
| complex(dp), dimension(:, :, :), intent(in) | right, | ||
| complex(dp), dimension(:, :, :), intent(out) | product, | ||
| integer, intent(in), optional | active_grade ) |
Apply the product rule to two arrays of normalized matrix k derivatives.
| alpha | Cartesian derivative counts (α_x, α_y, α_z) for each Taylor coefficient. |
| left | Normalized Taylor coefficients of the left matrix factor. |
| right | Normalized Taylor coefficients of the right matrix factor. |
| product | Normalized Taylor coefficients of the matrix product. |
| active_grade | Highest total derivative grade to compute; omit for all five grades. |
Definition at line 83 of file nlo_derivatives.F.
| subroutine, public nlo_derivatives::nlo_lowdin_derivatives | ( | complex(dp), dimension(:, :, :), intent(in) | overlap, |
| complex(dp), dimension(:, :, :), intent(out) | inverse_root, | ||
| integer, intent(in), optional | active_grade ) |
Solve X(k) S(k) X(k)=I analytically through fifth Cartesian order.
| overlap | Normalized Taylor coefficients of S; leading coefficient Hermitian positive |
| inverse_root | Normalized Taylor coefficients of S**(-1/2) |
| active_grade | Highest total derivative grade to compute; omit for all five grades. |
Definition at line 119 of file nlo_derivatives.F.
| subroutine, public nlo_derivatives::nlo_orthonormal_operator_derivatives | ( | complex(dp), dimension(:, :, :), intent(in) | overlap, |
| complex(dp), dimension(:, :, :), intent(in) | hamiltonian, | ||
| complex(dp), dimension(:, :, :, :), intent(in) | moment, | ||
| complex(dp), dimension(:, :, :), intent(out) | orth_h, | ||
| complex(dp), dimension(:, :, :, :), intent(out) | connection, | ||
| integer, intent(in), optional | active_grade ) |
Express H and the AO position matrix in an orthonormal AO basis.
| overlap | Normalized Taylor coefficients of the AO overlap S(k). |
| hamiltonian | Normalized Taylor coefficients of the AO Hamiltonian H(k). |
| moment | Normalized Taylor coefficients of the AO position matrices d_a(k). |
| orth_h | Normalized Taylor coefficients of the orthogonal Hamiltonian. |
| connection | Normalized Taylor coefficients of the orthogonal position connection. |
| active_grade | Highest total derivative grade to compute; omit for all five grades. |
Definition at line 215 of file nlo_derivatives.F.
| subroutine, public nlo_derivatives::nlo_equilibrium_density_derivatives | ( | real(kind=dp), dimension(:), intent(in) | energies, |
| integer, dimension(:), intent(in) | occupied, | ||
| complex(dp), dimension(:, :, :), intent(in) | hamiltonian, | ||
| complex(dp), dimension(:, :, :), intent(out) | rho0, | ||
| integer, intent(in), optional | active_grade ) |
Derivatives of the equilibrium density matrix for filled Kohn-Sham bands.
| energies | Band energies ε_m at the central k point. |
| occupied | Unit occupation flags for the bands at the central k point. |
| hamiltonian | Normalized Taylor coefficients of the AO Hamiltonian H(k). |
| rho0 | Normalized Taylor coefficients of the equilibrium density matrix. |
| active_grade | Highest total derivative grade to compute; omit for all five grades. |
Definition at line 337 of file nlo_derivatives.F.
| integer function, public nlo_derivatives::derivatives_index | ( | integer, dimension(3, nlo_n_derivatives), intent(in) | alpha, |
| integer, dimension(3), intent(in) | sought ) |
Find the Taylor coefficient for the requested (x,y,z) derivative counts.
| alpha | Cartesian derivative counts (α_x, α_y, α_z) for each Taylor coefficient. |
| sought | Requested Cartesian derivative counts; negative counts return zero. |
Definition at line 438 of file nlo_derivatives.F.
| integer, parameter, public nlo_derivatives::nlo_max_derivatives_order = 5 |
Definition at line 29 of file nlo_derivatives.F.
| integer, parameter, public nlo_derivatives::nlo_n_derivatives = 56 |
Definition at line 29 of file nlo_derivatives.F.