Skip to content

mod_dataset_statistics

Lines: 348 | Visibility: private

Collect statistical information about the reference values in the dataset.

Dependencies

Uses

module~~mod_dataset_statistics~~UsesGraph module~mod_dataset_statistics mod_dataset_statistics mod_flat_data mod_flat_data module~mod_dataset_statistics->mod_flat_data mod_property_list mod_property_list module~mod_dataset_statistics->mod_property_list module~mod_abstract_property_model mod_abstract_property_model module~mod_dataset_statistics->module~mod_abstract_property_model module~mod_committee_helper mod_committee_helper module~mod_dataset_statistics->module~mod_committee_helper module~mod_constants mod_constants module~mod_dataset_statistics->module~mod_constants module~mod_data_container mod_data_container module~mod_dataset_statistics->module~mod_data_container module~mod_dataloader_file mod_dataloader_file module~mod_dataset_statistics->module~mod_dataloader_file module~mod_dataset_storage mod_dataset_storage module~mod_dataset_statistics->module~mod_dataset_storage module~mod_decorations mod_decorations module~mod_dataset_statistics->module~mod_decorations module~mod_feature_calculator mod_feature_calculator module~mod_dataset_statistics->module~mod_feature_calculator module~mod_forward_batched mod_forward_batched module~mod_dataset_statistics->module~mod_forward_batched module~mod_linalg mod_linalg module~mod_dataset_statistics->module~mod_linalg module~mod_mpi mod_mpi module~mod_dataset_statistics->module~mod_mpi module~mod_periodic_table mod_periodic_table module~mod_dataset_statistics->module~mod_periodic_table module~mod_precision mod_precision module~mod_dataset_statistics->module~mod_precision module~mod_settings mod_settings module~mod_dataset_statistics->module~mod_settings module~mod_sort mod_sort module~mod_dataset_statistics->module~mod_sort module~mod_statistics_container mod_statistics_container module~mod_dataset_statistics->module~mod_statistics_container module~mod_structures mod_structures module~mod_dataset_statistics->module~mod_structures module~mod_throw mod_throw module~mod_dataset_statistics->module~mod_throw module~mod_training_charge_equilibration mod_training_charge_equilibration module~mod_dataset_statistics->module~mod_training_charge_equilibration module~mod_abstract_property_model->module~mod_precision module~mod_abstract_property_model->module~mod_settings module~mod_abstract_property_model->module~mod_throw module~mod_array_helpers mod_array_helpers module~mod_abstract_property_model->module~mod_array_helpers module~mod_initialize_array mod_initialize_array module~mod_abstract_property_model->module~mod_initialize_array module~mod_io mod_io module~mod_abstract_property_model->module~mod_io module~mod_random mod_random module~mod_abstract_property_model->module~mod_random module~mod_committee_helper->module~mod_settings module~mod_committee_helper->module~mod_io module~mod_constants->module~mod_precision iso_c_binding iso_c_binding module~mod_constants->iso_c_binding module~mod_data_container->module~mod_precision module~mod_data_container->module~mod_throw module~mod_data_container->module~mod_io module~mod_dataloader_file->module~mod_feature_calculator module~mod_dataloader_file->module~mod_mpi module~mod_dataloader_file->module~mod_periodic_table module~mod_dataloader_file->module~mod_precision module~mod_dataloader_file->module~mod_structures module~mod_dataloader_file->module~mod_throw module~mod_abstract_structure_data_file mod_abstract_structure_data_file module~mod_dataloader_file->module~mod_abstract_structure_data_file module~mod_cutoff_function mod_cutoff_function module~mod_dataloader_file->module~mod_cutoff_function module~mod_databatcher mod_databatcher module~mod_dataloader_file->module~mod_databatcher module~mod_feature_map_neighborlist mod_feature_map_neighborlist module~mod_dataloader_file->module~mod_feature_map_neighborlist module~mod_dataloader_file->module~mod_io module~mod_memory_estimation mod_memory_estimation module~mod_dataloader_file->module~mod_memory_estimation module~mod_optional_args mod_optional_args module~mod_dataloader_file->module~mod_optional_args module~mod_split_and_assign mod_split_and_assign module~mod_dataloader_file->module~mod_split_and_assign module~mod_dataset_storage->mod_property_list module~mod_dataset_storage->module~mod_mpi module~mod_dataset_storage->module~mod_sort module~mod_storage_container mod_storage_container module~mod_dataset_storage->module~mod_storage_container module~mod_decorations->module~mod_precision module~mod_decorations->module~mod_throw module~mod_decorations->module~mod_io module~mod_feature_calculator->module~mod_data_container module~mod_feature_calculator->module~mod_mpi module~mod_feature_calculator->module~mod_periodic_table module~mod_feature_calculator->module~mod_precision module~mod_feature_calculator->module~mod_settings module~mod_feature_calculator->module~mod_structures module~mod_feature_calculator->module~mod_throw module~mod_angular_symmetry_function_3 mod_angular_symmetry_function_3 module~mod_feature_calculator->module~mod_angular_symmetry_function_3 module~mod_angular_symmetry_function_8 mod_angular_symmetry_function_8 module~mod_feature_calculator->module~mod_angular_symmetry_function_8 module~mod_angular_symmetry_function_9 mod_angular_symmetry_function_9 module~mod_feature_calculator->module~mod_angular_symmetry_function_9 module~mod_feature_calculator->module~mod_array_helpers module~mod_atomic_descriptor mod_atomic_descriptor module~mod_feature_calculator->module~mod_atomic_descriptor module~mod_feature_calculator->module~mod_cutoff_function module~mod_element mod_element module~mod_feature_calculator->module~mod_element module~mod_extrapolation_warning mod_extrapolation_warning module~mod_feature_calculator->module~mod_extrapolation_warning module~mod_feature_map mod_feature_map module~mod_feature_calculator->module~mod_feature_map module~mod_feature_calculator->module~mod_feature_map_neighborlist module~mod_feature_calculator->module~mod_io module~mod_feature_calculator->module~mod_optional_args module~mod_overlap_matrix mod_overlap_matrix module~mod_feature_calculator->module~mod_overlap_matrix module~mod_path mod_path module~mod_feature_calculator->module~mod_path 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_set_integer mod_set_integer module~mod_feature_calculator->module~mod_set_integer module~mod_timer mod_timer module~mod_feature_calculator->module~mod_timer module~mod_forward_batched->module~mod_abstract_property_model module~mod_forward_batched->module~mod_mpi module~mod_forward_batched->module~mod_periodic_table module~mod_forward_batched->module~mod_precision module~mod_forward_batched->module~mod_throw module~mod_forward_batched->module~mod_databatcher module~mod_linalg->module~mod_precision module~mod_linalg->module~mod_settings module~mod_linalg->module~mod_throw module~cublas_wrapper cublas_wrapper module~mod_linalg->module~cublas_wrapper module~mod_mpi->module~mod_precision mpi_f08 mpi_f08 module~mod_mpi->mpi_f08 module~mod_periodic_table->module~mod_constants module~mod_periodic_table->module~mod_precision module~mod_periodic_table->module~mod_throw module~mod_periodic_table->module~mod_array_helpers module~mod_periodic_table->module~mod_io module~mod_precision->iso_c_binding iso_fortran_env iso_fortran_env module~mod_precision->iso_fortran_env module~mod_settings->module~mod_constants module~mod_settings->module~mod_periodic_table module~mod_settings->module~mod_precision module~mod_settings->module~mod_throw module~mod_cpu_vendor mod_cpu_vendor module~mod_settings->module~mod_cpu_vendor module~mod_settings->module~mod_io module~mod_sort->module~mod_precision module~mod_statistics_container->module~mod_constants module~mod_statistics_container->module~mod_mpi module~mod_statistics_container->module~mod_periodic_table module~mod_statistics_container->module~mod_precision module~mod_statistics_container->module~mod_throw module~mod_statistics_container->module~mod_io module~mod_table mod_table module~mod_statistics_container->module~mod_table module~mod_structures->module~mod_constants module~mod_structures->module~mod_linalg module~mod_structures->module~mod_mpi module~mod_structures->module~mod_periodic_table module~mod_structures->module~mod_precision module~mod_structures->module~mod_throw module~mod_structures->module~mod_array_helpers module~mod_structures_helper mod_structures_helper module~mod_structures->module~mod_structures_helper module~mod_throw->module~mod_mpi module~mod_throw->module~mod_precision module~mod_throw->module~mod_sort module~mod_throw->iso_c_binding module~mod_throw->iso_fortran_env module~mod_throw->module~mod_io module~mod_training_charge_equilibration->module~mod_data_container module~mod_training_charge_equilibration->module~mod_linalg module~mod_training_charge_equilibration->module~mod_precision module~mod_training_charge_equilibration->module~mod_structures module~mod_abstract_electrostatics mod_abstract_electrostatics module~mod_training_charge_equilibration->module~mod_abstract_electrostatics module~mod_cross_matrix mod_cross_matrix module~mod_training_charge_equilibration->module~mod_cross_matrix module~mod_ewald_summation mod_ewald_summation module~mod_training_charge_equilibration->module~mod_ewald_summation module~mod_training_charge_equilibration->module~mod_optional_args module~mod_pair_electrostatics mod_pair_electrostatics module~mod_training_charge_equilibration->module~mod_pair_electrostatics module~cublas_wrapper->module~mod_settings module~cublas_wrapper->iso_c_binding module~mod_abstract_electrostatics->module~mod_precision module~mod_abstract_electrostatics->module~mod_structures module~mod_abstract_structure_data_file->module~mod_dataset_storage module~mod_abstract_structure_data_file->module~mod_mpi module~mod_abstract_structure_data_file->module~mod_periodic_table module~mod_abstract_structure_data_file->module~mod_structures module~mod_genericfile mod_genericfile module~mod_abstract_structure_data_file->module~mod_genericfile module~mod_angular_symmetry_function_3->module~mod_constants module~mod_angular_symmetry_function_3->module~mod_periodic_table module~mod_angular_symmetry_function_3->module~mod_precision module~mod_angular_symmetry_function_3->module~mod_structures module~mod_angular_symmetry_function_3->module~mod_throw module~mod_angular_symmetry_function_3->module~mod_cutoff_function module~mod_angular_symmetry_function_3->module~mod_feature_map module~mod_angular_symmetry_function_3->module~mod_feature_map_neighborlist module~mod_abstract_angular_symmetry_function mod_abstract_angular_symmetry_function module~mod_angular_symmetry_function_3->module~mod_abstract_angular_symmetry_function module~mod_abstract_symmetry_function mod_abstract_symmetry_function module~mod_angular_symmetry_function_3->module~mod_abstract_symmetry_function module~mod_fastmath mod_fastmath module~mod_angular_symmetry_function_3->module~mod_fastmath module~mod_hash mod_hash module~mod_angular_symmetry_function_3->module~mod_hash module~mod_angular_symmetry_function_8->module~mod_constants module~mod_angular_symmetry_function_8->module~mod_periodic_table module~mod_angular_symmetry_function_8->module~mod_precision module~mod_angular_symmetry_function_8->module~mod_structures module~mod_angular_symmetry_function_8->module~mod_throw module~mod_angular_symmetry_function_8->module~mod_cutoff_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_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_hash module~mod_angular_symmetry_function_9->module~mod_constants module~mod_angular_symmetry_function_9->module~mod_periodic_table module~mod_angular_symmetry_function_9->module~mod_precision module~mod_angular_symmetry_function_9->module~mod_structures module~mod_angular_symmetry_function_9->module~mod_throw module~mod_angular_symmetry_function_9->module~mod_cutoff_function module~mod_angular_symmetry_function_9->module~mod_feature_map module~mod_angular_symmetry_function_9->module~mod_feature_map_neighborlist 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_fastmath module~mod_angular_symmetry_function_9->module~mod_hash module~mod_array_helpers->module~mod_precision module~mod_array_helpers->module~mod_throw module~mod_atomic_descriptor->module~mod_precision module~mod_atomic_descriptor->module~mod_structures module~mod_atomic_descriptor->module~mod_element module~mod_cpu_vendor->iso_c_binding module~mod_cross_matrix->module~mod_linalg module~mod_cross_matrix->module~mod_precision module~mod_cutoff_function->module~mod_precision module~mod_cutoff_function->module~mod_throw module~mod_cutoff_function->module~mod_io module~mod_abstract_cutoff_function mod_abstract_cutoff_function module~mod_cutoff_function->module~mod_abstract_cutoff_function module~mod_cutoff_function_cosine mod_cutoff_function_cosine module~mod_cutoff_function->module~mod_cutoff_function_cosine module~mod_cutoff_function_hard mod_cutoff_function_hard module~mod_cutoff_function->module~mod_cutoff_function_hard module~mod_cutoff_function_hypertangent mod_cutoff_function_hypertangent module~mod_cutoff_function->module~mod_cutoff_function_hypertangent module~mod_cutoff_function_hypertangent_approx mod_cutoff_function_hypertangent_approx module~mod_cutoff_function->module~mod_cutoff_function_hypertangent_approx module~mod_cutoff_function_null mod_cutoff_function_null module~mod_cutoff_function->module~mod_cutoff_function_null module~mod_cutoff_function_polynomial mod_cutoff_function_polynomial module~mod_cutoff_function->module~mod_cutoff_function_polynomial module~mod_cutoff_function_vdw mod_cutoff_function_vdw module~mod_cutoff_function->module~mod_cutoff_function_vdw module~mod_databatcher->module~mod_mpi module~mod_databatcher->module~mod_precision module~mod_databatcher->module~mod_throw module~mod_databatcher->module~mod_array_helpers module~mod_databatcher->module~mod_random module~mod_element->module~mod_constants module~mod_element->module~mod_decorations module~mod_element->module~mod_mpi module~mod_element->module~mod_periodic_table module~mod_element->module~mod_precision module~mod_element->module~mod_throw module~mod_element->module~mod_angular_symmetry_function_3 module~mod_element->module~mod_angular_symmetry_function_9 module~mod_element->module~mod_cutoff_function module~mod_element->module~mod_feature_map module~mod_element->module~mod_io module~mod_element->module~mod_optional_args module~mod_element->module~mod_radial_symmetry_function_2 module~mod_element->module~mod_set_integer module~mod_arrays_init mod_arrays_init module~mod_element->module~mod_arrays_init module~mod_dubious_feature_map_handler mod_dubious_feature_map_handler module~mod_element->module~mod_dubious_feature_map_handler module~mod_element->module~mod_hash module~mod_set_character mod_set_character module~mod_element->module~mod_set_character module~mod_ewald_summation->module~mod_constants module~mod_ewald_summation->module~mod_linalg module~mod_ewald_summation->module~mod_precision module~mod_ewald_summation->module~mod_abstract_electrostatics module~mod_ewald_summation->module~mod_pair_electrostatics module~mod_neighbor_grid mod_neighbor_grid module~mod_ewald_summation->module~mod_neighbor_grid 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_extrapolation_warning->module~mod_periodic_table module~mod_extrapolation_warning->module~mod_precision module~mod_extrapolation_warning->module~mod_throw module~mod_extrapolation_warning->iso_c_binding module~mod_abstract_warning mod_abstract_warning module~mod_extrapolation_warning->module~mod_abstract_warning module~mod_feature_map->module~mod_precision module~mod_feature_map->module~mod_structures module~mod_feature_map->module~mod_throw module~mod_feature_map->module~mod_cutoff_function module~mod_feature_map->module~mod_feature_map_neighborlist module~mod_feature_map->module~mod_io module~mod_feature_map->module~mod_hash module~mod_sanitize mod_sanitize module~mod_feature_map->module~mod_sanitize module~mod_feature_map_neighborlist->module~mod_constants module~mod_feature_map_neighborlist->module~mod_mpi module~mod_feature_map_neighborlist->module~mod_precision module~mod_feature_map_neighborlist->module~mod_structures module~mod_feature_map_neighborlist->module~mod_throw module~mod_feature_map_neighborlist->module~mod_io module~mod_feature_map_neighborlist->module~mod_timer module~mod_feature_map_neighborlist->module~mod_abstract_cutoff_function module~mod_neighborlist mod_neighborlist module~mod_feature_map_neighborlist->module~mod_neighborlist module~mod_initialize_array->module~mod_mpi module~mod_initialize_array->module~mod_precision module~mod_initialize_array->module~mod_throw module~mod_initialize_array->module~mod_io module~mod_initialize_array->module~mod_random module~mod_parameter_file mod_parameter_file module~mod_initialize_array->module~mod_parameter_file module~mod_io->module~mod_precision module~mod_io->iso_fortran_env module~mod_io->module~mod_optional_args module~mod_memory_estimation->module~mod_feature_calculator module~mod_memory_estimation->module~mod_mpi module~mod_memory_estimation->module~mod_periodic_table module~mod_memory_estimation->module~mod_precision module~mod_memory_estimation->module~mod_settings module~mod_memory_estimation->module~mod_structures module~mod_memory_estimation->module~mod_throw module~mod_memory_estimation->module~mod_feature_map_neighborlist module~mod_memory_estimation->module~mod_io module~mod_memory_estimation->module~mod_table module~mod_overlap_matrix->module~mod_precision module~mod_overlap_matrix->module~mod_structures module~mod_overlap_matrix->module~mod_cutoff_function module~mod_overlap_matrix->module~mod_feature_map module~mod_overlap_matrix->module~mod_feature_map_neighborlist module~mod_pair_electrostatics->module~mod_constants module~mod_pair_electrostatics->module~mod_precision module~mod_pair_electrostatics->module~mod_throw module~mod_pair_electrostatics->module~mod_abstract_electrostatics module~mod_path->module~mod_io module~mod_radial_symmetry_function_1->module~mod_periodic_table module~mod_radial_symmetry_function_1->module~mod_precision module~mod_radial_symmetry_function_1->module~mod_structures module~mod_radial_symmetry_function_1->module~mod_throw module~mod_radial_symmetry_function_1->module~mod_cutoff_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_1->module~mod_io module~mod_abstract_radial_symmetry_function mod_abstract_radial_symmetry_function module~mod_radial_symmetry_function_1->module~mod_abstract_radial_symmetry_function module~mod_radial_symmetry_function_1->module~mod_hash module~mod_radial_symmetry_function_2->module~mod_periodic_table module~mod_radial_symmetry_function_2->module~mod_precision module~mod_radial_symmetry_function_2->module~mod_structures module~mod_radial_symmetry_function_2->module~mod_throw module~mod_radial_symmetry_function_2->module~mod_cutoff_function module~mod_radial_symmetry_function_2->module~mod_feature_map module~mod_radial_symmetry_function_2->module~mod_feature_map_neighborlist 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_hash module~mod_random->module~mod_constants module~mod_random->module~mod_precision module~mod_set_integer->module~mod_throw module~mod_split_and_assign->module~mod_mpi module~mod_split_and_assign->module~mod_precision module~mod_split_and_assign->module~mod_throw module~mod_storage_container->mod_property_list module~mod_storage_container->module~mod_mpi module~mod_storage_container->module~mod_sort module~mod_storage_container->module~mod_io module~mod_abstract_property_list mod_abstract_property_list module~mod_storage_container->module~mod_abstract_property_list module~mod_dynamic_int_array mod_dynamic_int_array module~mod_storage_container->module~mod_dynamic_int_array module~mod_string mod_string module~mod_storage_container->module~mod_string module~mod_structures_helper->module~mod_linalg module~mod_structures_helper->module~mod_precision module~mod_table->module~mod_decorations module~mod_table->module~mod_precision module~mod_table->module~mod_throw module~mod_table->module~mod_io module~mod_timer->module~mod_precision module~mod_timer->module~mod_throw module~mod_timer->module~mod_io module~mod_timer->module~mod_optional_args ieee_arithmetic ieee_arithmetic module~mod_timer->ieee_arithmetic module~mod_abstract_angular_symmetry_function->module~mod_periodic_table module~mod_abstract_angular_symmetry_function->module~mod_precision module~mod_abstract_angular_symmetry_function->module~mod_structures module~mod_abstract_angular_symmetry_function->module~mod_feature_map_neighborlist module~mod_abstract_angular_symmetry_function->module~mod_abstract_symmetry_function module~mod_abstract_cutoff_function->module~mod_precision module~mod_abstract_property_list->module~mod_mpi module~mod_abstract_property_list->module~mod_throw module~mod_abstract_property_list->module~mod_optional_args module~mod_abstract_property_list->module~mod_dynamic_int_array module~mod_abstract_property_list->module~mod_string module~mod_dynamic_int_array_2d mod_dynamic_int_array_2d module~mod_abstract_property_list->module~mod_dynamic_int_array_2d module~mod_dynamic_string_array mod_dynamic_string_array module~mod_abstract_property_list->module~mod_dynamic_string_array module~mod_abstract_radial_symmetry_function->module~mod_precision module~mod_abstract_radial_symmetry_function->module~mod_structures module~mod_abstract_radial_symmetry_function->module~mod_feature_map_neighborlist module~mod_abstract_radial_symmetry_function->module~mod_abstract_symmetry_function module~mod_abstract_symmetry_function->module~mod_precision module~mod_abstract_symmetry_function->module~mod_structures module~mod_abstract_symmetry_function->module~mod_throw module~mod_abstract_symmetry_function->module~mod_feature_map module~mod_abstract_symmetry_function->module~mod_feature_map_neighborlist module~mod_abstract_symmetry_function->module~mod_io 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_arrays_init->module~mod_precision module~mod_cutoff_function_cosine->module~mod_constants module~mod_cutoff_function_cosine->module~mod_precision module~mod_cutoff_function_cosine->module~mod_abstract_cutoff_function module~mod_cutoff_function_hard->module~mod_precision module~mod_cutoff_function_hard->module~mod_abstract_cutoff_function module~mod_cutoff_function_hypertangent->module~mod_precision module~mod_cutoff_function_hypertangent->module~mod_abstract_cutoff_function module~mod_cutoff_function_hypertangent_approx->module~mod_precision module~mod_cutoff_function_hypertangent_approx->module~mod_abstract_cutoff_function module~mod_cutoff_function_null->module~mod_precision module~mod_cutoff_function_null->module~mod_throw module~mod_cutoff_function_null->module~mod_abstract_cutoff_function module~mod_cutoff_function_polynomial->module~mod_precision module~mod_cutoff_function_polynomial->module~mod_abstract_cutoff_function module~mod_cutoff_function_polynomial->module~mod_fastmath module~mod_cutoff_function_vdw->module~mod_precision module~mod_cutoff_function_vdw->module~mod_abstract_cutoff_function module~mod_dubious_feature_map_handler->module~mod_decorations module~mod_dubious_feature_map_handler->module~mod_precision module~mod_dubious_feature_map_handler->module~mod_throw module~mod_dubious_feature_map_handler->module~mod_io module~mod_dubious_feature_map_handler->module~mod_dynamic_int_array module~mod_dynamic_double_array mod_dynamic_double_array module~mod_dubious_feature_map_handler->module~mod_dynamic_double_array module~mod_dynamic_line_array mod_dynamic_line_array module~mod_dubious_feature_map_handler->module~mod_dynamic_line_array module~mod_fastmath->module~mod_precision module~mod_genericfile->module~mod_mpi module~mod_genericfile->module~mod_throw module~mod_genericfile->module~mod_io module~mod_hash->module~mod_periodic_table module~mod_hash->module~mod_precision module~mod_hash->module~mod_io module~mod_neighbor_grid->module~mod_mpi module~mod_neighbor_grid->module~mod_precision module~mod_neighbor_grid->module~mod_structures_helper module~mod_neighbor_grid->module~mod_dynamic_int_array module~mod_neighbor_grid->module~mod_neighborlist_helper module~mod_neighborlist->module~mod_mpi module~mod_neighborlist->module~mod_precision module~mod_neighborlist->module~mod_settings module~mod_neighborlist->module~mod_structures module~mod_neighborlist->module~mod_throw module~mod_neighborlist->module~mod_io module~mod_neighborlist->module~mod_dynamic_int_array module~mod_neighborlist->module~mod_neighbor_grid module~mod_neighborlist->module~mod_neighborlist_helper module~mod_neighborlist->module~mod_dynamic_double_array module~mod_neighborlist_helper->module~mod_linalg module~mod_neighborlist_helper->module~mod_mpi module~mod_neighborlist_helper->module~mod_precision module~mod_outer_product->module~mod_linalg module~mod_outer_product->module~mod_precision module~mod_parameter_file->module~mod_precision module~mod_parameter_file->module~mod_throw module~mod_parameter_file->module~mod_io module~mod_abstract_broadcast_file mod_abstract_broadcast_file module~mod_parameter_file->module~mod_abstract_broadcast_file module~mod_nan_check mod_nan_check module~mod_parameter_file->module~mod_nan_check module~mod_sanitize->module~mod_throw module~mod_set_character->module~mod_throw module~mod_string->module~mod_precision module~mod_abstract_broadcast_file->module~mod_mpi module~mod_abstract_broadcast_file->module~mod_throw module~mod_abstract_broadcast_file->module~mod_io module~mod_abstract_broadcast_file->module~mod_genericfile module~mod_abstract_broadcast_file->module~mod_sanitize module~mod_dynamic_double_array->module~mod_precision module~mod_dynamic_double_array->module~mod_throw module~mod_dynamic_int_array_2d->module~mod_mpi module~mod_dynamic_string_array->module~mod_string module~mod_electric_field_prefactor->module~mod_precision module~mod_electric_field_prefactor->module~mod_settings module~mod_electric_field_prefactor->module~mod_feature_map_neighborlist module~mod_nan_check->module~mod_precision module~mod_nan_check->module~mod_throw module~mod_nan_check->module~mod_io module~mod_nan_check->ieee_arithmetic module~mod_spin_prefactor->module~mod_precision module~mod_spin_prefactor->module~mod_feature_map_neighborlist

Used By

module~~mod_dataset_statistics~~UsedByGraph module~mod_dataset_statistics mod_dataset_statistics 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_train_mode mod_train_mode module~mod_train_mode->module~mod_dataset_statistics module~mod_train_mode->module~mod_dataset_statistics_chi_all_chunks program~runner RuNNer program~runner->module~mod_train_mode

Procedures Summary

Name Type Description
fill_statistics_container_with_property Subroutine Fills a statistics container with data from a property list. This routine extracts data for a...
sum_and_store_atomic_energies Subroutine Fill a <a...
get_stoichiometries_multiple_structures Subroutine Collect the number of atoms per element (stoichiometry) for a given list of structures.
update_dataset_statistics_chi_multiple_structures Subroutine Updates electronegativity (chi) statistics for a given set of structures. This routine performs...
print_statistics Subroutine Pretty print the statistical information stored in various statistics containers. This routine...
determine_mean_atomic_energy_per_element Subroutine Determines mean atomic energies by solving a global least squares problem. This routine gathers...
group_stoichiometries_for_least_squares Subroutine Groups linearly dependent stoichiometries to handle rank-deficient least squares. This routine...

Procedure Details

subroutine fill_statistics_container_with_property

subroutine fill_statistics_container_with_property( &
    property_list, &
    prop_name, &
    label, &
    dim1, &
    dim2, &
    label_dim1, &
    label_dim2, &
    lnorm, &
    statistics, &
    groups, &
    divide_by, &
    tag_other_contributions, &
    property_list_pred, &
    sample_indices &
)

Fills a statistics container with data from a property list.

This routine extracts data for a specified property from a given PropertyListReal and fills a StatisticsContainer with statistical information (min, max, average, std deviation) about that property.

Arguments

  • property_list : class(PropertyListReal) [in]– The property list from which the property data is extracted. Must contain the property with name `prop_name`.
  • prop_name : character [in]– The name of the property to extract from `property_list`.
  • label : character [in]– To initialize the statistics container.
  • dim1 : integer [in]– To initialize the statistics container.
  • dim2 : integer [in]– To initialize the statistics container.
  • label_dim1 : character [in]– To initialize the statistics container.
  • label_dim2 : character [in]– To initialize the statistics container.
  • lnorm : logical [in]– To initialize the statistics container.
  • statistics : type(StatisticsContainer) [out]– The statistics container to be filled with statistical information about the specified property.
  • groups : integer (dim: (:)) [in]– Optional grouping of data points for statistics calculation. Todo: What does this actually do?
  • divide_by : real(DP) (dim: (:)) [in]– Optional array to divide each data point by a specific value. Can be used to get i.e. per-atom statistics from total structure values.
  • tag_other_contributions : integer [in]– If provided, contributions with this tag are subtracted from the property values before statistics are calculated.
  • property_list_pred : class(PropertyListReal) [in]– Property list containing the contributions to be subtracted
  • sample_indices : integer (dim: (:)) [in]– If provided, only these sample indices are used to fill the statistics container.

Called By

proc~~fill_statistics_container_with_property~~CalledByGraph proc~fill_statistics_container_with_property mod_dataset_statistics::fill_statistics_container_with_property proc~print_and_collect_energy_and_force_statistics mod_train_mode::print_and_collect_energy_and_force_statistics proc~print_and_collect_energy_and_force_statistics->proc~fill_statistics_container_with_property proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~fill_statistics_container_with_property proc~train_mode->proc~print_and_collect_energy_and_force_statistics program~runner RuNNer program~runner->proc~train_mode

subroutine sum_and_store_atomic_energies

subroutine sum_and_store_atomic_energies( &
    nstructures, &
    nelem, &
    atom_energies, &
    atomic_numbers, &
    stoichiometries, &
    results &
)

Fill a DatasetStorage object with the sum of the atomic energies specified in the input.nn file.

0.0 by default.

Arguments

  • nstructures : integer [in]
  • nelem : integer [in]
  • atom_energies : real(DP) (dim: (MAX_ELEM_NUM)) [in]
  • atomic_numbers : integer (dim: (nelem)) [in]
  • stoichiometries : integer (dim: (nelem,nstructures)) [in]
  • results : type(DatasetStorage) [inout]

Called By

proc~~sum_and_store_atomic_energies~~CalledByGraph proc~sum_and_store_atomic_energies mod_dataset_statistics::sum_and_store_atomic_energies proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~sum_and_store_atomic_energies program~runner RuNNer program~runner->proc~train_mode

subroutine get_stoichiometries_multiple_structures

subroutine get_stoichiometries_multiple_structures( &
    results_ref, &
    nelem, &
    structure_ids, &
    stoichiometries &
)

Collect the number of atoms per element (stoichiometry) for a given list of structures.

Arguments

  • results_ref : type(DatasetStorage) [in]– Storage object holding the atomic numbers and number of atoms for (at least) all given structures at `structure_ids`.
  • nelem : integer [in]– The number of elements in total in all the structures.
  • structure_ids : integer (dim: (:)) [in]– The structures for which the stoichiometries are retrieved. Used to access `results_ref`.
  • stoichiometries : integer (dim: (nelem,size(structure_ids))) [out]– Number of atoms per element in the given structures.

Called By

proc~~get_stoichiometries_multiple_structures~~CalledByGraph proc~get_stoichiometries_multiple_structures mod_dataset_statistics::get_stoichiometries_multiple_structures proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~get_stoichiometries_multiple_structures program~runner RuNNer program~runner->proc~train_mode

subroutine update_dataset_statistics_chi_multiple_structures

subroutine update_dataset_statistics_chi_multiple_structures( &
    structures, &
    indices, &
    qeq_solvers, &
    feature_calculator_hardness, &
    hardness_model_committee, &
    data_loader, &
    elemental_sigma, &
    precision, &
    chi_statistics, &
    results_ref, &
    file_coul_mat &
)

Updates electronegativity (chi) statistics for a given set of structures.

This routine performs a forward pass through the hardness models to obtain atomic hardness parameters. Subsequently, it utilizes a charge equilibration (QEq) solver to derive "reference" electronegativities (\(\chi\)) consistent with the reference atomic charges. These derived values are then used to update the statistics containers.

Arguments

  • structures : type(Structure) (dim: (:)) [in]– The list of all structures in memory.
  • indices : integer (dim: (:)) [in]– Indices of the subset of `structures` (e.g., the training set) for which statistics should be calculated.
  • qeq_solvers : type(TrainingChargeEquilibrator) (dim: (:)) [inout]– List of QEq solvers (one per structure). If provided, the specific solver for the structure is used; otherwise, a local solver is initialized.
  • feature_calculator_hardness : type(FeatureCalculator) [inout]– Calculator used to generate atomic features required for the hardness models. Should be an empty feature calculator if an elemental hardness model is used.
  • hardness_model_committee : type(ModelPtr) (dim: (:)) [inout]– Committee of models used to predict atomic hardness values.
  • data_loader : type(FileDataLoader) [inout]– Data loader object providing access to neighbor lists.
  • elemental_sigma : real(DP) (dim: (MAX_ELEM_NUM)) [in]– Global Gaussian width parameters ($\sigma$) for each element used in QEq. Needed for initialization of the QEq solver.
  • precision : real(DP) [in]– Target precision for the electrostatic calculations in QEq. Needed for initialization of the QEq solver.
  • chi_statistics : type(StatisticsContainer) (dim: (:)) [inout]– Array of statistics containers (one per committee member) to track min, max, average, and std deviation of electronegativity.
  • results_ref : type(DatasetStorage) [inout]– Storage container for reference properties. Calculated $\chi$ values are stored here if direct training on electronegativity is enabled. We store one value per committee member, and the object must contain the property name "electronegativity_[committee_member_idx]" for each committee member.
  • file_coul_mat : type(DataCont) [inout]– File from which Coulomb matrices are read, if used.

Called By

proc~~update_dataset_statistics_chi_multiple_structures~~CalledByGraph proc~update_dataset_statistics_chi_multiple_structures mod_dataset_statistics::update_dataset_statistics_chi_multiple_structures proc~dataset_statistics_chi_all_chunks mod_dataset_statistics_chi_all_chunks::dataset_statistics_chi_all_chunks proc~dataset_statistics_chi_all_chunks->proc~update_dataset_statistics_chi_multiple_structures proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~dataset_statistics_chi_all_chunks program~runner RuNNer program~runner->proc~train_mode

subroutine print_statistics

subroutine print_statistics( &
    label, &
    energy_statistics, &
    atomic_energy_statistics, &
    charge_statistics, &
    chi_statistics, &
    hirshfeld_statistics, &
    force_statistics, &
    force_norm_statistics, &
    lprint_force_statistics &
)

Pretty print the statistical information stored in various statistics containers.

This routine writes the min, max, average, and standard deviation of collected properties (Energy, Force, Charge, Chi, etc.) to standard output. It handles unit conversions (e.g., Hartree to eV) automatically.

Arguments

  • label : character [in]– A string label to identify the dataset being printed (e.g., "Training Data").
  • energy_statistics : type(StatisticsContainer) [in]– Container holding statistics for total energies per atom.
  • atomic_energy_statistics : type(StatisticsContainer) [in]– Container holding statistics for atomic energies.
  • charge_statistics : type(StatisticsContainer) [in]– Container holding statistics for atomic charges.
  • chi_statistics : type(StatisticsContainer) (dim: (global_settings%num_committee_members)) [in]– Array of containers holding statistics for electronegativity (one per committee).
  • hirshfeld_statistics : type(StatisticsContainer) [in]– Container holding statistics for Hirshfeld volumes.
  • force_statistics : type(StatisticsContainer) [in]– Container holding statistics for force components (x, y, z).
  • force_norm_statistics : type(StatisticsContainer) [in]– Container holding statistics for the magnitude of forces.
  • lprint_force_statistics : logical [in]– Flag indicating whether to print force statistics.

subroutine determine_mean_atomic_energy_per_element

subroutine determine_mean_atomic_energy_per_element( &
    nstrucs, &
    nelem, &
    reference_energies, &
    atomic_numbers, &
    stoichiometries, &
    eckhoff_avg_atomic_energy &
)

Determines mean atomic energies by solving a global least squares problem.

This routine gathers the total energies and stoichiometries of structures from all MPI processes. It then sets up and solves a linear system (Total Energy = Sum of Atomic Energies) to find the average energy contribution of each element type. Tikhonov regularization is applied to prevent unphysical large values. These values are primarily used for Eckhoff weight initialization. least squares

Arguments

  • nstrucs : integer [in]
  • nelem : integer [in]
  • reference_energies : real(DP) (dim: (nstrucs)) [in]– average atomic energy per element. used for Eckhoff weight initialization
  • atomic_numbers : integer (dim: (nelem)) [in]
  • stoichiometries : integer (dim: (nelem,nstrucs)) [in]– The stoichiometry of each structure in the dataset. used for Eckhoff weight initialization
  • eckhoff_avg_atomic_energy : real(DP) (dim: (MAX_ELEM_NUM)) [out]– Output array containing the calculated average atomic energy per element. Indices correspond to atomic numbers.

Called By

proc~~determine_mean_atomic_energy_per_element~~CalledByGraph proc~determine_mean_atomic_energy_per_element mod_dataset_statistics::determine_mean_atomic_energy_per_element proc~print_and_collect_energy_and_force_statistics mod_train_mode::print_and_collect_energy_and_force_statistics proc~print_and_collect_energy_and_force_statistics->proc~determine_mean_atomic_energy_per_element proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~print_and_collect_energy_and_force_statistics program~runner RuNNer program~runner->proc~train_mode

subroutine group_stoichiometries_for_least_squares

subroutine group_stoichiometries_for_least_squares( &
    m, &
    nelem, &
    stoichiometries_lstsq, &
    n_stoichiometry_groups, &
    stoichiometry_group_indices &
)

Groups linearly dependent stoichiometries to handle rank-deficient least squares.

This routine identifies elements that always appear in fixed ratios (e.g., if element B is always 2x element A) across the entire dataset. It combines these dependent columns into stoichiometry groups to allow solve_least_squares to find a stable solution.

Arguments

  • m : integer [in]– The number of structures (rows in the linear system).
  • nelem : integer [in]– The number of element types (columns in the linear system).
  • stoichiometries_lstsq : real(DP) (dim: (m,nelem)) [inout]– The matrix of stoichiometries. Modified in-place to merge dependent columns.
  • n_stoichiometry_groups : integer [out]– The final number of independent stoichiometry groups found.
  • stoichiometry_group_indices : integer (dim: (nelem)) [out]– Mapping array tracking which group an element belongs to.

Called By

proc~~group_stoichiometries_for_least_squares~~CalledByGraph proc~group_stoichiometries_for_least_squares mod_dataset_statistics::group_stoichiometries_for_least_squares proc~determine_mean_atomic_energy_per_element mod_dataset_statistics::determine_mean_atomic_energy_per_element proc~determine_mean_atomic_energy_per_element->proc~group_stoichiometries_for_least_squares proc~print_and_collect_energy_and_force_statistics mod_train_mode::print_and_collect_energy_and_force_statistics proc~print_and_collect_energy_and_force_statistics->proc~determine_mean_atomic_energy_per_element proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~print_and_collect_energy_and_force_statistics program~runner RuNNer program~runner->proc~train_mode