Skip to main content

Crate pramana

Crate pramana 

Source
Expand description

§Pramana

प्रमाण (Sanskrit: proof, measure, evidence) — Statistics and probability library for the AGNOS ecosystem.

Built on hisab for mathematical primitives.

§Modules

ModuleDescription
distributionProbability distributions (Normal, Uniform, Exponential, Poisson, Binomial, Bernoulli, Gamma, Beta, Chi-Squared, Student-t, F, Cauchy, Weibull, Multivariate Normal)
descriptiveDescriptive statistics, KDE, correlation matrix, PCA
hypothesisHypothesis testing (t-tests, chi-squared) and confidence intervals
regressionLinear, polynomial, and logistic regression
bayesianBayesian inference and naive Bayes classification
combinatoricsFactorials, permutations, combinations, Stirling approximation
monte_carloMonte Carlo integration, Metropolis-Hastings MCMC, Gibbs sampling
markovMarkov chains, Hidden Markov Models (Forward, Viterbi, Baum-Welch)
timeseriesTime series: moving average, exponential smoothing, autocorrelation, ARIMA

§Quick Start

use pramana::{descriptive, distribution::{Normal, Distribution}, SimpleRng};

// Descriptive statistics
let data = [1.0, 2.0, 3.0, 4.0, 5.0];
let m = descriptive::mean(&data).unwrap();
assert!((m - 3.0).abs() < 1e-10);

// Fit and sample from a normal distribution
let s = descriptive::std_dev(&data).unwrap();
let normal = Normal::new(m, s).unwrap();
let mut rng = SimpleRng::new(42);
let sample = normal.sample(&mut rng);
assert!(sample.is_finite());

§Hypothesis Testing

use pramana::hypothesis;

let data = [10.0, 10.1, 9.9, 10.2, 9.8, 10.0, 10.1, 9.9];
let result = hypothesis::t_test_one_sample(&data, 0.0, 0.05).unwrap();
assert!(result.reject); // mean clearly differs from 0

§Monte Carlo

use pramana::{monte_carlo, SimpleRng};

let mut rng = SimpleRng::new(42);
let pi = monte_carlo::monte_carlo_pi(100_000, &mut rng).unwrap();
assert!((pi - std::f64::consts::PI).abs() < 0.1);

Re-exports§

pub use error::PramanaError;
pub use rng::Rng;
pub use rng::SimpleRng;
pub use hisab;

Modules§

bayesian
Bayesian inference and naive Bayes classification.
bridge
Cross-crate bridges — primitive-value conversions from other AGNOS science crates. Cross-crate bridges — convert primitive values from other AGNOS science crates into pramana statistics parameters and vice versa.
combinatorics
Combinatorial functions: factorial, permutations, combinations, Stirling’s approximation.
descriptive
Descriptive statistics and kernel density estimation.
distribution
Probability distributions.
error
Error types for pramana.
hypothesis
Hypothesis testing and confidence intervals.
integration
Integration APIs for downstream consumers (soorat rendering). Integration APIs for downstream consumers.
markov
Markov chains and Hidden Markov Models.
monte_carlo
Monte Carlo methods: integration, simulation, and MCMC.
regression
Linear and polynomial regression.
rng
Random number generation trait and a simple deterministic PRNG.
timeseries
Time series analysis: moving average, exponential smoothing, autocorrelation, ARIMA.

Type Aliases§

Result
Convenience alias for Result<T, PramanaError>.