It needs Mathematica or the Wolfram Engine 12 or newer, on Linux, macOS or Windows, since keys and monoliths cross as NumericArray and lists as DataStore.
It exposes dense indexes; sequence, matrix and geospatial indexes follow as the C library ships them.
Topics
| Installation | |
|---|---|
| Quickstart | Put the library's directory on $LibraryPath and load the package. |
| Executors7 | An executor owns the host threads or device streams; an index owns the entries. |
| Keys | Keys are USearch's 128-bit identities, written as integers below 2¹²⁸ and crossing as sixteen bytes, most significant first. |
| Inputs and Outputs5 | Every output whose length only the call knows, such as matches, rows, products and monoliths, lands in an arena you pass. |
| Metrics1 | |
| Residency4 | Where the payload lives is the constructor's name, as in the C lifecycle verbs, so a residency an index lacks has no constructor to call. |
| Serialization10 | DenseSave[receiver, path] writes a checkpoint, and the path carries the SafeGraphs extension that picks the layout: .safegraphs for one monolith, .safegraphs.json for a manifest beside its shards. |
| Refinement1 | DenseRefine[receiver] re-links the graph and answers how many nodes had their neighbors changed, taking "ExpansionFactor" like the other walks. |
| Linear Algebra3 | DenseMultiply[receiver, left, arena] runs on the inner metric and answers <|"Offsets"->…, "Keys"->…, "Scores"->…, "Required"->…|>. |
| Retrieval and Streaming1 | DenseGet[receiver, key, arena] answers every row stored under a key as a rows × dimensions real matrix, empty for an absent key. |
| Introspection6 | |
| Errors | |
| Platform Notes |