symmetrize_matrix Subroutine

public subroutine symmetrize_matrix(a, n)

Uses

  • proc~~symmetrize_matrix~~UsesGraph proc~symmetrize_matrix symmetrize_matrix module~precision precision proc~symmetrize_matrix->module~precision iso_fortran_env iso_fortran_env module~precision->iso_fortran_env

@brief Compute A = A + A^T of a square matrix @param[inout] a square NxN matrix @param[in] n matrix dimension

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: a(n,*)
integer, intent(in) :: n

Called by

proc~~symmetrize_matrix~~CalledByGraph proc~symmetrize_matrix symmetrize_matrix proc~get_spin_square get_spin_square proc~get_spin_square->proc~symmetrize_matrix proc~get_td_transition_dipole get_td_transition_dipole proc~get_td_transition_dipole->proc~symmetrize_matrix proc~get_transition_dipole get_transition_dipole proc~get_transition_dipole->proc~symmetrize_matrix proc~int2_td_data_t_parallel_stop int2_td_data_t%int2_td_data_t_parallel_stop proc~int2_td_data_t_parallel_stop->proc~symmetrize_matrix proc~oqp_tdhf_z_vector oqp_tdhf_z_vector proc~oqp_tdhf_z_vector->proc~symmetrize_matrix proc~symmetrize_matrices symmetrize_matrices proc~symmetrize_matrices->proc~symmetrize_matrix proc~tdhf_energy tdhf_energy proc~tdhf_energy->proc~symmetrize_matrix proc~tdhf_energy->proc~get_td_transition_dipole proc~tdhf_gradient tdhf_gradient proc~tdhf_gradient->proc~symmetrize_matrix proc~int2_rpagrd_data_t_parallel_stop int2_rpagrd_data_t%int2_rpagrd_data_t_parallel_stop proc~int2_rpagrd_data_t_parallel_stop->proc~symmetrize_matrices 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 tdhf_mrsf_energy proc~tdhf_mrsf_energy->proc~get_transition_dipole proc~tdhf_sf_energy tdhf_sf_energy proc~tdhf_sf_energy->proc~get_spin_square proc~tdhf_sf_energy->proc~get_transition_dipole proc~tdhf_z_vector_c tdhf_z_vector_C proc~tdhf_z_vector_c->proc~oqp_tdhf_z_vector proc~tdhf_mrsf_energy_c tdhf_mrsf_energy_C proc~tdhf_mrsf_energy_c->proc~tdhf_mrsf_energy proc~tdhf_sf_energy_c tdhf_sf_energy_C proc~tdhf_sf_energy_c->proc~tdhf_sf_energy

Source Code

  subroutine symmetrize_matrix(a,n)
    use precision, only: dp
    real(kind=dp), intent(inout) :: a(n,*)
    integer, intent(in) :: n
    integer :: i
    do i = 1, n
      a(i:n,i) = a(i:n,i) + a(i,i:n)
      a(1:i-1,i) = a(i,1:i-1)
    end do
  end subroutine symmetrize_matrix