Math Module

rmath.stats

Descriptive and inferential statistics. All functions accept list[float] or rmath.Vector. Uses Welford's algorithm for numerically stable single-pass computations.

example.py
import rmath as rm

data = [2.4, 3.1, 2.8, 3.5, 2.9, 3.2]
report = rm.stats.describe(data)
# {'count': 6, 'mean': 2.98, 'variance': 0.14, ...}

t, p = rm.stats.t_test_independent(sample_a, sample_b)

Descriptive Statistics

FunctionReturnsDescription
sum(data)floatArithmetic sum
mean(data)floatArithmetic mean (NaN for empty)
median(data)floatMedian via O(N) selection
mode(data)floatMost frequent value
variance(data)floatSample variance (ddof=1)
std_dev(data)floatSample standard deviation
skewness(data)floatFisher-Pearson skewness
kurtosis(data)floatExcess kurtosis (Fisher)
iqr(data)floatInterquartile range (Q3 − Q1)
mad(data)floatMedian absolute deviation
describe(data)dictFull summary: count, mean, variance, std, skewness, kurtosis

Inferential Statistics

FunctionReturnsDescription
correlation(x, y)floatPearson correlation coefficient
covariance(x, y)floatSample covariance
spearman_correlation(x, y)floatSpearman rank correlation
t_test_independent(a, b)(t_stat, p_value)Welch's T-test for two samples
anova_oneway(groups)(F, df_between, df_within)One-way ANOVA across groups

Regression

FunctionReturnsDescription
linear_regression(x, y)dictReturns {'slope', 'intercept', 'r_squared'}

Distributions

Normal(mu, sigma)
.pdf(x)Probability density
.cdf(x)Cumulative distribution
.ppf(x)Percent-point function (inverse CDF)
.mean()Distribution mean
StudentT(location, scale, freedom)
.pdf(x) · .cdf(x) · .ppf(x)
Poisson(lambda_)
.pmf(k)Probability mass function
.cdf(k)Cumulative distribution
Exponential(rate)
.pdf(x) · .cdf(x) · .ppf(x)