stdlib-js / stdlib-js/stdlib

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

Abierto
#7,334 2 comentarios 0 reacciones 0 asignados Ver en GitHub
Needs Discussion RFC
Lenguaje dominante
JavaScript
Estrellas
6k
Forks
1.3k
Merge medio
1 d 3 h
PR fusionados (30 d)
611

Descripción

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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.