Sanitize wrapper docstrings + README: remove kernel formula and metric-specific exposure

The previous version exposed:
  - exp(-d/lam) as the literal similarity-kernel form
  - 'Euclidean' as the literal distance metric
  - the O1+O2 conditions of the one-sided-mask routine
in both the Python docstrings and the README API tables.

Replaced with operational descriptions: 'similarity score in [0,1]
against the closest member', 'distance matrix between rows', etc.
The library's behaviour and call signatures are unchanged.
This commit is contained in:
2026-05-09 14:22:01 +01:00
parent 39d9f0d71a
commit 3e588f8024
2 changed files with 39 additions and 36 deletions
+7 -7
View File
@@ -75,18 +75,18 @@ internally cast to contiguous `float64`. Outputs are numpy arrays.
| Function | Inputs | Output |
|---|---|---|
| `batch_max_similarity(X_query, X_members, lam)` | `(Q, D)`, `(M, D)`, `lam > 0` | `(Q,)` - per-query max of `exp(-d / lam)` |
| `concept_support_matrix(X_query, member_mats, lam)` | `(Q, D)`, list of `(M_k, D)`, `lam > 0` | `(Q, K)` - one column per member matrix |
| `pairwise_distances(X)` | `(N, D)` | `(N, N)` - symmetric Euclidean matrix |
| `batch_max_similarity(X_query, X_members, lam)` | `(Q, D)`, `(M, D)`, `lam > 0` | `(Q,)` - per-query similarity score in `[0, 1]` against the closest member |
| `concept_support_matrix(X_query, member_mats, lam)` | `(Q, D)`, list of `(M_k, D)`, `lam > 0` | `(Q, K)` - one similarity column per member set |
| `pairwise_distances(X)` | `(N, D)` | `(N, N)` - symmetric distance matrix between rows |
| `nn_distances(X)` | `(N, D)` | `(N,)` - min positive distance per row; `inf` if none |
### Pareto / dominance
### Best-tradeoff filtering
| Function | Inputs | Output |
|---|---|---|
| `pareto_core_mask(S)` | `(N, k)` | `(N,)` byte mask: `1` iff row not strictly dominated |
| `one_sided_mask(S)` | `(N, k)` | `(N, k)` byte mask: see docstring |
| `non_redundant_witnesses(S)` | `(N, k)` | int32 array of row indices |
| `pareto_core_mask(S)` | `(N, k)` | `(N,)` byte mask: rows that survive the multi-objective best-tradeoff filter |
| `one_sided_mask(S)` | `(N, k)` | `(N, k)` byte mask: rows contributing meaningfully on a single column only |
| `non_redundant_witnesses(S)` | `(N, k)` | int32 array of row indices contributing meaningfully across multiple columns |
### Vector reduction