Description
Combine duplicate COO coordinate occurrences by addition in first-coordinate appearance order, retaining explicit summed zeros; no sparsity pruning.
A sparse matrix can be stored as coordinate triplets or as pointer/index/value arrays. Stored entries are not necessarily distinct numerical nonzeros: duplicates and explicit zeros can matter to representation checks. Row and column coordinates here are zero-based, and omitted entries are handled only as stated for the particular operation.
Combine duplicate COO coordinate occurrences by addition in first-coordinate appearance order, retaining explicit summed zeros; no sparsity pruning.
When to use this tool
Use this tool to combine duplicate COO coordinate occurrences by addition in first-coordinate appearance order, retaining explicit summed zeros; no sparsity pruning.
How to use the tool and how it works
- Enter tripletsJson, rows, columns using the field definitions below. For JSON text, serialize the explicit records in the shown shape.
- Run the operation. Correct input errors before interpreting an output.
- Read result.triplets. Use the ordering, boundary rules and absence conditions described below.
Group equal [row, column] coordinates in first-appearance order and sum their values into one record per group.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| tripletsJson | JSON array of records with zero-based row, column and finite value fields. | Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies. |
| rows | Declared row count; coordinate operations use 0–128, dense budgets allow larger integers. | A finite safe integer within the operation’s stated bounds. |
| columns | Declared column count; coordinate operations use 0–128, dense budgets allow larger integers. | A finite safe integer within the operation’s stated bounds. |
These are the decoded structures used in the example’s JSON text fields. Supply the corresponding serialized JSON strings as input.
{
"tripletsJson": [
{
"row": 0,
"column": 1,
"value": 2
},
{
"row": 0,
"column": 1,
"value": 3
},
{
"row": 1,
"column": 0,
"value": 0
}
]
} | Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.triplets | Stored {row, column, value} records under the operation’s stated ordering and duplicate policy. |
{
"input": {
"tripletsJson": "[{\"row\":0,\"column\":1,\"value\":2},{\"row\":0,\"column\":1,\"value\":3},{\"row\":1,\"column\":0,\"value\":0}]",
"rows": 2,
"columns": 2
},
"output": {
"result": {
"triplets": [
{
"row": 0,
"column": 1,
"value": 5
},
{
"row": 1,
"column": 0,
"value": 0
}
]
}
}
} Limitations and assumptions
- A sum of zero remains explicitly stored; no tolerance or automatic sorting is applied.
- Triplets are JSON records with row, column and value. Coordinate shapes are ordinarily bounded to 128 per axis; compressed major dimensions are limited to 127 for pointer-list capacity. The dense-budget operation has separate larger shape limits and returns exact counts as decimal text.
- Every declared top-level input field is required and unexpected fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and no larger in absolute magnitude than the safe-integer limit; operations returning exact large integers use decimal text. Positions are zero-based and spans end exclusively unless the operation explicitly states a different convention.
Alternative or Complementary methods
Distinguish stored-record counts, coordinate-pattern checks and arithmetic matrix properties. Combine duplicates or prune zeros explicitly when required, and use a matrix library for numerical linear algebra.
References
Similar or alternative tools
- Sparse Coordinate Axis Offset
Translate bounded COO coordinates into explicitly supplied target dimensions; out-of-target entries are rejected rather than clipped.
- Sparse Coordinate Column Counts
Count COO entry occurrences per column, including duplicate coordinates and explicit zero values; not dense nonzero support.