LouFrizziWagner opened a new pull request, #2193: URL: https://github.com/apache/systemds/pull/2193
This PR introduces a new method, computeDeterminant, implemented in the LibCommonsMath class, which provides four strategies for calculating the determinant of square matrices: 1. Apache Commons Math3 LU Decomposition – a reliable and performant inbuilt method. 2. Gaussian Elimination – an implementation using row reduction. 3. Bareiss Algorithm – a more efficient variant of Gaussian elimination for integer matrices. 4. Laplace Expansion – a recursive method primarily included for completeness and small matrices. The first three methods provide efficient computation for matrices of varying sizes with appropriate time and memory usage. The Laplace expansion method is impractical for larger matrices due to its exponential complexity and is mainly suited for small matrices. Performance Benchmark (Matrix 3x3) of running DetTest, Time elapsed: - Apache Commons Math3 LU Decomposition: 2.937 s - Gaussian Elimination: 2.921 s - Bareiss Algorithm: 3.023 s - Laplace Expansion: 3.425 s -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@systemds.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org