@danielsimonjr/mathts-functions 0.29.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Density-based clustering (DBSCAN) + k-nearest-neighbour classifier/regressor
3
+ * (Phase 3 Task 4 — ML primitives).
4
+ *
5
+ * All three functions share brute-force Euclidean-distance neighbour search.
6
+ * The library's exported `kdTree` (`typed/geometry.ts`) has no radius-query
7
+ * method, so DBSCAN's ε-neighborhoods are computed O(n²) brute-force here —
8
+ * correct, just not the asymptotically fastest option. A kd-tree range-search
9
+ * (and a kd-tree-backed k-NN search) is future work if this becomes a hot path.
10
+ */
11
+ /**
12
+ * DBSCAN density-based clustering. A point is a **core point** if its
13
+ * ε-neighborhood (including itself) has at least `minPts` members; clusters
14
+ * are grown by expanding outward from core points through their neighbors
15
+ * (density-reachability). Points reached only from a core point's
16
+ * neighborhood but that are not themselves core are labeled as border points
17
+ * of that cluster; points never reached are **noise** (`-1`).
18
+ *
19
+ * @param points - Row-vectors (n × d)
20
+ * @param eps - Neighborhood radius (Euclidean)
21
+ * @param minPts - Minimum neighborhood size (including the point itself) for a core point
22
+ * @returns 0-based cluster label per point; `-1` marks noise
23
+ *
24
+ * @example
25
+ * dbscan([[0, 0], [0.1, 0.1], [10, 10], [50, 50]], 1.0, 2)
26
+ * // => [0, 0, -1, -1] (one 2-point cluster, two noise points)
27
+ */
28
+ export declare function dbscan(points: number[][], eps: number, minPts: number): number[];
29
+ /**
30
+ * k-nearest-neighbour classifier: majority vote of the `k` closest training
31
+ * points (Euclidean distance). Ties are broken by the label of the single
32
+ * nearest point among the tied labels.
33
+ *
34
+ * @param train - Training row-vectors (n × d)
35
+ * @param labels - Training labels (length n)
36
+ * @param query - Query row-vectors (m × d)
37
+ * @param k - Number of neighbors
38
+ * @returns Predicted label per query row
39
+ */
40
+ export declare function knnClassify(train: number[][], labels: (number | string)[], query: number[][], k: number): (number | string)[];
41
+ /**
42
+ * k-nearest-neighbour regressor: mean of the `k` closest training targets
43
+ * (Euclidean distance).
44
+ *
45
+ * @param train - Training row-vectors (n × d)
46
+ * @param targets - Training targets (length n)
47
+ * @param query - Query row-vectors (m × d)
48
+ * @param k - Number of neighbors
49
+ * @returns Predicted (mean) target per query row
50
+ */
51
+ export declare function knnRegress(train: number[][], targets: number[], query: number[][], k: number): number[];
52
+ //# sourceMappingURL=dbscan-knn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbscan-knn.d.ts","sourceRoot":"","sources":["../../src/ml/dbscan-knn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoBH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAoChF;AASD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EAAE,EAAE,EACjB,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAC3B,KAAK,EAAE,MAAM,EAAE,EAAE,EACjB,CAAC,EAAE,MAAM,GACR,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAwBrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EAAE,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,MAAM,EAAE,EAAE,EACjB,CAAC,EAAE,MAAM,GACR,MAAM,EAAE,CAMV"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * 1-D Gaussian kernel density estimation (Wave — ML primitives, Phase 3 Task 5).
3
+ *
4
+ * The first nonparametric density estimator in the library. Given samples
5
+ * `s_1..s_n`, estimates the density at query points via a sum of Gaussian
6
+ * "bumps" centered on each sample:
7
+ *
8
+ * density(x) = (1 / (n * h)) * sum_i phi((x - s_i) / h)
9
+ *
10
+ * where `phi` is the standard normal pdf and `h` is the bandwidth. Bandwidth
11
+ * defaults to Silverman's rule of thumb, which balances bias (too smooth)
12
+ * against variance (too noisy) using the sample spread.
13
+ */
14
+ export interface GaussianKDEOptions {
15
+ /** Bandwidth (smoothing parameter). Defaults to Silverman's rule of thumb. */
16
+ bandwidth?: number;
17
+ }
18
+ export interface GaussianKDEResult {
19
+ /** Evaluate the estimated density at each of `xs`. */
20
+ evaluate: (xs: number[]) => number[];
21
+ /** The bandwidth actually used (either supplied or Silverman's rule). */
22
+ bandwidth: number;
23
+ }
24
+ /**
25
+ * 1-D Gaussian kernel density estimation.
26
+ *
27
+ * @param samples - Observed sample values (n >= 2 for the default bandwidth;
28
+ * a single sample requires an explicit `opts.bandwidth`)
29
+ * @param opts - `bandwidth` (default: Silverman's rule of thumb)
30
+ * @returns `evaluate(xs)` — density at each query point — and the chosen `bandwidth`
31
+ *
32
+ * @example
33
+ * const kde = gaussianKDE([-1, 0, 0, 1]);
34
+ * kde.evaluate([0]); // => density near the sample center (a single peak)
35
+ */
36
+ export declare function gaussianKDE(samples: number[], opts?: GaussianKDEOptions): GaussianKDEResult;
37
+ //# sourceMappingURL=kde.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kde.d.ts","sourceRoot":"","sources":["../../src/ml/kde.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACrC,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;CACnB;AAqDD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,kBAAuB,GAAG,iBAAiB,CAoB/F"}
@@ -0,0 +1,34 @@
1
+ export interface LogisticRegressionOptions {
2
+ /** Prepend a column of ones (default true). */
3
+ intercept?: boolean;
4
+ /** Convergence tolerance on the max-norm of the Newton step (default 1e-8). */
5
+ tol?: number;
6
+ /** Maximum IRLS iterations (default 100). */
7
+ maxIter?: number;
8
+ }
9
+ export interface LogisticRegressionResult {
10
+ /** Fitted coefficients for the original predictors (excludes the intercept). */
11
+ coefficients: number[];
12
+ /** Fitted intercept (0 if `opts.intercept === false`). */
13
+ intercept: number;
14
+ /** Predict class probabilities (P(y=1|x)) for new rows. */
15
+ predictProba: (x: number[][]) => number[];
16
+ /** Predict class labels (threshold 0.5) for new rows. */
17
+ predict: (x: number[][]) => number[];
18
+ }
19
+ /**
20
+ * Binary logistic regression `P(y=1|x) = sigmoid(xᵀβ)` fit by IRLS (Newton-Raphson
21
+ * on the Bernoulli log-likelihood).
22
+ *
23
+ * @param X - Design matrix (rows = observations, cols = predictors)
24
+ * @param y - Binary labels, each in {0, 1}
25
+ * @param opts - `intercept` (default true) prepends a column of ones to X;
26
+ * `tol` (default 1e-8) convergence tolerance; `maxIter` (default 100)
27
+ * @returns Fitted coefficients/intercept plus `predict`/`predictProba`
28
+ *
29
+ * @example
30
+ * const m = logisticRegression([[-2], [-1], [1], [2]], [0, 0, 1, 1]);
31
+ * m.predict([[3]]) // => [1]
32
+ */
33
+ export declare function logisticRegression(X: number[][], y: number[], opts?: LogisticRegressionOptions): LogisticRegressionResult;
34
+ //# sourceMappingURL=logistic-regression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logistic-regression.d.ts","sourceRoot":"","sources":["../../src/ml/logistic-regression.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,yBAAyB;IACxC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,gFAAgF;IAChF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1C,yDAAyD;IACzD,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;CACtC;AAkBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,MAAM,EAAE,EAAE,EACb,CAAC,EAAE,MAAM,EAAE,EACX,IAAI,CAAC,EAAE,yBAAyB,GAC/B,wBAAwB,CAiG1B"}
@@ -0,0 +1,37 @@
1
+ export interface OlsOptions {
2
+ /** Prepend a column of ones (default true). */
3
+ intercept?: boolean;
4
+ }
5
+ export interface OlsResult {
6
+ /** Fitted coefficients (intercept first, if included). */
7
+ coefficients: number[];
8
+ /** Standard error of each coefficient. */
9
+ stderr: number[];
10
+ /** t-statistic for each coefficient (H0: coefficient = 0). */
11
+ tValues: number[];
12
+ /** Two-sided p-value for each coefficient's t-statistic. */
13
+ pValues: number[];
14
+ /** Coefficient of determination. */
15
+ r2: number;
16
+ /** R² adjusted for the number of predictors. */
17
+ adjR2: number;
18
+ /** Overall model F-statistic (H0: all slope coefficients = 0). */
19
+ fStat: number;
20
+ /** Residuals y - Xβ. */
21
+ residuals: number[];
22
+ }
23
+ /**
24
+ * Multiple linear regression `y ≈ Xβ` by ordinary least squares (normal equations),
25
+ * with full inference: standard errors, t/p-values per coefficient, R²/adjusted-R²,
26
+ * the overall model F-statistic, and residuals.
27
+ *
28
+ * @param X - Design matrix (rows = observations, cols = predictors)
29
+ * @param y - Response vector (length = number of observations)
30
+ * @param opts - `intercept` (default true) prepends a column of ones to X
31
+ *
32
+ * @example
33
+ * ols([[1, 1], [2, 0], [3, 1], [4, 0]], [6, 5, 10, 9])
34
+ * // => coefficients ~= [1, 2, 3] (y = 1 + 2*x1 + 3*x2), r2 = 1
35
+ */
36
+ export declare function ols(X: number[][], y: number[], opts?: OlsOptions): OlsResult;
37
+ //# sourceMappingURL=ols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ols.d.ts","sourceRoot":"","sources":["../../src/ml/ols.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,UAAU;IACzB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,0DAA0D;IAC1D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAqED;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAmC5E"}
@@ -0,0 +1,65 @@
1
+ export interface RidgeOptions {
2
+ /** Center X/y and fit an unpenalized intercept (default true). */
3
+ intercept?: boolean;
4
+ }
5
+ export interface CoordinateDescentOptions extends RidgeOptions {
6
+ /** Maximum coordinate-descent sweeps (default 1000). */
7
+ maxIter?: number;
8
+ /** Convergence tolerance on the max coefficient change per sweep (default 1e-7). */
9
+ tol?: number;
10
+ }
11
+ export interface RegularizedRegressionResult {
12
+ /** Fitted coefficients, one per predictor column (intercept excluded). */
13
+ coefficients: number[];
14
+ /** Fitted intercept (0 if `opts.intercept === false`). */
15
+ intercept: number;
16
+ }
17
+ /**
18
+ * Ridge regression (L2-penalized least squares) with a closed-form solution on
19
+ * centered data: `β = (XᵀX + αI)⁻¹Xᵀy`. The intercept is never penalized.
20
+ *
21
+ * @param X - Design matrix (rows = observations, cols = predictors)
22
+ * @param y - Response vector (length = number of observations)
23
+ * @param alpha - L2 penalty strength (`alpha >= 0`; `alpha = 0` is OLS)
24
+ * @param opts - `intercept` (default true)
25
+ *
26
+ * @example
27
+ * ridge([[1], [2], [3], [4]], [2, 4, 6, 8], 0)
28
+ * // => { coefficients: [2], intercept: 0 } (recovers the exact OLS fit)
29
+ */
30
+ export declare function ridge(X: number[][], y: number[], alpha: number, opts?: RidgeOptions): RegularizedRegressionResult;
31
+ /**
32
+ * Lasso regression (L1-penalized least squares) via cyclic coordinate descent
33
+ * with soft-thresholding on standardized columns. Unlike ridge, large enough
34
+ * penalties drive coefficients to exactly 0 (sparse solutions). The intercept
35
+ * is never penalized.
36
+ *
37
+ * @param X - Design matrix (rows = observations, cols = predictors)
38
+ * @param y - Response vector (length = number of observations)
39
+ * @param alpha - L1 penalty strength (`alpha >= 0`; `alpha = 0` ~ OLS)
40
+ * @param opts - `intercept` (default true), `maxIter` (default 1000), `tol` (default 1e-7)
41
+ *
42
+ * @example
43
+ * lasso([[1], [2], [3], [4]], [2, 4, 6, 8], 100)
44
+ * // => coefficients[0] === 0 (penalty overwhelms the signal)
45
+ */
46
+ export declare function lasso(X: number[][], y: number[], alpha: number, opts?: CoordinateDescentOptions): RegularizedRegressionResult;
47
+ /**
48
+ * Elastic-net regression combining an L1 penalty (`alpha * l1Ratio`, soft-
49
+ * thresholded) and an L2 penalty (`alpha * (1 - l1Ratio)`, added to the
50
+ * coordinate-descent denominator) via the same cyclic coordinate descent as
51
+ * `lasso`. `l1Ratio = 1` is pure lasso; `l1Ratio = 0` is (coordinate-descent)
52
+ * ridge. The intercept is never penalized.
53
+ *
54
+ * @param X - Design matrix (rows = observations, cols = predictors)
55
+ * @param y - Response vector (length = number of observations)
56
+ * @param alpha - Overall penalty strength (`alpha >= 0`)
57
+ * @param l1Ratio - Mixing parameter in `[0, 1]` between L1 and L2
58
+ * @param opts - `intercept` (default true), `maxIter` (default 1000), `tol` (default 1e-7)
59
+ *
60
+ * @example
61
+ * elasticNet([[1], [2], [3], [4]], [2, 4, 6, 8], 0.1, 0.5)
62
+ * // => finite coefficients blending ridge shrinkage and lasso sparsity
63
+ */
64
+ export declare function elasticNet(X: number[][], y: number[], alpha: number, l1Ratio: number, opts?: CoordinateDescentOptions): RegularizedRegressionResult;
65
+ //# sourceMappingURL=regularized-regression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regularized-regression.d.ts","sourceRoot":"","sources":["../../src/ml/regularized-regression.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,2BAA2B;IAC1C,0EAA0E;IAC1E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;CACnB;AAqDD;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CACnB,CAAC,EAAE,MAAM,EAAE,EAAE,EACb,CAAC,EAAE,MAAM,EAAE,EACX,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,YAAY,GAClB,2BAA2B,CAwB7B;AAyDD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,KAAK,CACnB,CAAC,EAAE,MAAM,EAAE,EAAE,EACb,CAAC,EAAE,MAAM,EAAE,EACX,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,wBAAwB,GAC9B,2BAA2B,CAc7B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,MAAM,EAAE,EAAE,EACb,CAAC,EAAE,MAAM,EAAE,EACX,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,wBAAwB,GAC9B,2BAA2B,CAiB7B"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * BFGS quasi-Newton minimization of `f: ℝⁿ → ℝ`.
3
+ *
4
+ * Maintains an approximate inverse Hessian `H` (started at the identity) and
5
+ * updates it after every accepted step via the classic BFGS formula:
6
+ *
7
+ * s = x_{k+1} − x_k, y = g_{k+1} − g_k, ρ = 1 / (yᵀs)
8
+ * H ← (I − ρ s yᵀ) H (I − ρ y sᵀ) + ρ s sᵀ
9
+ *
10
+ * The update is skipped (H left unchanged) when `yᵀs ≤ 1e-12` — a near-zero
11
+ * or negative curvature pairing would make H indefinite. The search direction
12
+ * is `d = −H g`, accepted via a backtracking Armijo line search (`c1 = 1e-4`,
13
+ * starting step `α = 1`, halved up to 50 times).
14
+ *
15
+ * `opts.bounds`, if supplied, turns this into a lightweight **projected**
16
+ * BFGS: after every accepted step each coordinate is clipped into its
17
+ * `[lo, hi]` range. This is NOT the full active-set L-BFGS-B method (no
18
+ * distinction between free/active variables in the Hessian update) — it is a
19
+ * simple, effective projection that keeps the iterate feasible.
20
+ *
21
+ * Complements the derivative-free `minimize` (Nelder–Mead): BFGS converges
22
+ * superlinearly on smooth functions using gradient information (analytic or
23
+ * numeric), at the cost of assuming enough smoothness for the gradient/line
24
+ * search to behave.
25
+ *
26
+ * @packageDocumentation
27
+ */
28
+ type f64 = number;
29
+ /** Options for {@link bfgs}. */
30
+ export interface BfgsOptions {
31
+ /**
32
+ * Analytic gradient `∇f(x)`. If omitted, a central-difference gradient is
33
+ * used with per-coordinate step `h_i = max(1, |x_i|) · cbrt(machine eps)`.
34
+ */
35
+ grad?: (x: number[]) => number[];
36
+ /**
37
+ * Box constraints `[lo_i, hi_i]` per coordinate. After each accepted step,
38
+ * `x` is clipped into these bounds (projected BFGS — a lightweight
39
+ * approximation of L-BFGS-B, not the full active-set method).
40
+ */
41
+ bounds?: [f64, f64][];
42
+ /** Convergence tolerance on `‖g‖∞` (default 1e-8). */
43
+ tol?: f64;
44
+ /** Maximum iterations (default 500). */
45
+ maxIter?: number;
46
+ }
47
+ /** Result of {@link bfgs}. */
48
+ export interface BfgsResult {
49
+ /** The minimizer. */
50
+ x: number[];
51
+ /** `f(x)` at the minimizer. */
52
+ fval: f64;
53
+ /** Number of iterations performed. */
54
+ iterations: number;
55
+ /** Whether `‖g‖∞ < tol` was reached within `maxIter`. */
56
+ converged: boolean;
57
+ }
58
+ /**
59
+ * Minimize `f: ℝⁿ → ℝ` from `x0` via BFGS quasi-Newton with an Armijo
60
+ * backtracking line search. Uses `opts.grad` if supplied, else a local
61
+ * central-difference gradient. `opts.bounds` clips each accepted step
62
+ * (projected BFGS, not full L-BFGS-B).
63
+ *
64
+ * @example
65
+ * bfgs((v) => (1 - v[0]) ** 2 + 100 * (v[1] - v[0] ** 2) ** 2, [-1.2, 1])
66
+ * // => { x: ~[1, 1], fval: ~0, ... }
67
+ */
68
+ export declare function bfgs(f: (x: number[]) => number, x0: number[], opts?: BfgsOptions): BfgsResult;
69
+ export {};
70
+ //# sourceMappingURL=bfgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bfgs.d.ts","sourceRoot":"","sources":["../../src/numeric/bfgs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,KAAK,GAAG,GAAG,MAAM,CAAC;AAElB,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACtB,sDAAsD;IACtD,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8BAA8B;AAC9B,MAAM,WAAW,UAAU;IACzB,qBAAqB;IACrB,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,+BAA+B;IAC/B,IAAI,EAAE,GAAG,CAAC;IACV,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;CACpB;AA+CD;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,WAAgB,GAAG,UAAU,CA8EjG"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Constrained least squares: `nnls` (Lawson–Hanson active-set non-negative
3
+ * least squares) and `lsqBounded` (projected-gradient box-constrained least
4
+ * squares). Both minimize `||Ax - b||_2` subject to simple bound constraints
5
+ * on `x`, complementing the unconstrained `leastSquares` (`../typed/numeric.ts`).
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ /** Options shared by `nnls` and `lsqBounded`. */
10
+ export interface NnlsOptions {
11
+ /** Convergence tolerance (default 1e-10). */
12
+ tol?: number;
13
+ /** Maximum iterations (default `3 * n`). */
14
+ maxIter?: number;
15
+ }
16
+ /** Options for `lsqBounded` (same shape as `NnlsOptions`, kept as a distinct alias for clarity). */
17
+ export type LsqBoundedOptions = NnlsOptions;
18
+ /** Result of `nnls` / `lsqBounded`: the solution and its residual norm. */
19
+ export interface NnlsResult {
20
+ /** Solution vector x. */
21
+ x: number[];
22
+ /** `||Ax - b||_2` at the returned solution. */
23
+ residual: number;
24
+ }
25
+ /** Alias for `NnlsResult` (used by `lsqBounded`). */
26
+ export type LsqBoundedResult = NnlsResult;
27
+ /**
28
+ * Non-negative least squares: `min ||Ax - b||_2 s.t. x >= 0`, via the
29
+ * Lawson–Hanson active-set algorithm.
30
+ *
31
+ * Maintains a "passive" set `P` of coordinates allowed to be nonzero (all
32
+ * others held at 0). Each outer iteration adds to `P` the inactive index
33
+ * with the most positive gradient component `w_j = (A^T(b - Ax))_j`, solves
34
+ * the unconstrained least-squares problem restricted to the columns in `P`
35
+ * (via `leastSquares`), and — if that restricted solution has any
36
+ * non-positive component — walks back along the line from the current `x`
37
+ * toward it until the first such component would hit zero, dropping that
38
+ * index from `P` and re-solving. Terminates when no inactive index has a
39
+ * positive gradient (KKT optimality) or `maxIter` is exhausted.
40
+ *
41
+ * @param A - Matrix (m x n)
42
+ * @param b - Right-hand side (length m)
43
+ * @param opts - Options (tol, maxIter; default maxIter = 3n)
44
+ * @returns `{ x, residual }` with `x >= 0` (up to `tol`) and `residual = ||Ax - b||_2`
45
+ *
46
+ * @example
47
+ * nnls([[1, 0], [0, 1]], [3, -2]) // => { x: [3, 0], residual: 2 }
48
+ */
49
+ export declare function nnls(A: number[][], b: number[], opts?: NnlsOptions): NnlsResult;
50
+ /**
51
+ * Box-constrained least squares: `min ||Ax - b||_2 s.t. lower <= x <= upper`,
52
+ * via projected-gradient descent.
53
+ *
54
+ * Each iteration computes the gradient `g = A^T(Ax - b)` of the smooth
55
+ * objective `f(x) = (1/2)||Ax - b||^2`, takes a candidate step
56
+ * `x - alpha*g` projected (clipped) into the box, and backtracks
57
+ * (`alpha /= 2`) until the projected step does not increase `f`. Converges
58
+ * when the projected-gradient norm `||x - clip(x - g, lower, upper)||` is
59
+ * below `tol`.
60
+ *
61
+ * @param A - Matrix (m x n)
62
+ * @param b - Right-hand side (length m)
63
+ * @param lower - Per-component lower bounds (length n)
64
+ * @param upper - Per-component upper bounds (length n)
65
+ * @param opts - Options (tol, maxIter; default maxIter = max(200, 20n))
66
+ * @returns `{ x, residual }` with `lower <= x <= upper` and `residual = ||Ax - b||_2`
67
+ *
68
+ * @example
69
+ * lsqBounded([[1, 0], [0, 1]], [5, -3], [0, 0], [2, 2]) // => { x: [2, 0], residual: ... }
70
+ */
71
+ export declare function lsqBounded(A: number[][], b: number[], lower: number[], upper: number[], opts?: LsqBoundedOptions): LsqBoundedResult;
72
+ //# sourceMappingURL=nnls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nnls.d.ts","sourceRoot":"","sources":["../../src/numeric/nnls.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,oGAAoG;AACpG,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAE5C,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AA8B1C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,WAAgB,GAAG,UAAU,CA6EnF;AAOD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,MAAM,EAAE,EAAE,EACb,CAAC,EAAE,MAAM,EAAE,EACX,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,GAAE,iBAAsB,GAC3B,gBAAgB,CAgElB"}
@@ -0,0 +1,46 @@
1
+ /** Result of {@link chi2Contingency}. */
2
+ export interface Chi2ContingencyResult {
3
+ chi2: number;
4
+ pValue: number;
5
+ dof: number;
6
+ expected: number[][];
7
+ cramersV: number;
8
+ }
9
+ /** Options for {@link chi2Contingency}. */
10
+ export interface Chi2ContingencyOptions {
11
+ /** Apply the Yates continuity correction on 2x2 tables. Default true (matches scipy). */
12
+ correction?: boolean;
13
+ }
14
+ /**
15
+ * Chi-square test of independence on a contingency table.
16
+ *
17
+ * Expected counts `E_ij = rowSum_i * colSum_j / total`. `chi2 = sum((O_ij -
18
+ * E_ij)^2 / E_ij)`, with the Yates continuity correction
19
+ * `(|O_ij - E_ij| - 0.5)^2 / E_ij` applied on 2x2 tables when
20
+ * `opts.correction !== false` (default true, matching
21
+ * `scipy.stats.chi2_contingency`). `dof = (rows - 1) * (cols - 1)`; `pValue =
22
+ * 1 - chiSquaredCDF(chi2, dof)`. `cramersV = sqrt(chi2 / (total *
23
+ * min(rows-1, cols-1)))`.
24
+ *
25
+ * @example
26
+ * chi2Contingency([[10, 20], [30, 40]], { correction: false });
27
+ * // { chi2: 0.7937, pValue: 0.373, dof: 1, expected: [[12, 18], [28, 42]], cramersV }
28
+ */
29
+ export declare function chi2Contingency(table: readonly (readonly number[])[], opts?: Chi2ContingencyOptions): Chi2ContingencyResult;
30
+ /** Supported multiple-testing correction methods. */
31
+ export type MultipleTestMethod = 'bonferroni' | 'holm' | 'bh';
32
+ /**
33
+ * Multiple-testing p-value adjustment, returned in the original input order.
34
+ * Matches `statsmodels.stats.multitest.multipletests`.
35
+ *
36
+ * - `bonferroni`: `min(1, p_i * n)`.
37
+ * - `holm` (step-down): sort ascending; adjusted_(k) = `min(1, max_{j<=k}
38
+ * (n - j + 1) * p_(j))`, enforced monotonic non-decreasing.
39
+ * - `bh` (Benjamini-Hochberg FDR, step-up): sort ascending; adjusted_(k) =
40
+ * `min(1, min_{j>=k} (n / j) * p_(j))`, enforced monotonic non-decreasing
41
+ * from the largest p-value down.
42
+ *
43
+ * @example multipleTest([0.01, 0.04, 0.5], 'bonferroni'); // [0.03, 0.12, 1]
44
+ */
45
+ export declare function multipleTest(pValues: readonly number[], method: MultipleTestMethod): number[];
46
+ //# sourceMappingURL=inference-extra.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inference-extra.d.ts","sourceRoot":"","sources":["../../src/stats/inference-extra.ts"],"names":[],"mappings":"AAaA,yCAAyC;AACzC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,yFAAyF;IACzF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACrC,IAAI,GAAE,sBAA2B,GAChC,qBAAqB,CA0CvB;AAED,qDAAqD;AACrD,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;AAE9D;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAiC7F"}
@@ -367,15 +367,36 @@ export declare function padeApproximant(coeffs: number[], m: i32, n: i32): {
367
367
  */
368
368
  export declare function quadprog(H: number[][], f: number[], A: number[][], b: number[]): number[];
369
369
  /**
370
- * Linear programming: minimize c^T x subject to Ax <= b, x >= 0.
371
- * Simple simplex method implementation.
370
+ * Options form of {@link linprog}: minimize c^T x subject to A_ub x <= b_ub,
371
+ * A_eq x = b_eq, and per-variable bounds.
372
+ */
373
+ export interface LinprogOptions {
374
+ A_ub?: number[][];
375
+ b_ub?: number[];
376
+ A_eq?: number[][];
377
+ b_eq?: number[];
378
+ /** Per-variable [lower, upper] bounds; null = unbounded. Default: [0, null] for every variable. */
379
+ bounds?: readonly (readonly [number | null, number | null])[];
380
+ }
381
+ /** Result of the options form of {@link linprog}. */
382
+ export interface LinprogResult {
383
+ x: number[];
384
+ fun: number;
385
+ success: boolean;
386
+ status: 'optimal' | 'infeasible' | 'unbounded';
387
+ }
388
+ /**
389
+ * Linear programming: minimize c^T x.
372
390
  *
373
- * @param c - Objective coefficients (length n)
374
- * @param A - Constraint matrix (m x n)
375
- * @param b - Constraint bounds (length m, non-negative)
376
- * @returns Solution vector x, or null if infeasible
391
+ * Two overloads:
392
+ * - Legacy positional form `linprog(c, A_ub, b_ub)` — subject to `A_ub x <= b_ub`,
393
+ * `x >= 0`; returns the solution vector `x` (or `null` if unbounded).
394
+ * - Options form `linprog(c, { A_ub, b_ub, A_eq, b_eq, bounds })` — a two-phase
395
+ * simplex supporting equality constraints, variable bounds, and negative-RHS
396
+ * rows; returns `{ x, fun, success, status }`.
377
397
  */
378
- export declare function linprog(c: number[], A: number[][], b: number[]): number[] | null;
398
+ export declare function linprog(c: number[], A_ub: number[][], b_ub: number[]): number[] | null;
399
+ export declare function linprog(c: number[], opts: LinprogOptions): LinprogResult;
379
400
  /**
380
401
  * Simple 1D PDE solver using finite differences (heat equation).
381
402
  *
@@ -1 +1 @@
1
- {"version":3,"file":"numeric.d.ts","sourceRoot":"","sources":["../../src/typed/numeric.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numeric.d.ts","sourceRoot":"","sources":["../../src/typed/numeric.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielsimonjr/mathts-functions",
3
- "version": "0.29.0",
3
+ "version": "0.31.0",
4
4
  "description": "Mathematical functions for MathTS - arithmetic, algebra, trigonometry, statistics, and more",
5
5
  "author": "Daniel Simon Jr.",
6
6
  "license": "MIT",