utility_inverse_mat Subroutine

public subroutine utility_inverse_mat(a, b)

Return in b int inverse of a. Uses utility_inv3

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: a(3,3)
real(kind=dp), intent(out) :: b(3,3)

Calls

proc~~utility_inverse_mat~~CallsGraph proc~utility_inverse_mat utility_inverse_mat proc~utility_inv3 utility_inv3 proc~utility_inverse_mat->proc~utility_inv3

Called by

proc~~utility_inverse_mat~~CalledByGraph proc~utility_inverse_mat utility_inverse_mat proc~hamiltonian_get_hr hamiltonian_get_hr proc~hamiltonian_get_hr->proc~utility_inverse_mat proc~kmesh_get kmesh_get proc~kmesh_get->proc~utility_inverse_mat proc~plot_wannier plot_wannier proc~plot_wannier->proc~utility_inverse_mat proc~pw90common_fourier_r_to_k_new_second_d_tb_conv pw90common_fourier_R_to_k_new_second_d_TB_conv proc~pw90common_fourier_r_to_k_new_second_d_tb_conv->proc~utility_inverse_mat proc~pw90common_fourier_r_to_k_vec_dadb_tb_conv pw90common_fourier_R_to_k_vec_dadb_TB_conv proc~pw90common_fourier_r_to_k_vec_dadb_tb_conv->proc~utility_inverse_mat proc~readwrite_get_atoms readwrite_get_atoms proc~readwrite_get_atoms->proc~utility_inverse_mat proc~w90_postw90_readwrite_write w90_postw90_readwrite_write proc~w90_postw90_readwrite_write->proc~utility_inverse_mat proc~w90_wannier90_readwrite_read_special w90_wannier90_readwrite_read_special proc~w90_wannier90_readwrite_read_special->proc~utility_inverse_mat proc~w90_readwrite_read_atoms w90_readwrite_read_atoms proc~w90_wannier90_readwrite_read_special->proc~w90_readwrite_read_atoms proc~w90_wannier90_readwrite_write w90_wannier90_readwrite_write proc~w90_wannier90_readwrite_write->proc~utility_inverse_mat proc~ws_translate_dist ws_translate_dist proc~ws_translate_dist->proc~utility_inverse_mat proc~berry_get_sc_klist berry_get_sc_klist proc~berry_get_sc_klist->proc~pw90common_fourier_r_to_k_vec_dadb_tb_conv proc~wham_get_eig_uu_hh_aa_sc_tb_conv wham_get_eig_UU_HH_AA_sc_TB_conv proc~berry_get_sc_klist->proc~wham_get_eig_uu_hh_aa_sc_tb_conv proc~input_reader_special input_reader_special proc~input_reader_special->proc~w90_wannier90_readwrite_read_special proc~plot_interpolate_bands plot_interpolate_bands proc~plot_interpolate_bands->proc~ws_translate_dist proc~plot_main plot_main proc~plot_main->proc~hamiltonian_get_hr proc~plot_main->proc~plot_wannier proc~plot_main->proc~ws_translate_dist proc~plot_main->proc~plot_interpolate_bands proc~pw90common_wanint_setup pw90common_wanint_setup proc~pw90common_wanint_setup->proc~ws_translate_dist proc~tran_main tran_main proc~tran_main->proc~hamiltonian_get_hr proc~w90_create_kmesh w90_create_kmesh proc~w90_create_kmesh->proc~kmesh_get proc~w90_input_setopt w90_input_setopt proc~w90_input_setopt->proc~w90_wannier90_readwrite_read_special proc~w90_print_info~2 w90_print_info proc~w90_print_info~2->proc~w90_wannier90_readwrite_write proc~w90_readwrite_read_atoms->proc~readwrite_get_atoms proc~wham_get_eig_uu_hh_aa_sc_tb_conv->proc~pw90common_fourier_r_to_k_new_second_d_tb_conv program~postw90 postw90 program~postw90->proc~kmesh_get program~postw90->proc~w90_postw90_readwrite_write program~postw90->proc~pw90common_wanint_setup proc~berry_main berry_main program~postw90->proc~berry_main proc~w90_postw90_readwrite_read w90_postw90_readwrite_read program~postw90->proc~w90_postw90_readwrite_read proc~berry_main->proc~berry_get_sc_klist proc~w90_get_gkpb~2 w90_get_gkpb proc~w90_get_gkpb~2->proc~w90_create_kmesh proc~w90_get_nnkp~2 w90_get_nnkp proc~w90_get_nnkp~2->proc~w90_create_kmesh proc~w90_get_nn~2 w90_get_nn proc~w90_get_nn~2->proc~w90_create_kmesh proc~w90_input_setopt_f w90_input_setopt_f proc~w90_input_setopt_f->proc~w90_input_setopt proc~w90_plot w90_plot proc~w90_plot->proc~plot_main proc~w90_postw90_readwrite_read->proc~w90_readwrite_read_atoms proc~w90_print_info w90_print_info proc~w90_print_info->proc~w90_print_info~2 proc~w90_transport w90_transport proc~w90_transport->proc~tran_main proc~write_kmesh write_kmesh proc~write_kmesh->proc~w90_create_kmesh program~wannier wannier program~wannier->proc~input_reader_special program~wannier->proc~w90_print_info~2 program~wannier->proc~w90_get_nn~2 program~wannier->proc~w90_plot program~wannier->proc~w90_transport program~wannier->proc~write_kmesh proc~w90_get_gkpb w90_get_gkpb proc~w90_get_gkpb->proc~w90_get_gkpb~2 proc~w90_get_nn w90_get_nn proc~w90_get_nn->proc~w90_get_nn~2 proc~w90_get_nnkp w90_get_nnkp proc~w90_get_nnkp->proc~w90_get_nnkp~2

Source Code

  subroutine utility_inverse_mat(a, b)
    !================================================!
    !
    !! Return in b int inverse of a. Uses utility_inv3
    !
    !================================================

    implicit none
    real(kind=dp), intent(in)  :: a(3, 3)
    real(kind=dp), intent(out) :: b(3, 3)

    real(kind=dp) :: det

    call utility_inv3(a, b, det)
    b = b/det

    return

  end subroutine utility_inverse_mat