These are chat archives for symengine/symengine
Hi @certik , @asmeurer, @sushant-hiray, @isuruf
I have a few problems about the API we should provide with gaussian elimination and gauss jordan elimination.
Both the algorithms clearly identify two Matrices,
Ax = b and operations are done on the augmented Matrix
[A|b]. Ultimate goal of the algorithms is to solve the system
Ax = b. So my question is, What should be our API to do this? I see two approaches towards this.
gaussian_elimination(const DenseMatrix &A, DenseMatrix &B):
This is the one I have used so far. Pros: User is able to find row echelon form of any matrix. Cons: Solving the system
Ax = b will have to be carried in steps. First creating
gaussian_elimination([A|b], B) and then solving the system using
gaussian_elimination(const DensMatrix &A, const DenseMatrix &b, DenseMatrix &x):
This will return the solutions of the system
Ax = b as elements of vector
x. So no extra steps. But if an user wants to find the row echelon form of
A then he won't be able to do that through this API.
I would like to know your ideas regarding this.