Skip to content

bug in void Matrix<T, M, N>::invert() in "include/detail/matrix-inl.h" #329

@superbignut

Description

@superbignut

Function invert() use four parts(search, swap, compute, scale) in a loop to solve the inverse of a matrix.
But the a(j, j) in the code "T c = 1 / a(j, j);" of the scale part sometimes equals to 0.
for example:
[[3,1,0],[2,1,1],[1,0,0]]
In my opinion, scale part need to be used after the loop to ensure all a(j,j)!=0.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions