mod_linalg
Lines: 820 |
Visibility: private
Linear algebra functions including easy-to-use interfaces to BLAS and
LAPACK.
author: Jonas Finkler, Moritz R. Schaefer, Marco Eckhoff, Gunnar Schmitz
Dependencies
Uses
module~~mod_linalg~~UsesGraph
module~mod_linalg
mod_linalg
module~cublas_wrapper
cublas_wrapper
module~mod_linalg->module~cublas_wrapper
module~mod_precision
mod_precision
module~mod_linalg->module~mod_precision
module~mod_settings
mod_settings
module~mod_linalg->module~mod_settings
module~mod_throw
mod_throw
module~mod_linalg->module~mod_throw
module~cublas_wrapper->module~mod_settings
iso_c_binding
iso_c_binding
module~cublas_wrapper->iso_c_binding
module~mod_precision->iso_c_binding
iso_fortran_env
iso_fortran_env
module~mod_precision->iso_fortran_env
module~mod_settings->module~mod_precision
module~mod_settings->module~mod_throw
module~mod_constants
mod_constants
module~mod_settings->module~mod_constants
module~mod_cpu_vendor
mod_cpu_vendor
module~mod_settings->module~mod_cpu_vendor
module~mod_io
mod_io
module~mod_settings->module~mod_io
module~mod_periodic_table
mod_periodic_table
module~mod_settings->module~mod_periodic_table
module~mod_throw->module~mod_precision
module~mod_throw->iso_c_binding
module~mod_throw->iso_fortran_env
module~mod_throw->module~mod_io
module~mod_mpi
mod_mpi
module~mod_throw->module~mod_mpi
module~mod_sort
mod_sort
module~mod_throw->module~mod_sort
module~mod_constants->module~mod_precision
module~mod_constants->iso_c_binding
module~mod_cpu_vendor->iso_c_binding
module~mod_io->module~mod_precision
module~mod_io->iso_fortran_env
module~mod_optional_args
mod_optional_args
module~mod_io->module~mod_optional_args
module~mod_mpi->module~mod_precision
mpi_f08
mpi_f08
module~mod_mpi->mpi_f08
module~mod_periodic_table->module~mod_precision
module~mod_periodic_table->module~mod_throw
module~mod_periodic_table->module~mod_constants
module~mod_periodic_table->module~mod_io
module~mod_array_helpers
mod_array_helpers
module~mod_periodic_table->module~mod_array_helpers
module~mod_sort->module~mod_precision
module~mod_array_helpers->module~mod_precision
module~mod_array_helpers->module~mod_throw
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Used By
module~~mod_linalg~~UsedByGraph
module~mod_linalg
mod_linalg
module~mod_abstract_kalman_filter
mod_abstract_kalman_filter
module~mod_abstract_kalman_filter->module~mod_linalg
module~mod_cross_matrix
mod_cross_matrix
module~mod_cross_matrix->module~mod_linalg
module~mod_dataset_statistics
mod_dataset_statistics
module~mod_dataset_statistics->module~mod_linalg
module~mod_structures
mod_structures
module~mod_dataset_statistics->module~mod_structures
module~mod_training_charge_equilibration
mod_training_charge_equilibration
module~mod_dataset_statistics->module~mod_training_charge_equilibration
module~mod_dataloader_file
mod_dataloader_file
module~mod_dataset_statistics->module~mod_dataloader_file
module~mod_feature_calculator
mod_feature_calculator
module~mod_dataset_statistics->module~mod_feature_calculator
module~mod_dense_layer
mod_dense_layer
module~mod_dense_layer->module~mod_linalg
module~mod_dense_layer_with_single_activations
mod_dense_layer_with_single_activations
module~mod_dense_layer_with_single_activations->module~mod_linalg
module~mod_dense_layer_with_single_activations->module~mod_dense_layer
module~mod_direct_charge_equilibration
mod_direct_charge_equilibration
module~mod_direct_charge_equilibration->module~mod_linalg
module~mod_abstract_charge_equilibration
mod_abstract_charge_equilibration
module~mod_direct_charge_equilibration->module~mod_abstract_charge_equilibration
module~mod_abstract_electrostatics
mod_abstract_electrostatics
module~mod_direct_charge_equilibration->module~mod_abstract_electrostatics
module~mod_ewald_summation
mod_ewald_summation
module~mod_ewald_summation->module~mod_linalg
module~mod_neighborlist_helper
mod_neighborlist_helper
module~mod_ewald_summation->module~mod_neighborlist_helper
module~mod_outer_product
mod_outer_product
module~mod_ewald_summation->module~mod_outer_product
module~mod_ewald_summation->module~mod_abstract_electrostatics
module~mod_neighbor_grid
mod_neighbor_grid
module~mod_ewald_summation->module~mod_neighbor_grid
module~mod_pair_electrostatics
mod_pair_electrostatics
module~mod_ewald_summation->module~mod_pair_electrostatics
module~mod_fft_potential
mod_fft_potential
module~mod_fft_potential->module~mod_linalg
module~mod_fft_potential->module~mod_neighborlist_helper
module~mod_structures_helper
mod_structures_helper
module~mod_fft_potential->module~mod_structures_helper
module~mod_neighborlist_helper->module~mod_linalg
module~mod_outer_product->module~mod_linalg
module~mod_pppm
mod_pppm
module~mod_pppm->module~mod_linalg
module~mod_pppm->module~mod_ewald_summation
module~mod_pppm->module~mod_outer_product
module~mod_pppm->module~mod_abstract_electrostatics
module~mod_pppm->module~mod_neighbor_grid
module~mod_pw
mod_pw
module~mod_pppm->module~mod_pw
module~mod_pppm->module~mod_pair_electrostatics
module~mod_structures->module~mod_linalg
module~mod_structures->module~mod_structures_helper
module~mod_structures_helper->module~mod_linalg
module~mod_training_charge_equilibration->module~mod_linalg
module~mod_training_charge_equilibration->module~mod_cross_matrix
module~mod_training_charge_equilibration->module~mod_ewald_summation
module~mod_training_charge_equilibration->module~mod_structures
module~mod_training_charge_equilibration->module~mod_abstract_electrostatics
module~mod_training_charge_equilibration->module~mod_pair_electrostatics
module~sqnm
sqnm
module~sqnm->module~mod_linalg
proc~calc_lambda_q_derivatives
mod_pw::PwCalculator%calc_lambda_q_derivatives
proc~calc_lambda_q_derivatives->module~mod_linalg
proc~calc_pw_energy
mod_fft_potential::PWPotCalculator%calc_pw_energy
proc~calc_pw_energy->module~mod_linalg
proc~calc_pw_stress
mod_fft_potential::PWPotCalculator%calc_pw_stress
proc~calc_pw_stress->module~mod_linalg
proc~rho_to_grid_grid
mod_fft_potential::PWPotCalculator%rho_to_grid_grid
proc~rho_to_grid_grid->module~mod_linalg
module~mod_abstract_angular_symmetry_function
mod_abstract_angular_symmetry_function
module~mod_abstract_angular_symmetry_function->module~mod_structures
module~mod_abstract_symmetry_function
mod_abstract_symmetry_function
module~mod_abstract_angular_symmetry_function->module~mod_abstract_symmetry_function
module~mod_feature_map_neighborlist
mod_feature_map_neighborlist
module~mod_abstract_angular_symmetry_function->module~mod_feature_map_neighborlist
module~mod_abstract_charge_equilibration->module~mod_structures
module~mod_abstract_charge_equilibration->module~mod_abstract_electrostatics
module~mod_abstract_electrostatics->module~mod_structures
module~mod_abstract_radial_symmetry_function
mod_abstract_radial_symmetry_function
module~mod_abstract_radial_symmetry_function->module~mod_structures
module~mod_abstract_radial_symmetry_function->module~mod_abstract_symmetry_function
module~mod_abstract_radial_symmetry_function->module~mod_feature_map_neighborlist
module~mod_abstract_structure_data_file
mod_abstract_structure_data_file
module~mod_abstract_structure_data_file->module~mod_structures
module~mod_abstract_symmetry_function->module~mod_structures
module~mod_feature_map
mod_feature_map
module~mod_abstract_symmetry_function->module~mod_feature_map
module~mod_abstract_symmetry_function->module~mod_feature_map_neighborlist
module~mod_electric_field_prefactor
mod_electric_field_prefactor
module~mod_abstract_symmetry_function->module~mod_electric_field_prefactor
module~mod_spin_prefactor
mod_spin_prefactor
module~mod_abstract_symmetry_function->module~mod_spin_prefactor
module~mod_analyse_a_prime_matrix_eigenvalues
mod_analyse_a_prime_matrix_eigenvalues
module~mod_analyse_a_prime_matrix_eigenvalues->module~mod_direct_charge_equilibration
module~mod_analyse_a_prime_matrix_eigenvalues->module~mod_structures
module~mod_analyse_a_prime_matrix_eigenvalues->module~mod_abstract_electrostatics
module~mod_analyse_a_prime_matrix_eigenvalues->module~mod_pair_electrostatics
module~mod_angular_symmetry_function_3
mod_angular_symmetry_function_3
module~mod_angular_symmetry_function_3->module~mod_structures
module~mod_angular_symmetry_function_3->module~mod_abstract_angular_symmetry_function
module~mod_angular_symmetry_function_3->module~mod_abstract_symmetry_function
module~mod_angular_symmetry_function_3->module~mod_feature_map
module~mod_angular_symmetry_function_3->module~mod_feature_map_neighborlist
module~mod_angular_symmetry_function_8
mod_angular_symmetry_function_8
module~mod_angular_symmetry_function_8->module~mod_structures
module~mod_angular_symmetry_function_8->module~mod_abstract_angular_symmetry_function
module~mod_angular_symmetry_function_8->module~mod_abstract_symmetry_function
module~mod_angular_symmetry_function_8->module~mod_feature_map
module~mod_angular_symmetry_function_8->module~mod_feature_map_neighborlist
module~mod_angular_symmetry_function_9
mod_angular_symmetry_function_9
module~mod_angular_symmetry_function_9->module~mod_structures
module~mod_angular_symmetry_function_9->module~mod_abstract_angular_symmetry_function
module~mod_angular_symmetry_function_9->module~mod_abstract_symmetry_function
module~mod_angular_symmetry_function_9->module~mod_feature_map
module~mod_angular_symmetry_function_9->module~mod_feature_map_neighborlist
module~mod_atomic_descriptor
mod_atomic_descriptor
module~mod_atomic_descriptor->module~mod_structures
module~mod_element
mod_element
module~mod_atomic_descriptor->module~mod_element
module~mod_calc_screening
mod_calc_screening
module~mod_calc_screening->module~mod_structures
module~mod_calc_screening->module~mod_feature_map_neighborlist
module~mod_calculate_coulomb_matrix
mod_calculate_coulomb_matrix
module~mod_calculate_coulomb_matrix->module~mod_training_charge_equilibration
module~mod_calculate_coulomb_matrix->module~mod_dataloader_file
module~mod_dataloader_file->module~mod_structures
module~mod_dataloader_file->module~mod_abstract_structure_data_file
module~mod_dataloader_file->module~mod_feature_calculator
module~mod_dataloader_file->module~mod_feature_map_neighborlist
module~mod_memory_estimation
mod_memory_estimation
module~mod_dataloader_file->module~mod_memory_estimation
module~mod_dataset_statistics_chi_all_chunks
mod_dataset_statistics_chi_all_chunks
module~mod_dataset_statistics_chi_all_chunks->module~mod_dataset_statistics
module~mod_dataset_statistics_chi_all_chunks->module~mod_training_charge_equilibration
module~mod_dataset_statistics_chi_all_chunks->module~mod_dataloader_file
module~mod_dataset_statistics_chi_all_chunks->module~mod_feature_calculator
module~mod_ee4g_feature_calculator
mod_ee4g_feature_calculator
module~mod_ee4g_feature_calculator->module~mod_outer_product
module~mod_ee4g_feature_calculator->module~mod_structures
module~mod_ee4g_feature_calculator->module~mod_feature_map_neighborlist
module~mod_global_feature_calculator
mod_global_feature_calculator
module~mod_ee4g_feature_calculator->module~mod_global_feature_calculator
module~mod_evaluate_4g_single_structure
mod_evaluate_4g_single_structure
module~mod_evaluate_4g_single_structure->module~mod_structures
module~mod_evaluate_4g_single_structure->module~mod_structures_helper
module~mod_evaluate_4g_single_structure->module~mod_abstract_charge_equilibration
module~mod_evaluate_4g_single_structure->module~mod_ee4g_feature_calculator
module~mod_evaluate_4g_single_structure->module~mod_feature_calculator
module~mod_evaluate_4g_single_structure->module~mod_feature_map_neighborlist
module~mod_chain_features
mod_chain_features
module~mod_evaluate_4g_single_structure->module~mod_chain_features
module~mod_feature_calculator->module~mod_structures
module~mod_feature_calculator->module~mod_angular_symmetry_function_3
module~mod_feature_calculator->module~mod_angular_symmetry_function_8
module~mod_feature_calculator->module~mod_angular_symmetry_function_9
module~mod_feature_calculator->module~mod_atomic_descriptor
module~mod_feature_calculator->module~mod_feature_map
module~mod_feature_calculator->module~mod_feature_map_neighborlist
module~mod_overlap_matrix
mod_overlap_matrix
module~mod_feature_calculator->module~mod_overlap_matrix
module~mod_radial_symmetry_function_1
mod_radial_symmetry_function_1
module~mod_feature_calculator->module~mod_radial_symmetry_function_1
module~mod_radial_symmetry_function_2
mod_radial_symmetry_function_2
module~mod_feature_calculator->module~mod_radial_symmetry_function_2
module~mod_feature_calculator->module~mod_element
module~mod_feature_calculator_statistics
mod_feature_calculator_statistics
module~mod_feature_calculator_statistics->module~mod_structures
module~mod_feature_calculator_statistics->module~mod_feature_calculator
module~mod_feature_calculator_statistics->module~mod_feature_map_neighborlist
module~mod_scalingdata
mod_scalingdata
module~mod_feature_calculator_statistics->module~mod_scalingdata
module~mod_feature_map->module~mod_structures
module~mod_feature_map->module~mod_feature_map_neighborlist
module~mod_feature_map_neighborlist->module~mod_structures
module~mod_neighborlist
mod_neighborlist
module~mod_feature_map_neighborlist->module~mod_neighborlist
module~mod_feature_map_scaling_all_chunks
mod_feature_map_scaling_all_chunks
module~mod_feature_map_scaling_all_chunks->module~mod_structures
module~mod_feature_map_scaling_all_chunks->module~mod_dataloader_file
module~mod_feature_map_scaling_all_chunks->module~mod_ee4g_feature_calculator
module~mod_feature_map_scaling_all_chunks->module~mod_feature_calculator
module~mod_feature_map_scaling_all_chunks->module~mod_feature_calculator_statistics
module~mod_feature_map_scaling_all_chunks->module~mod_global_feature_calculator
module~mod_prediction_statistics
mod_prediction_statistics
module~mod_feature_map_scaling_all_chunks->module~mod_prediction_statistics
module~mod_qeq_feature_calculator
mod_qeq_feature_calculator
module~mod_feature_map_scaling_all_chunks->module~mod_qeq_feature_calculator
module~mod_structure_batch_iterator
mod_structure_batch_iterator
module~mod_feature_map_scaling_all_chunks->module~mod_structure_batch_iterator
module~mod_precalc_nl_deriv_features_single_chunk
mod_precalc_nl_deriv_features_single_chunk
module~mod_feature_map_scaling_all_chunks->module~mod_precalc_nl_deriv_features_single_chunk
module~mod_generic_interface
mod_generic_interface
module~mod_generic_interface->module~mod_structures
module~mod_generic_interface->module~mod_feature_map_neighborlist
module~mod_predict_single_structure
mod_predict_single_structure
module~mod_generic_interface->module~mod_predict_single_structure
module~mod_runner_interface
mod_runner_interface
module~mod_generic_interface->module~mod_runner_interface
module~mod_global_feature_calculator->module~mod_structures
module~mod_global_feature_calculator->module~mod_training_charge_equilibration
module~mod_global_features_helper
mod_global_features_helper
module~mod_global_features_helper->module~mod_structures
module~mod_global_features_helper->module~mod_feature_calculator
module~mod_global_features_helper->module~mod_global_feature_calculator
module~mod_initialize
mod_initialize
module~mod_initialize->module~mod_direct_charge_equilibration
module~mod_initialize->module~mod_ewald_summation
module~mod_initialize->module~mod_pppm
module~mod_initialize->module~mod_abstract_charge_equilibration
module~mod_initialize->module~mod_abstract_electrostatics
module~mod_initialize->module~mod_ee4g_feature_calculator
module~mod_initialize->module~mod_feature_calculator
module~mod_iterative_charge_equilibration_sqnm
mod_iterative_charge_equilibration_sqnm
module~mod_initialize->module~mod_iterative_charge_equilibration_sqnm
module~mod_initialize->module~mod_pw
module~mod_initialize->module~mod_qeq_feature_calculator
module~mod_two_body
mod_two_body
module~mod_initialize->module~mod_two_body
module~mod_initialize->module~mod_element
module~mod_hirshfeld_vdw
mod_hirshfeld_vdw
module~mod_initialize->module~mod_hirshfeld_vdw
module~mod_optimizers
mod_optimizers
module~mod_initialize->module~mod_optimizers
module~mod_initialize->module~mod_pair_electrostatics
module~mod_hdnn
mod_hdnn
module~mod_initialize->module~mod_hdnn
module~mod_iterative_charge_equilibration_cg
mod_iterative_charge_equilibration_cg
module~mod_initialize->module~mod_iterative_charge_equilibration_cg
module~mod_inputdata
mod_inputdata
module~mod_inputdata->module~mod_structures
module~mod_inputdata->module~mod_structures_helper
module~mod_inputdata->module~mod_abstract_structure_data_file
module~mod_inputdata->module~mod_neighbor_grid
module~mod_iterative_charge_equilibration_sqnm->module~sqnm
module~mod_abstract_iterative_charge_equilibration
mod_abstract_iterative_charge_equilibration
module~mod_iterative_charge_equilibration_sqnm->module~mod_abstract_iterative_charge_equilibration
module~mod_kalman_filter
mod_kalman_filter
module~mod_kalman_filter->module~mod_abstract_kalman_filter
module~mod_kalman_filter_std
mod_kalman_filter_std
module~mod_kalman_filter_std->module~mod_abstract_kalman_filter
module~mod_lammps_interface
mod_lammps_interface
module~mod_lammps_interface->module~mod_structures
module~mod_lammps_interface->module~mod_feature_map_neighborlist
module~mod_lammps_interface->module~mod_runner_interface
module~mod_runner_interface_bindings
mod_runner_interface_bindings
module~mod_lammps_interface->module~mod_runner_interface_bindings
module~mod_layers
mod_layers
module~mod_layers->module~mod_dense_layer
module~mod_layers->module~mod_dense_layer_with_single_activations
module~mod_memory_estimation->module~mod_structures
module~mod_memory_estimation->module~mod_feature_calculator
module~mod_memory_estimation->module~mod_feature_map_neighborlist
module~mod_neighbor_grid->module~mod_neighborlist_helper
module~mod_neighbor_grid->module~mod_structures_helper
module~mod_neighborlist->module~mod_neighborlist_helper
module~mod_neighborlist->module~mod_structures
module~mod_neighborlist->module~mod_neighbor_grid
module~mod_output_files_and_cost_4g_charges
mod_output_files_and_cost_4g_charges
module~mod_output_files_and_cost_4g_charges->module~mod_training_charge_equilibration
module~mod_output_files_and_cost_4g_charges->module~mod_dataloader_file
module~mod_output_files_and_cost_4g_charges->module~mod_feature_calculator
module~mod_predict_4g_charges_training_qeq_multiple_structures
mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_output_files_and_cost_4g_charges->module~mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_cost_calculator
mod_cost_calculator
module~mod_output_files_and_cost_4g_charges->module~mod_cost_calculator
module~mod_overlap_matrix->module~mod_structures
module~mod_overlap_matrix->module~mod_feature_map
module~mod_overlap_matrix->module~mod_feature_map_neighborlist
module~mod_post_processing_2g_single_structure
mod_post_processing_2g_single_structure
module~mod_post_processing_2g_single_structure->module~mod_structures
module~mod_post_processing_2g_single_structure->module~mod_feature_calculator
module~mod_post_processing_2g_single_structure->module~mod_feature_map_neighborlist
module~mod_post_processing_2g_single_structure->module~mod_chain_features
module~mod_post_processing_3g_single_structure
mod_post_processing_3g_single_structure
module~mod_post_processing_3g_single_structure->module~mod_structures
module~mod_post_processing_3g_single_structure->module~mod_abstract_electrostatics
module~mod_post_processing_3g_single_structure->module~mod_calc_screening
module~mod_post_processing_3g_single_structure->module~mod_feature_calculator
module~mod_post_processing_3g_single_structure->module~mod_feature_map_neighborlist
module~mod_evaluate_electrostatics_3g_single_structure
mod_evaluate_electrostatics_3g_single_structure
module~mod_post_processing_3g_single_structure->module~mod_evaluate_electrostatics_3g_single_structure
module~mod_post_processing_4g_single_structure
mod_post_processing_4g_single_structure
module~mod_post_processing_4g_single_structure->module~mod_structures
module~mod_post_processing_4g_single_structure->module~mod_abstract_charge_equilibration
module~mod_post_processing_4g_single_structure->module~mod_calc_screening
module~mod_post_processing_4g_single_structure->module~mod_ee4g_feature_calculator
module~mod_post_processing_4g_single_structure->module~mod_evaluate_4g_single_structure
module~mod_post_processing_4g_single_structure->module~mod_feature_calculator
module~mod_post_processing_4g_single_structure->module~mod_feature_map_neighborlist
module~mod_post_processing_wrapper_single_structure
mod_post_processing_wrapper_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_structures
module~mod_post_processing_wrapper_single_structure->module~mod_abstract_charge_equilibration
module~mod_post_processing_wrapper_single_structure->module~mod_abstract_electrostatics
module~mod_post_processing_wrapper_single_structure->module~mod_ee4g_feature_calculator
module~mod_post_processing_wrapper_single_structure->module~mod_evaluate_4g_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_feature_calculator
module~mod_post_processing_wrapper_single_structure->module~mod_feature_map_neighborlist
module~mod_post_processing_wrapper_single_structure->module~mod_global_features_helper
module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_2g_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_3g_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_4g_single_structure
module~mod_store_atomic_property_single_structure
mod_store_atomic_property_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_store_atomic_property_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_two_body
module~mod_calc_atomic_properties
mod_calc_atomic_properties
module~mod_post_processing_wrapper_single_structure->module~mod_calc_atomic_properties
module~mod_post_processing_wrapper_single_structure->module~mod_hirshfeld_vdw
module~mod_post_processing_vdw_hirshfeld_single_structure
mod_post_processing_vdw_hirshfeld_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_vdw_hirshfeld_single_structure
module~mod_precalc_coulomb_matrix_all_chunks
mod_precalc_coulomb_matrix_all_chunks
module~mod_precalc_coulomb_matrix_all_chunks->module~mod_training_charge_equilibration
module~mod_precalc_coulomb_matrix_all_chunks->module~mod_dataloader_file
module~mod_precalc_coulomb_matrix_all_chunks->module~mod_feature_calculator
module~mod_precalc_coulomb_matrix_all_chunks->module~mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_precompute_features_all_chunks
mod_precompute_features_all_chunks
module~mod_precompute_features_all_chunks->module~mod_structures
module~mod_precompute_features_all_chunks->module~mod_dataloader_file
module~mod_precompute_features_all_chunks->module~mod_feature_calculator
module~mod_precompute_features_all_chunks->module~mod_feature_calculator_statistics
module~mod_featuredata
mod_featuredata
module~mod_precompute_features_all_chunks->module~mod_featuredata
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_structures
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_training_charge_equilibration
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_feature_calculator
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_feature_map_neighborlist
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_structure_batch_iterator
module~mod_predict_4g_no_force_trick_single_structure
mod_predict_4g_no_force_trick_single_structure
module~mod_predict_4g_no_force_trick_single_structure->module~mod_structures
module~mod_predict_4g_no_force_trick_single_structure->module~mod_feature_calculator
module~mod_predict_4g_no_force_trick_single_structure->module~mod_feature_map_neighborlist
module~mod_predict_4g_no_force_trick_single_structure->module~mod_global_feature_calculator
module~mod_predict_4g_no_force_trick_single_structure->module~mod_global_features_helper
module~mod_predict_4g_short_range_training_qeq_single_structure
mod_predict_4g_short_range_training_qeq_single_structure
module~mod_predict_4g_no_force_trick_single_structure->module~mod_predict_4g_short_range_training_qeq_single_structure
module~mod_predict_qeq_feature_calculator_single_structure
mod_predict_qeq_feature_calculator_single_structure
module~mod_predict_4g_no_force_trick_single_structure->module~mod_predict_qeq_feature_calculator_single_structure
module~mod_predict_4g_no_force_trick_single_structure->module~mod_qeq_feature_calculator
module~mod_predict_4g_no_force_trick_single_structure->module~mod_calc_atomic_properties
module~mod_predict_4g_short_range_training_qeq_multiple_structures
mod_predict_4g_short_range_training_qeq_multiple_structures
module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_structures
module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_feature_calculator
module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_feature_map_neighborlist
module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_global_feature_calculator
module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_global_features_helper
module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_predict_4g_short_range_training_qeq_single_structure
module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_structure_batch_iterator
module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_structures
module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_feature_calculator
module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_feature_map_neighborlist
module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_global_feature_calculator
module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_post_processing_2g_single_structure
module~mod_predict_ee4g_feature_calculator_multiple_structures
mod_predict_ee4g_feature_calculator_multiple_structures
module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_structures
module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_dataloader_file
module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_ee4g_feature_calculator
module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_feature_calculator
module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_feature_map_neighborlist
module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_qeq_feature_calculator
module~mod_predict_multiple_structures
mod_predict_multiple_structures
module~mod_predict_multiple_structures->module~mod_structures
module~mod_predict_multiple_structures->module~mod_abstract_charge_equilibration
module~mod_predict_multiple_structures->module~mod_abstract_electrostatics
module~mod_predict_multiple_structures->module~mod_ee4g_feature_calculator
module~mod_predict_multiple_structures->module~mod_feature_calculator
module~mod_predict_multiple_structures->module~mod_feature_map_neighborlist
module~mod_predict_multiple_structures->module~mod_post_processing_wrapper_single_structure
module~mod_predict_multiple_structures->module~mod_store_atomic_property_single_structure
module~mod_predict_multiple_structures->module~mod_structure_batch_iterator
module~mod_predict_multiple_structures->module~mod_two_body
module~mod_predict_multiple_structures->module~mod_hirshfeld_vdw
module~mod_predict_multiple_structures->module~mod_pair_electrostatics
module~mod_predict_qeq_feature_calculator_multiple_structures
mod_predict_qeq_feature_calculator_multiple_structures
module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_structures
module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_dataloader_file
module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_feature_calculator
module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_feature_map_neighborlist
module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_predict_qeq_feature_calculator_single_structure
module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_qeq_feature_calculator
module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_structure_batch_iterator
module~mod_predict_qeq_feature_calculator_single_structure->module~mod_structures
module~mod_predict_qeq_feature_calculator_single_structure->module~mod_training_charge_equilibration
module~mod_predict_qeq_feature_calculator_single_structure->module~mod_calc_screening
module~mod_predict_qeq_feature_calculator_single_structure->module~mod_feature_calculator
module~mod_predict_qeq_feature_calculator_single_structure->module~mod_feature_map_neighborlist
module~mod_predict_qeq_feature_calculator_single_structure->module~mod_qeq_feature_calculator
module~mod_predict_qeq_feature_calculator_single_structure->module~mod_chain_features
module~mod_predict_single_structure->module~mod_structures
module~mod_predict_single_structure->module~mod_abstract_charge_equilibration
module~mod_predict_single_structure->module~mod_abstract_electrostatics
module~mod_predict_single_structure->module~mod_ee4g_feature_calculator
module~mod_predict_single_structure->module~mod_feature_calculator
module~mod_predict_single_structure->module~mod_feature_map_neighborlist
module~mod_predict_single_structure->module~mod_post_processing_wrapper_single_structure
module~mod_predict_single_structure->module~mod_two_body
module~mod_predict_single_structure->module~mod_calc_atomic_properties
module~mod_predict_single_structure->module~mod_hirshfeld_vdw
module~mod_prediction_statistics->module~mod_structures
module~mod_prediction_statistics->module~mod_feature_calculator
module~mod_prediction_statistics->module~mod_feature_map_neighborlist
module~mod_prediction_statistics->module~mod_calc_atomic_properties
module~mod_pw->module~mod_fft_potential
module~mod_pw->module~mod_abstract_electrostatics
module~mod_qeq_feature_calculator->module~mod_structures
module~mod_qeq_feature_calculator->module~mod_training_charge_equilibration
module~mod_qeq_feature_calculator->module~mod_global_feature_calculator
module~mod_radial_symmetry_function_1->module~mod_structures
module~mod_radial_symmetry_function_1->module~mod_abstract_radial_symmetry_function
module~mod_radial_symmetry_function_1->module~mod_feature_map
module~mod_radial_symmetry_function_1->module~mod_feature_map_neighborlist
module~mod_radial_symmetry_function_2->module~mod_structures
module~mod_radial_symmetry_function_2->module~mod_abstract_radial_symmetry_function
module~mod_radial_symmetry_function_2->module~mod_abstract_symmetry_function
module~mod_radial_symmetry_function_2->module~mod_feature_map
module~mod_radial_symmetry_function_2->module~mod_feature_map_neighborlist
module~mod_runner_interface->module~mod_structures
module~mod_runner_interface->module~mod_structures_helper
module~mod_runner_interface->module~mod_abstract_charge_equilibration
module~mod_runner_interface->module~mod_abstract_electrostatics
module~mod_runner_interface->module~mod_ee4g_feature_calculator
module~mod_runner_interface->module~mod_feature_calculator
module~mod_runner_interface->module~mod_feature_map_neighborlist
module~mod_runner_interface->module~mod_two_body
module~mod_runner_interface->module~mod_hirshfeld_vdw
module~mod_runner_interface_bindings->module~mod_structures_helper
module~mod_runner_interface_bindings->module~mod_calc_screening
module~mod_runner_interface_bindings->module~mod_evaluate_4g_single_structure
module~mod_runner_interface_bindings->module~mod_feature_calculator
module~mod_runner_interface_bindings->module~mod_feature_calculator_statistics
module~mod_runner_interface_bindings->module~mod_global_features_helper
module~mod_runner_interface_bindings->module~mod_initialize
module~mod_runner_interface_bindings->module~mod_post_processing_2g_single_structure
module~mod_runner_interface_bindings->module~mod_qeq_feature_calculator
module~mod_runner_interface_bindings->module~mod_runner_interface
module~mod_runner_interface_bindings->module~mod_two_body
module~mod_runner_interface_bindings->module~mod_calc_atomic_properties
module~mod_enforce_reading
mod_enforce_reading
module~mod_runner_interface_bindings->module~mod_enforce_reading
module~mod_runner_interface_bindings->module~mod_evaluate_electrostatics_3g_single_structure
module~mod_runner_interface_bindings->module~mod_hirshfeld_vdw
module~mod_runner_interface_bindings->module~mod_post_processing_vdw_hirshfeld_single_structure
module~mod_store_atomic_property_single_structure->module~mod_structures
module~mod_structure_batch_iterator->module~mod_structures
module~mod_structure_batch_iterator->module~mod_feature_calculator
module~mod_structure_batch_iterator->module~mod_feature_map_neighborlist
module~mod_structure_batch_iterator->module~mod_global_feature_calculator
module~mod_structure_batch_iterator->module~mod_global_features_helper
module~mod_structure_batch_iterator->module~mod_calc_atomic_properties
module~mod_train_4g_atomic_charges_structure_batch
mod_train_4g_atomic_charges_structure_batch
module~mod_train_4g_atomic_charges_structure_batch->module~mod_training_charge_equilibration
module~mod_train_4g_atomic_charges_structure_batch->module~mod_dataloader_file
module~mod_train_4g_atomic_charges_structure_batch->module~mod_feature_calculator
module~mod_train_atomic_property_multiple_atoms
mod_train_atomic_property_multiple_atoms
module~mod_train_atomic_property_multiple_atoms->module~mod_structures
module~mod_train_atomic_property_multiple_atoms->module~mod_feature_calculator
module~mod_train_energy_multiple_structures
mod_train_energy_multiple_structures
module~mod_train_energy_multiple_structures->module~mod_structures
module~mod_train_energy_multiple_structures->module~mod_initialize
module~mod_train_forces_multiple_structures
mod_train_forces_multiple_structures
module~mod_train_forces_multiple_structures->module~mod_structures
module~mod_train_forces_multiple_structures->module~mod_initialize
module~mod_train_forces_multiple_structures->module~mod_train_energy_multiple_structures
module~mod_train_loop_4g_charges
mod_train_loop_4g_charges
module~mod_train_loop_4g_charges->module~mod_structures
module~mod_train_loop_4g_charges->module~mod_training_charge_equilibration
module~mod_train_loop_4g_charges->module~mod_dataloader_file
module~mod_train_loop_4g_charges->module~mod_feature_calculator
module~mod_train_loop_4g_charges->module~mod_initialize
module~mod_train_loop_4g_charges->module~mod_output_files_and_cost_4g_charges
module~mod_train_loop_4g_charges->module~mod_train_4g_atomic_charges_structure_batch
module~mod_train_loop_4g_charges->module~mod_cost_calculator
module~mod_train_loop_atomic_property
mod_train_loop_atomic_property
module~mod_train_loop_atomic_property->module~mod_structures
module~mod_train_loop_atomic_property->module~mod_dataloader_file
module~mod_train_loop_atomic_property->module~mod_feature_calculator
module~mod_train_loop_atomic_property->module~mod_initialize
module~mod_train_loop_atomic_property->module~mod_train_atomic_property_multiple_atoms
module~mod_train_loop_atomic_property->module~mod_cost_calculator
module~mod_output_files_and_cost
mod_output_files_and_cost
module~mod_train_loop_atomic_property->module~mod_output_files_and_cost
module~mod_train_loop_short_range
mod_train_loop_short_range
module~mod_train_loop_short_range->module~mod_structures
module~mod_train_loop_short_range->module~mod_abstract_charge_equilibration
module~mod_train_loop_short_range->module~mod_abstract_electrostatics
module~mod_train_loop_short_range->module~mod_dataloader_file
module~mod_train_loop_short_range->module~mod_ee4g_feature_calculator
module~mod_train_loop_short_range->module~mod_feature_calculator
module~mod_train_loop_short_range->module~mod_global_feature_calculator
module~mod_train_loop_short_range->module~mod_global_features_helper
module~mod_train_loop_short_range->module~mod_initialize
module~mod_train_loop_short_range->module~mod_predict_ee4g_feature_calculator_multiple_structures
module~mod_train_loop_short_range->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_train_loop_short_range->module~mod_qeq_feature_calculator
module~mod_train_loop_short_range->module~mod_train_energy_multiple_structures
module~mod_train_loop_short_range->module~mod_train_forces_multiple_structures
module~mod_train_loop_short_range->module~mod_cost_calculator
module~mod_train_loop_short_range->module~mod_output_files_and_cost
module~mod_output_files_and_cost_4g_short_range
mod_output_files_and_cost_4g_short_range
module~mod_train_loop_short_range->module~mod_output_files_and_cost_4g_short_range
module~mod_train_mode
mod_train_mode
module~mod_train_mode->module~mod_dataset_statistics
module~mod_train_mode->module~mod_training_charge_equilibration
module~mod_train_mode->module~mod_abstract_charge_equilibration
module~mod_train_mode->module~mod_abstract_electrostatics
module~mod_train_mode->module~mod_dataloader_file
module~mod_train_mode->module~mod_dataset_statistics_chi_all_chunks
module~mod_train_mode->module~mod_ee4g_feature_calculator
module~mod_train_mode->module~mod_feature_calculator
module~mod_train_mode->module~mod_feature_calculator_statistics
module~mod_train_mode->module~mod_feature_map_scaling_all_chunks
module~mod_train_mode->module~mod_global_feature_calculator
module~mod_train_mode->module~mod_initialize
module~mod_train_mode->module~mod_precalc_coulomb_matrix_all_chunks
module~mod_train_mode->module~mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_train_mode->module~mod_predict_ee4g_feature_calculator_multiple_structures
module~mod_train_mode->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_train_mode->module~mod_qeq_feature_calculator
module~mod_train_mode->module~mod_train_loop_4g_charges
module~mod_train_mode->module~mod_train_loop_atomic_property
module~mod_train_mode->module~mod_train_loop_short_range
module~mod_train_mode->module~mod_two_body
module~mod_train_mode->module~mod_precalc_nl_deriv_features_single_chunk
module~mod_predict_all_chunks
mod_predict_all_chunks
module~mod_train_mode->module~mod_predict_all_chunks
module~mod_write_outfiles_training
mod_write_outfiles_training
module~mod_train_mode->module~mod_write_outfiles_training
module~mod_two_body->module~mod_structures
module~mod_two_body->module~mod_dataloader_file
module~mod_two_body->module~mod_feature_map_neighborlist
module~mod_abstract_iterative_charge_equilibration->module~mod_abstract_charge_equilibration
module~mod_abstract_iterative_charge_equilibration->module~mod_abstract_electrostatics
module~mod_abstract_iterative_charge_equilibration->module~mod_pair_electrostatics
module~mod_calc_atomic_properties->module~mod_feature_calculator
module~mod_calc_atomic_properties->module~mod_feature_map_neighborlist
module~mod_chain_features->module~mod_feature_calculator
module~mod_chain_features->module~mod_feature_map_neighborlist
module~mod_cost_calculator->module~mod_dataloader_file
module~mod_cost_calculator->module~mod_write_outfiles_training
module~mod_electric_field_prefactor->module~mod_feature_map_neighborlist
module~mod_element->module~mod_angular_symmetry_function_3
module~mod_element->module~mod_angular_symmetry_function_9
module~mod_element->module~mod_feature_map
module~mod_element->module~mod_radial_symmetry_function_2
module~mod_enforce_reading->module~mod_feature_calculator
module~mod_enforce_reading->module~mod_global_feature_calculator
module~mod_evaluate_electrostatics_3g_single_structure->module~mod_abstract_electrostatics
module~mod_evaluate_electrostatics_3g_single_structure->module~mod_feature_calculator
module~mod_evaluate_electrostatics_3g_single_structure->module~mod_feature_map_neighborlist
module~mod_evaluate_electrostatics_3g_single_structure->module~mod_chain_features
module~mod_feature_calc_interface
mod_feature_calc_interface
module~mod_feature_calc_interface->module~mod_generic_interface
module~mod_feature_calc_interface->module~mod_runner_interface
module~mod_featuredata->module~mod_feature_calculator
module~mod_featuredata->module~mod_element
module~mod_hirshfeld_vdw->module~mod_feature_map_neighborlist
module~mod_neural_network
mod_neural_network
module~mod_neural_network->module~mod_layers
module~mod_optimizers->module~mod_kalman_filter
module~mod_optimizers->module~mod_kalman_filter_std
module~mod_output_files_and_cost->module~mod_abstract_charge_equilibration
module~mod_output_files_and_cost->module~mod_abstract_electrostatics
module~mod_output_files_and_cost->module~mod_dataloader_file
module~mod_output_files_and_cost->module~mod_ee4g_feature_calculator
module~mod_output_files_and_cost->module~mod_feature_calculator
module~mod_output_files_and_cost->module~mod_predict_multiple_structures
module~mod_output_files_and_cost->module~mod_cost_calculator
module~mod_output_files_and_cost_4g_short_range->module~mod_dataloader_file
module~mod_output_files_and_cost_4g_short_range->module~mod_feature_calculator
module~mod_output_files_and_cost_4g_short_range->module~mod_global_feature_calculator
module~mod_output_files_and_cost_4g_short_range->module~mod_predict_4g_short_range_training_qeq_multiple_structures
module~mod_output_files_and_cost_4g_short_range->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_output_files_and_cost_4g_short_range->module~mod_cost_calculator
module~mod_pair_electrostatics->module~mod_abstract_electrostatics
module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_feature_calculator
module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_feature_map_neighborlist
module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_chain_features
module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_hirshfeld_vdw
module~mod_precalc_nl_deriv_features_single_chunk->module~mod_dataloader_file
module~mod_precalc_nl_deriv_features_single_chunk->module~mod_feature_calculator
module~mod_precalc_nl_deriv_features_single_chunk->module~mod_memory_estimation
module~mod_precompute_global_features_all_chunks
mod_precompute_global_features_all_chunks
module~mod_precompute_global_features_all_chunks->module~mod_dataloader_file
module~mod_precompute_global_features_all_chunks->module~mod_ee4g_feature_calculator
module~mod_precompute_global_features_all_chunks->module~mod_feature_calculator
module~mod_precompute_global_features_all_chunks->module~mod_feature_calculator_statistics
module~mod_precompute_global_features_all_chunks->module~mod_predict_ee4g_feature_calculator_multiple_structures
module~mod_precompute_global_features_all_chunks->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_precompute_global_features_all_chunks->module~mod_qeq_feature_calculator
module~mod_predict_all_chunks->module~mod_abstract_charge_equilibration
module~mod_predict_all_chunks->module~mod_abstract_electrostatics
module~mod_predict_all_chunks->module~mod_dataloader_file
module~mod_predict_all_chunks->module~mod_feature_calculator
module~mod_predict_all_chunks->module~mod_predict_multiple_structures
module~mod_predict_all_chunks->module~mod_two_body
module~mod_predict_all_chunks->module~mod_hirshfeld_vdw
module~mod_predict_mode
mod_predict_mode
module~mod_predict_mode->module~mod_abstract_charge_equilibration
module~mod_predict_mode->module~mod_abstract_electrostatics
module~mod_predict_mode->module~mod_dataloader_file
module~mod_predict_mode->module~mod_ee4g_feature_calculator
module~mod_predict_mode->module~mod_feature_calculator
module~mod_predict_mode->module~mod_feature_calculator_statistics
module~mod_predict_mode->module~mod_initialize
module~mod_predict_mode->module~mod_predict_multiple_structures
module~mod_predict_mode->module~mod_qeq_feature_calculator
module~mod_predict_mode->module~mod_two_body
module~mod_predict_mode->module~mod_enforce_reading
module~mod_predict_mode->module~mod_hirshfeld_vdw
module~mod_write_outfiles
mod_write_outfiles
module~mod_predict_mode->module~mod_write_outfiles
module~mod_scalingdata->module~mod_feature_calculator
module~mod_scalingdata->module~mod_element
module~mod_spin_prefactor->module~mod_feature_map_neighborlist
module~mod_write_outfiles->module~mod_initialize
module~smod_atom_overlap
smod_atom_overlap
module~smod_atom_overlap->module~mod_overlap_matrix
module~smod_cache
smod_cache
module~smod_cache->module~mod_overlap_matrix
module~smod_constructor
smod_constructor
module~smod_constructor->module~mod_overlap_matrix
module~smod_eigenval_and_vectors
smod_eigenval_and_vectors
module~smod_eigenval_and_vectors->module~mod_overlap_matrix
module~smod_first_derivative
smod_first_derivative
module~smod_first_derivative->module~mod_overlap_matrix
module~smod_original
smod_original
module~smod_original->module~mod_overlap_matrix
module~smod_smooth
smod_smooth
module~smod_smooth->module~mod_overlap_matrix
program~runner
RuNNer
program~runner->module~mod_abstract_charge_equilibration
program~runner->module~mod_abstract_electrostatics
program~runner->module~mod_calculate_coulomb_matrix
program~runner->module~mod_dataloader_file
program~runner->module~mod_ee4g_feature_calculator
program~runner->module~mod_feature_calculator
program~runner->module~mod_initialize
program~runner->module~mod_inputdata
program~runner->module~mod_precompute_features_all_chunks
program~runner->module~mod_qeq_feature_calculator
program~runner->module~mod_train_mode
program~runner->module~mod_two_body
program~runner->module~mod_hirshfeld_vdw
program~runner->module~mod_precompute_global_features_all_chunks
program~runner->module~mod_predict_mode
module~mod_hdnn->module~mod_neural_network
module~mod_iterative_charge_equilibration_cg->module~mod_abstract_iterative_charge_equilibration
module~mod_write_outfiles_training->module~mod_write_outfiles
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Procedures Summary
Interface Details
interface ddot
interface dlacpy
interface dger
interface dgels
interface dgemv
interface dgemm
interface dcopy
interface dgetrf
interface dgetri
interface dsymv
interface dsysv
interface dsyr
interface dgesv
interface dsymm
interface dsyev
interface dsyevr
interface dsytrf
interface dsytri
Procedure Details
function cross_product
function cross_product ( & a, & b &)
Calculate the cross product c of two vectors a and b.
Arguments
a :
real (DP) (dim: (3)) [in]– First vector.
b :
real (DP) (dim: (3)) [in]– Second input vector.
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
function dot
function dot ( & d, & x, & y &)
Compute the dot product of two vectors.
Arguments
d :
integer [in]– Dimension of `x` and `y`.
x :
real (DP) (dim: (d)) [in]– Vectors to be multiplied.
y :
real (DP) (dim: (d)) [in]– Vectors to be multiplied.
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
function inv
function inv ( & a, & exploit_symmat &)
Returns the inverse of a general matrix A
if exploit_symmat Bunch Kaufman decompoistiton is used in
combination with inversion, which is faster than LU decomposition
with subsequent inversion. However, Bunch-Kaufmann decomposition
can only be used for symmetric matices!
author: Moritz Gubler
Arguments
a :
real (DP) (dim: (:,:)) [in]
exploit_symmat :
logical [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
function matrix_times_vec
function matrix_times_vec ( & n, & mat, & x &)
Compute the matrix-vector product \(y = alpha * A * x + beta * y\)
using BLAS where A has dimensions (m, n).
Arguments
n :
integer [in]– Dimensions of matrix `A`.
mat :
real (DP) (dim: (n,n)) [in]– The matrix to be multiplied.
x :
real (DP) (dim: (n)) [in]– The vector to be multiplied.
function symmetric_matrix_times_vec
function symmetric_matrix_times_vec ( & d, & mat, & x &)
Compute a matrix vector product for a symmetry matrix A
\(y = \alpha * A * x + \beta * y\) using BLAS.
Arguments
d :
integer [in]– Dimension of matrix `A`.
mat :
real (DP) (dim: (d,d)) [in]– Matrix to be multiplied.
x :
real (DP) (dim: (d)) [in]– Vector to be multiplied.
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
function det_3d
function det_3d ( & mat &)
Computes determinant of 3x3 matrix.
Arguments
mat :
real (DP) (dim: (3,3)) [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
function inv_3d
function inv_3d ( & mat_in &)
Inverst 3x3 Matrix
Arguments
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine solve_equation_system
subroutine solve_equation_system ( & n, & nrhs, & a, & b, & x &)
Solve a system of linear equations.
Arguments
n :
integer [in]– Order of matrix `a`.
nrhs :
integer [in]– Number of equation systems.
a :
real (DP) (dim: (n,n)) [in]– The coefficient matrix on the LHS.
b :
real (DP) (dim: (n,nrhs)) [in]– The RHS of the system of equations.
x :
real (DP) (dim: (n,nrhs)) [out]
subroutine solve_symmetric_equation_system
subroutine solve_symmetric_equation_system ( & n, & nrhs, & a, & b, & x &)
Solve a system of linear equations.
Arguments
n :
integer [in]– Order of matrix `a`.
nrhs :
integer [in]– Number of equation systems.
a :
real (DP) (dim: (n,n)) [inout]– The coefficient matrix on the LHS.
b :
real (DP) (dim: (n,nrhs)) [inout]– The RHS of the system of equations.
x :
real (DP) (dim: (n,nrhs)) [out]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine solve_least_squares
subroutine solve_least_squares ( & transa, & m, & n, & nrhs, & a, & b &)
Least-squares solution (dgels overrides a and b).
Arguments
transa :
character [in]
m :
integer [in]
n :
integer [in]
nrhs :
integer [in]
a :
real (DP) (dim: (m,n)) [inout]
b :
real (DP) (dim: (m,nrhs)) [inout]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine inv_in_place
subroutine inv_in_place ( & a, & exploit_symmat &)
Inverse a general or symmetric matrix A
if exploit_symmat Bunch Kaufman decompoistiton is used in
combination with inversion, which is faster than LU decomposition
with subsequent inversion. However, Bunch-Kaufmann decomposition
can only be used for symmetric matices!
author: Moritz R Schaefer
Arguments
a :
real (DP) (dim: (:,:)) [inout]
exploit_symmat :
logical [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine vec_plus_matrix_times_vec
subroutine vec_plus_matrix_times_vec ( & m, & n, & alpha, & beta, & mat_a, & x, & y &)
Compute the matrix-vector product \(y = alpha * A * x + beta * y\)
using BLAS where A has dimensions (m, n).
Arguments
m :
integer [in]– Dimensions of matrix `A`.
n :
integer [in]– Dimensions of matrix `A`.
alpha :
real (DP) [in]– Scalar factors.
beta :
real (DP) [in]– Scalar factors.
mat_a :
real (DP) (dim: (m,n)) [in]– The matrix to be multiplied.
x :
real (DP) (dim: (n)) [in]– The vector to be multiplied.
y :
real (DP) (dim: (m)) [inout]– The vector to be added.
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine vec_plus_matrix_transpose_times_vec
subroutine vec_plus_matrix_transpose_times_vec ( & m, & n, & alpha, & beta, & mat_a, & x, & y &)
Compute the matrix-vector product \(y = alpha * A**T * x + beta * y\)
using BLAS where A has dimensions (m, n).
Arguments
m :
integer [in]– Dimensions of matrix `A`.
n :
integer [in]– Dimensions of matrix `A`.
alpha :
real (DP) [in]– Scalar factors.
beta :
real (DP) [in]– Scalar factors.
mat_a :
real (DP) (dim: (m,n)) [in]– The matrix to be multiplied.
x :
real (DP) (dim: (m)) [in]– The vector to be multiplied.
y :
real (DP) (dim: (n)) [inout]– The vector to be added.
subroutine matrix_plus_vec_times_vec_transpose
subroutine matrix_plus_vec_times_vec_transpose ( & m, & n, & alpha, & x, & y, & mat_a &)
Add a vector product to a matrix \(A = A + \alpha * x * y**T\)
using BLAS where A has dimensions (m, n).
Arguments
m :
integer [in]– Dimensions of matrix `A`.
n :
integer [in]– Dimensions of matrix `A`.
alpha :
real (DP) [in]– Scalar factor.
x :
real (DP) (dim: (m)) [in]– Vector 1 for multiplication.
y :
real (DP) (dim: (n)) [in]– Vector 2 for multiplication, will be transposed.
mat_a :
real (DP) (dim: (m,n)) [inout]– The matrix to be multiplied.
subroutine matrix_plus_matrix_times_matrix
subroutine matrix_plus_matrix_times_matrix ( & m, & n, & k, & alpha, & beta, & mat_a, & mat_b, & mat_c &)
Compute the matrix-matrix product \(C = alpha * A * B + beta * C\)
using BLAS where A has dimensions (m, k), B has dimensions (k, n) and
C has dimensions (m, n).
Arguments
m :
integer [in]– Matrix dimensions.
n :
integer [in]– Matrix dimensions.
k :
integer [in]– Matrix dimensions.
alpha :
real (DP) [in]– Scalar factors.
beta :
real (DP) [in]– Scalar factors.
mat_a :
real (DP) (dim: (m,k)) [in]– The first matrix to be multiplied.
mat_b :
real (DP) (dim: (k,n)) [in]– The second matrix to be multiplied.
mat_c :
real (DP) (dim: (m,n)) [inout]– The result matrix to be added.
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine matrix_plus_matrix_transpose_times_matrix
subroutine matrix_plus_matrix_transpose_times_matrix ( & m, & n, & k, & alpha, & beta, & mat_a, & mat_b, & mat_c &)
Compute the matrix-matrix product \(C = alpha * A * B + beta * C\)
using BLAS where A has dimensions (m, k), B has dimensions (k, n) and
C has dimensions (m, n).
Arguments
m :
integer [in]– Matrix dimensions.
n :
integer [in]– Matrix dimensions.
k :
integer [in]– Matrix dimensions.
alpha :
real (DP) [in]– Scalar factors.
beta :
real (DP) [in]– Scalar factors.
mat_a :
real (DP) (dim: (k,m)) [in]– The first matrix to be multiplied.
mat_b :
real (DP) (dim: (k,n)) [in]– The second matrix to be multiplied.
mat_c :
real (DP) (dim: (m,n)) [inout]– The result matrix to be added.
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine matrix_plus_matrix_times_matrix_transpose_k_equal_1_special
subroutine matrix_plus_matrix_times_matrix_transpose_k_equal_1_special ( & m, & n, & k, & alpha, & beta, & mat_a, & mat_b, & mat_c &)
Compute the matrix-matrix product \(C = alpha * A * B + beta * C\)
using BLAS where A has dimensions (m, k), B has dimensions (k, n) and
C has dimensions (m, n).
In contrast to matrix_plus_matrix_times_matrix_transpose this routine
has a special treatment for k=1 that we suspect to be very useful when
m = n >> k, especially on AMD hardware.
Arguments
m :
integer [in]– Matrix dimensions.
n :
integer [in]– Matrix dimensions.
k :
integer [in]– Matrix dimensions.
alpha :
real (DP) [in]– Scalar factors.
beta :
real (DP) [in]– Scalar factors.
mat_a :
real (DP) (dim: (m,k)) [in]– The first matrix to be multiplied.
mat_b :
real (DP) (dim: (n,k)) [in]– The second matrix to be multiplied.
mat_c :
real (DP) (dim: (m,n)) [inout]– The result matrix to be added.
Called By
proc~~matrix_plus_matrix_times_matrix_transpose_k_equal_1_special~~CalledByGraph
proc~matrix_plus_matrix_times_matrix_transpose_k_equal_1_special
mod_linalg::matrix_plus_matrix_times_matrix_transpose_k_equal_1_special
proc~update_kalman_parent
mod_abstract_kalman_filter::AbstractKalmanFilter%update_kalman_parent
proc~update_kalman_parent->proc~matrix_plus_matrix_times_matrix_transpose_k_equal_1_special
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine matrix_plus_matrix_times_matrix_transpose
subroutine matrix_plus_matrix_times_matrix_transpose ( & m, & n, & k, & alpha, & beta, & mat_a, & mat_b, & mat_c &)
Arguments
m :
integer [in]– Matrix dimensions.
n :
integer [in]– Matrix dimensions.
k :
integer [in]– Matrix dimensions.
alpha :
real (DP) [in]– Scalar factors.
beta :
real (DP) [in]– Scalar factors.
mat_a :
real (DP) (dim: (m,k)) [in]– The first matrix to be multiplied.
mat_b :
real (DP) (dim: (n,k)) [in]– The second matrix to be multiplied.
mat_c :
real (DP) (dim: (m,n)) [inout]– The result matrix to be added.
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine dgemm_nt_m_n_1_manual
subroutine dgemm_nt_m_n_1_manual ( & m, & n, & alpha, & mat_a, & lda, & mat_b, & ldb, & beta, & mat_c, & ldc &)
Custom implementation of DGEMM for matrices with k = 1 with efficient
OpenMP parallelization.
To be used in matrix_plus_matrix_times_matrix_transpose . We found
that the intrinsic DGEMM in the MKL does not parallelize well on AMD
hardware (e.g. Paderborn's Otus cluster) when k = 1. This becomes relevant
since matrix_plus_matrix_times_matrix_transpose takes up about 80%
of our CPU time during training with the Kalman filter. In that case,
k is the number of parallel streams (= MPI tasks). So for MPI-serial
execution, there was basically no OpenMP parallelization.
With this routine, the expected OpenMP parallelization could be recovered.
Arguments
m :
integer [in]
n :
integer [in]
alpha :
real (DP) [in]
mat_a :
real (DP) (dim: (m,1)) [in]
lda :
integer [in]
mat_b :
real (DP) (dim: (n,1)) [in]
ldb :
integer [in]
beta :
real (DP) [in]
mat_c :
real (DP) (dim: (m,n)) [inout]
ldc :
integer [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine symmetric_matrix_plus_vec_times_vec_transpose
subroutine symmetric_matrix_plus_vec_times_vec_transpose ( & d, & mat, & x, & alpha &)
Add a vector product to a matrix \(A = A + \alpha * x * x**T\)
using BLAS where A has dimensions (n, n).
ATTENTION: Since M is symmetric, only the lower part is filled.
Arguments
d :
integer [in]– Dimension of `M` and `x`.
mat :
real (DP) (dim: (d,d)) [inout]– Symmetric matrix to be added.
x :
real (DP) (dim: (d)) [in]– Vector to be multiplied.
alpha :
real (DP) [in]– Scalar factor.
subroutine symmetric_matrix_times_matrix_plus_matrix_upper_triangle
subroutine symmetric_matrix_times_matrix_plus_matrix_upper_triangle ( & m, & n, & mat_a, & mat_b, & mat_c, & alpha, & beta &)
Compute a matrix matrix product for a symmetry matrix A
\(C = \alpha * A * B + \beta *C\) using BLAS.
ATTENTION: Since A is symmetric, only the upper part is filled.
Arguments
m :
integer [in]– Matrix dimensions.
n :
integer [in]– Matrix dimensions.
mat_a :
real (DP) (dim: (m,m)) [in]
mat_b :
real (DP) (dim: (m,n)) [in]
mat_c :
real (DP) (dim: (m,n)) [inout]
alpha :
real (DP) [in]
beta :
real (DP) [in]
subroutine symmetric_matrix_times_matrix_plus_matrix
subroutine symmetric_matrix_times_matrix_plus_matrix ( & m, & n, & mat_a, & mat_b, & mat_c, & alpha, & beta &)
Compute a matrix matrix product for a symmetry matrix A
\(C = \alpha * A * B + \beta *C\) using BLAS.
ATTENTION: Since A is symmetric, only the lower part is filled.
Arguments
m :
integer [in]– Matrix dimensions.
n :
integer [in]– Matrix dimensions.
mat_a :
real (DP) (dim: (m,m)) [in]
mat_b :
real (DP) (dim: (m,n)) [in]
mat_c :
real (DP) (dim: (m,n)) [inout]
alpha :
real (DP) [in]
beta :
real (DP) [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine matrix_transpose_times_matrix_plus_matrix
subroutine matrix_transpose_times_matrix_plus_matrix ( & m, & n, & k, & alpha, & beta, & mat_a, & mat_b, & mat_c &)
Compute the matrix-matrix product \(C = alpha * A * B + beta * C\)
using BLAS where A has dimensions (m, k), B has dimensions (k, n) and
C has dimensions (m, n). A has the dimensions (k, m) on entry and
is transposed during the routine.
Arguments
m :
integer [in]– Matrix dimensions.
n :
integer [in]– Matrix dimensions.
k :
integer [in]– Matrix dimensions.
alpha :
real (DP) [in]– Scalar factors.
beta :
real (DP) [in]– Scalar factors.
mat_a :
real (DP) (dim: (k,m)) [in]– The first matrix to be multiplied.
mat_b :
real (DP) (dim: (k,n)) [in]– The second matrix to be multiplied.
mat_c :
real (DP) (dim: (m,n)) [inout]– The result matrix to be added.
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine eigenvalues_symmetric_matrix
subroutine eigenvalues_symmetric_matrix ( & d, & mat, & eval &)
diagonalize a symmetric matrix A, only its upper triangle needs to
be defined. Here we only compute eigenvalues, not the eigenvectors, which
should be significantly faster.
Arguments
d :
integer [in]– Dimension of matrix `mat`.
mat :
real (DP) (dim: (d,d)) [inout]– Matrix to be diagonalized
eval :
real (DP) (dim: (d)) [out]– Vector of eigenvalues
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine eigenvectors_symmetric_matrix
subroutine eigenvectors_symmetric_matrix ( & d, & mat, & eval &)
diagonalize a symmetric matrix A, only its upper triangle needs to
be defined. Here we compute eigenvalues and their corresponding eigen-
vectors, but only return the eigenvectors.
Arguments
d :
integer [in]– Dimension of matrix `mat`.
mat :
real (DP) (dim: (d,d)) [inout]– Matrix to be diagonalized
eval :
real (DP) (dim: (d)) [out]– Vector of eigenvalues
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine diagonalize_large_symmetric_matrix
subroutine diagonalize_large_symmetric_matrix ( & d, & mat, & eval &)
aiagonalize a large symmetric matrix A, only its upper triangle
needs to be defined. This routinen uses dsyevr instead of dsyev, which
should be faster for large matrices.
Arguments
d :
integer [in]– Dimension of matrix `mat`.
mat :
real (DP) (dim: (d,d)) [inout]– Matrix to be diagonalized
eval :
real (DP) (dim: (d)) [out]– Vector of eigenvalues
subroutine cp_upper_triangle
subroutine cp_upper_triangle ( & d, & mat, & copy &)
Arguments
d :
integer [in]
mat :
real (DP) (dim: (d,d)) [in]
copy :
real (DP) (dim: (d,d)) [out]
subroutine cp_lower_triangle
subroutine cp_lower_triangle ( & d, & mat, & copy &)
Arguments
d :
integer [in]
mat :
real (DP) (dim: (d,d)) [in]
copy :
real (DP) (dim: (d,d)) [out]
subroutine dsymm_scalar_parallel
subroutine dsymm_scalar_parallel ( & side, & uplo, & m, & n, & alpha, & a, & lda, & b, & ldb, & beta, & c, & ldc &)
Specialized DSYMM for edge cases (m=1 or n=1)
Arguments
side :
character [in]
uplo :
character [in]
m :
integer [in]
n :
integer [in]
alpha :
real (DP) [in]
a :
real (DP) (dim: (lda,*)) [in]
lda :
integer [in]
b :
real (DP) (dim: (ldb,*)) [in]
ldb :
integer [in]
beta :
real (DP) [in]
c :
real (DP) (dim: (ldc,*)) [inout]
ldc :
integer [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine dsymv_parallel_mv
subroutine dsymv_parallel_mv ( & uplo, & n, & alpha, & a, & lda, & x, & incx, & y, & incy &)
Helper routine for symmetric matrix-vector multiplication (column vector)
Arguments
uplo :
character [in]
n :
integer [in]
alpha :
real (DP) [in]
a :
real (DP) (dim: (lda,*)) [in]
lda :
integer [in]
x :
real (DP) (dim: (*)) [in]
incx :
integer [in]
y :
real (DP) (dim: (*)) [inout]
incy :
integer [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine dsymv_parallel_1d
subroutine dsymv_parallel_1d ( & uplo, & n, & alpha, & a, & lda, & x, & incx, & y, & incy &)
Helper routine for 1D symmetric matrix-vector multiplication (row vector)
Arguments
uplo :
character [in]
n :
integer [in]
alpha :
real (DP) [in]
a :
real (DP) (dim: (lda,*)) [in]
lda :
integer [in]
x :
real (DP) (dim: (*)) [in]
incx :
integer [in]
y :
real (DP) (dim: (*)) [inout]
incy :
integer [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine dsymm_column_parallel
subroutine dsymm_column_parallel ( & side, & uplo, & m, & n, & alpha, & a, & lda, & b, & ldb, & beta, & c, & ldc &)
Column-group parallel DSYMM for narrow matrices
Arguments
side :
character [in]
uplo :
character [in]
m :
integer [in]
n :
integer [in]
alpha :
real (DP) [in]
a :
real (DP) (dim: (lda,*)) [in]
lda :
integer [in]
b :
real (DP) (dim: (ldb,*)) [in]
ldb :
integer [in]
beta :
real (DP) [in]
c :
real (DP) (dim: (ldc,*)) [inout]
ldc :
integer [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine dsymm_blocked
subroutine dsymm_blocked ( & side, & uplo, & m, & n, & alpha, & a, & lda, & b, & ldb, & beta, & c, & ldc, & block_size &)
Arguments
side :
character [in]
uplo :
character [in]
m :
integer [in]
n :
integer [in]
alpha :
real (DP) [in]
a :
real (DP) (dim: (lda,*)) [in]
lda :
integer [in]
b :
real (DP) (dim: (ldb,*)) [in]
ldb :
integer [in]
beta :
real (DP) [in]
c :
real (DP) (dim: (ldc,*)) [inout]
ldc :
integer [in]
block_size :
integer [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine extract_block_general ( & matrix, & ld, & start_i, & start_j, & rows, & cols, & block, & block_ld &)
Arguments
:
real (DP) (dim: (ld,*)) [in]
:
integer [in]
:
integer [in]
:
integer [in]
:
integer [in]
:
integer [in]
:
real (DP) (dim: (block_ld,*)) [out]
:
integer [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine insert_block_general
subroutine insert_block_general ( & block, & block_ld, & matrix, & ld, & start_i, & start_j, & rows, & cols &)
Arguments
block :
real (DP) (dim: (block_ld,*)) [in]
block_ld :
integer [in]
matrix :
real (DP) (dim: (ld,*)) [inout]
ld :
integer [in]
start_i :
integer [in]
start_j :
integer [in]
rows :
integer [in]
cols :
integer [in]
Called By
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.