Skip to content

Main content

Matrix Banded Row First Last Column Tool

Compute matrix banded row first last column from explicit bounded inputs.

Loading tool…

Description

For a valid row, set first = max(0, row - lower) and last = min(columns - 1, row + upper).

A matrix coordinate, a storage offset, and a block-local coordinate are different representations. Shape, stride, origin, and transpose conventions determine the correct mapping.

For a valid row, set first = max(0, row - lower) and last = min(columns - 1, row + upper).

When to use this tool

Use Matrix Banded Row First Last Column when you need one explicit matrix-coordinate or address conversion.

How to use the tool and how it works

  1. Enter row, rows, columns, lower, upper. Use the units and conventions below.
  2. Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
  3. Read first, last, count. Use the output convention below.

For a valid row, set first = max(0, row - lower) and last = min(columns - 1, row + upper). Return max(0, last - first + 1) as count.1

Input fieldMeaning and unitsAccepted input
rowRowRequired. Safe integer; minimum 0.
rowsRowsRequired. Safe integer; minimum 1.
columnsColumnsRequired. Safe integer; minimum 1.
lowerLowerRequired. Safe integer; minimum 0.
upperUpperRequired. Safe integer; minimum 0.
Output fieldInterpretationReturned shape
firstFirst candidate column; compare count before treating the interval as occupied.Required. Safe integer.
lastLast candidate column; may be less than first for an empty band.Required. Safe integer.
countCountRequired. Safe integer.
json
{
  "input": {
    "row": 0,
    "rows": 5,
    "columns": 5,
    "lower": 1,
    "upper": 2
  },
  "output": {
    "first": 0,
    "last": 2,
    "count": 3
  }
}

Limitations and assumptions

  • For an empty row band first can exceed last; use count before interpreting the interval, and no sparsity values are inspected.
  • Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
  • Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.

Alternative or Complementary methods

Validate the full shape, memory span, and storage convention before using the resulting index.

References

  1. Calculation and input contract: matrix/matrix-banded-row-first-last-column — tool.io

Similar or alternative tools