Numerical Methods for Nonlinear Physics - Module 8. Pisa University
This repository contains code and resources developed for Module 8 of the course "Numerical Methods for Physics". The project focuses on statistical analysis, mutual information estimation, and synthetic data generation.
- Data Generation: Tools for generating univariate and multivariate synthetic datasets.
- Mutual Information Calculation: Implementation of algorithms to calculate mutual information (MI) with k-nearest neighbors.
- Data Checking Utilities: Scripts for validating and visualizing datasets.
Top-Level Directories
core/: Scripts for Mutual Information (MI) calculation.sampling/: Scripts for synthetic data generation.utils/: Utility scripts and helper functions.tests/: Unit tests for core functionalities.old_repo_architecture/: Archived repository structure files (until 12/12/2024).
Scripts for computing Mutual Information (MI):
calculate_mi_algorithm1.py: MI calculation using Algorithm 1 from Kraskov et al.calculate_mi_algorithm1_entropies_sum.py: Summing entropies for MI estimation.calculate_mi_algorithm2.py: MI calculation using Algorithm 2 from Kraskov et al.
Scripts for generating synthetic datasets:
generate_data.py: Main script for data generation.generate_multivariate_data.py: Generates bivariate datasets.generate_univariate_data.py: Generates a dataset composed by two univariate correlated series.
Utility scripts to support core tasks:
config_utils.py: Handles configuration filesdecorators.py:io_utils.py: handles reading, writing, managing data files efficiently and manages input/output operations.math_utils.py: Contains helper functions for mathematical operationsmutual_information_utils.py: Utility functions to support MI computation algorithmsplot_utils.py: Functions for visualizing data (e.g., line charts, scatter plots, histograms).pre_processing_utils.py: Pre-processes data (normalization, cleaning) before analysis.
Unit tests to ensure code reliability:
calculate_mi_algorithm1.py: Top-level MI scriptcalculate_mi_algorithm1_entropies_sum.py: Top-level MI scriptcalculate_mi_algorithm2.py: Top-level MI scriptchecking_data.py: Validates and checks data integrity.generate_data.py: Top-level data generation scriptgenerate_multivariate_data.py: Top-level data generation scriptgenerate_univariate_data.py: Top-level data generation scriptconfig.json: Configuration file.gitignore: Specifies files and directories ignored by Git.LICENSE: Project licensing information (GPL-3.0).README.md: Main documentation for the repository.