I am trying to solve a set of linear equations for a material model through c++.
The system was already solved in Mathematica using Krylov method (BiCGStab).
Through Mathematica, I found that the condition number of the stiffness matrix is in the range of 10^8.
Thus I understand it is ill-conditioned. It is also unsymmetric.
Now I have already tried the direct solver Pardiso with scaling. But the data did not match the one from Mathematica.
I want to know if there is a better approach to solve this system. Also should I trust the Mathematica results, considering the nature of the linear system ?
Please help, any advice is much appreciated.
The condition number that Mathematica reported is not really high so solution have to be similar to solution reported by Mathematica. Could you send us reproducer to play with it on our side?
Thank you for replying. There was a mistake, the condition number is 3.8*10^10 to be precise.
Sorry, I couldn't understand what you mean by reproducer. Can you be a bit more specific?
Since the project belongs to a firm, I may not be able to attach files (due to firewall).
But I guess I could send you files as a .txt
But basic information about the system is that it is a A +dA.dX =0 linear system of 27 equations in 1D. In 3d it stretches to 48.
So naturally, A is 27x1 matrix/array. dA is 27x27 matrix in 1D case. I have used fixed point iteration.
But I feel the presence of Heaviside step functions, could be a concern.
Thank you for your time,