[RFC]: Add matrix assertion utilities to @stdlib/assert (tracking issue)
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 1.3k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 611
Description
### Description
This RFC proposes adding basic matrix structure assertion utilities to the `@stdlib/assert` namespace.
These functions test whether an ndarray-like object conforms to specific matrix patterns listed below.
#### Matrix Assertion Checklist
- [ ] `is-null-matrix`
A matrix where all elements are zero. [Learn more](https://en.wikipedia.org/wiki/Zero_matrix)
- [ ] `is-identity-matrix`
A diagonal matrix where all diagonal elements are one. [Learn more](https://en.wikipedia.org/wiki/Identity_matrix)
- [ ] `is-diagonal-matrix`
A square matrix where all off-diagonal elements are zero. [Learn more](https://en.wikipedia.org/wiki/Diagonal_matrix)
- [ ] `is-upper-triangular-matrix`
A square matrix where all elements below the main diagonal are zero. [Learn more](https://en.wikipedia.org/wiki/Triangular_matrix)
- [ ] `is-lower-triangular-matrix`
A square matrix where all elements above the main diagonal are zero. [Learn more](https://en.wikipedia.org/wiki/Triangular_matrix)
- [ ] `is-permutation-matrix`
A binary square matrix with exactly one entry of `1` in each row and column, and `0`s elsewhere. [Learn more](https://en.wikipedia.org/wiki/Permutation_matrix)
### Related Issues
No existing related issues
### Questions
Would maintainers be open to including these matrix-related assertions in `@stdlib/assert`?
Let me know if any specific requirements need to be fulfilled.
### Other
No.
### Checklist
- [x] I have read and understood the [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md).
- [x] Searched for existing issues and pull requests.
- [x] The issue name begins with `RFC:`.
Contributor guide
Assessment
This issue has not been assessed yet.