isDiagonal property

bool isDiagonal

Tests if this Matrix is a diagonal matrix, with non-zero values only on the diagonal.

Implementation

bool get isDiagonal {
  final isEqual = dataType.equality.isEqual;
  final additiveIdentity = dataType.field.additiveIdentity;
  for (var r = 0; r < rowCount; r++) {
    for (var c = 0; c < colCount; c++) {
      if (r != c && !isEqual(getUnchecked(r, c), additiveIdentity)) {
        return false;
      }
    }
  }
  return true;
}