stdlib-js / stdlib-js/stdlib

[RFC]: Add matrix assertion utilities to @stdlib/assert (tracking issue)

Aperta
#7,334 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Needs Discussion RFC
Lingua principale
JavaScript
Stelle
6k
Fork
1.3k
Merge medio
1g 3h
PR unite (30g)
611

Descrizione

### 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:`.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.