isDiagonal property
bool
get
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;
}