orthogonal_transform Subroutine

public subroutine orthogonal_transform(trans, ld, u, a, b, wrk)

Uses

  • proc~~orthogonal_transform~~UsesGraph proc~orthogonal_transform orthogonal_transform module~messages messages proc~orthogonal_transform->module~messages comm_IOFILE comm_IOFILE module~messages->comm_IOFILE comm_PAR comm_PAR module~messages->comm_PAR module~io_constants io_constants module~messages->module~io_constants module~precision precision module~messages->module~precision iso_fortran_env iso_fortran_env module~precision->iso_fortran_env

@brief Compute orthogonal transformation of a square marix @param[in] trans If trans='n' compute B = U^T * A * U If trans='t' compute B = U * A * U^T @param[in] ld Dimension of matrices @param[in] u Square orthogonal matrix @param[inout] a Matrix to transform, optionally output matrix @param[out] b Result, can be absent for in-place transform of matrix A @param[inout] wrk Scratch space, optional @author Vladimir Mironov

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: trans
integer :: ld
real(kind=dp), intent(in) :: u(*)
real(kind=dp), intent(in) :: a(*)
real(kind=dp), intent(out), optional :: b(*)
real(kind=dp), intent(inout), optional, target :: wrk(*)

Calls

proc~~orthogonal_transform~~CallsGraph proc~orthogonal_transform orthogonal_transform interface~show_message show_message proc~orthogonal_transform->interface~show_message proc~oqp_dgemm_i64 oqp_dgemm_i64 proc~orthogonal_transform->proc~oqp_dgemm_i64 proc~oqp_dgemm_i64->interface~show_message dgemm dgemm proc~oqp_dgemm_i64->dgemm

Called by

proc~~orthogonal_transform~~CalledByGraph proc~orthogonal_transform orthogonal_transform proc~get_ab_initio_orbital get_ab_initio_orbital proc~get_ab_initio_orbital->proc~orthogonal_transform proc~get_td_transition_dipole get_td_transition_dipole proc~get_td_transition_dipole->proc~orthogonal_transform proc~get_transition_dipole get_transition_dipole proc~get_transition_dipole->proc~orthogonal_transform proc~oqp_tdhf_z_vector oqp_tdhf_z_vector proc~oqp_tdhf_z_vector->proc~orthogonal_transform proc~tdhf_unrelaxed_density tdhf_unrelaxed_density proc~oqp_tdhf_z_vector->proc~tdhf_unrelaxed_density proc~sfdmat sfdmat proc~sfdmat->proc~orthogonal_transform proc~tdhf_energy tdhf_energy proc~tdhf_energy->proc~orthogonal_transform proc~tdhf_energy->proc~get_td_transition_dipole proc~tdhf_gradient tdhf_gradient proc~tdhf_gradient->proc~orthogonal_transform proc~tdhf_mrsf_energy tdhf_mrsf_energy proc~tdhf_mrsf_energy->proc~orthogonal_transform proc~tdhf_mrsf_energy->proc~get_transition_dipole proc~tdhf_unrelaxed_density->proc~orthogonal_transform proc~guess_hcore guess_hcore proc~guess_hcore->proc~get_ab_initio_orbital proc~scf_driver scf_driver proc~scf_driver->proc~get_ab_initio_orbital proc~tdhf_energy_c tdhf_energy_C proc~tdhf_energy_c->proc~tdhf_energy proc~tdhf_gradient_c tdhf_gradient_C proc~tdhf_gradient_c->proc~tdhf_gradient proc~tdhf_mrsf_energy_c tdhf_mrsf_energy_C proc~tdhf_mrsf_energy_c->proc~tdhf_mrsf_energy proc~tdhf_sf_energy tdhf_sf_energy proc~tdhf_sf_energy->proc~get_transition_dipole proc~tdhf_sf_energy->proc~sfdmat proc~tdhf_z_vector_c tdhf_z_vector_C proc~tdhf_z_vector_c->proc~oqp_tdhf_z_vector proc~guess_hcore_c guess_hcore_C proc~guess_hcore_c->proc~guess_hcore proc~hf_energy hf_energy proc~hf_energy->proc~scf_driver proc~tdhf_sf_energy_c tdhf_sf_energy_C proc~tdhf_sf_energy_c->proc~tdhf_sf_energy