Comments (4)
Sounds good !
from basiclinearalgebra.
Hey @JM-FRANCE, thanks for the info, you're quite right. I've pushed a fix it's included in v3.4.
Regarding your second point:
Also I'm not sure why you say the matrix is singular only of all the elements are null.
We actually only mark the matrix as singular if there exists a row whose elements are all zero. In that case the matrix would be rank deficient and would have a determinant of zero.
Thanks again for the info, feel free to reopen this issue if you have any further problems
from basiclinearalgebra.
Hi
OK - yes indeed you check for a null row but that’s not necessary (just sufficient) to have a singular matrix. In order to return a correct status you would need to calculate the determinant - or update the documentation on this function to make it the responsibility of the caller to check this separately
from basiclinearalgebra.
Ah ok I see your point, indeed having a null row doesn't cover all singular matrices, thanks for the clarification.
I just pushed a small change (1c63223) which should correct for this. Basically in addition to the previous check we now also flag the matrix as singular if any of the diagonal elements in the LU decomposition are zero. This should be sufficient to detect singular matrices since the determinant of a matrix is the product of those diagonal elements.
As a result the Invert
function now also correctly returns false
for singular matrices so thanks again for the info.
from basiclinearalgebra.
Related Issues (20)
- Cannot Multiply Two Matrices with nondefault type of double HOT 2
- Tabbed Function is not Working With the BLA HOT 2
- Something weird is happening when I want to display the Matrix data HOT 2
- Access specific row/col? HOT 1
- Library using too much memory when used in classes? HOT 2
- examples don't compile HOT 2
- Matrix Multiplication with different sized matrices gives errors HOT 2
- After the latest update, I'm getting two template-related compilation errors HOT 3
- BLA not compiling for esp32 core boards. HOT 2
- Invert appears to return improper results when using a double Array HOT 1
- Initialize Matrix to 0 HOT 2
- Initialize matrix with random values HOT 4
- Custom matrix diagonal values HOT 1
- Delete a matrix instace HOT 1
- Inverse Matrix 3x3 false HOT 2
- Sparse matrix HOT 2
- A 3D pose representation to work with the basicLinearAlgebra library HOT 3
- Implementing a "ones" matrix
- numerically differentiating vector valued functions HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from basiclinearalgebra.