josdejong/mathjs

Matrix sum along a dimension is defined to return a `MathScalarType`, but might return higher dimension

Open

#3,202 opened on May 12, 2024

View on GitHub
 (5 comments) (0 reactions) (1 assignee)JavaScript (1,298 forks)batch import
bughelp wantedtypescript

Repository metrics

Stars
 (13,832 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Describe the bug When summing over an axis of a matrix, we always lose just one dimension. If the matrix is 2D, we'll get a 1D array. If the matrix is 3D, we'll get a 2D matrix. What happens now, is that math.sum declares that it returns a MathScalarType, instead of optionally returning a matrix.

To Reproduce

const mat = math.matrix([[1,2,3],[4,5,6]])
console.log(math.sum(mat, 0))

> DenseMatrix { _data: [ 5, 7, 9 ], _size: [ 3 ], _datatype: undefined }

Contributor guide