I have to solve a large number of simultaneous equations (~1000s) to solve at every time step for a general mean curvature flow problem. The problem is defined over closed manifolds so the boundary condition is periodic.
I am using successive-over-relaxation algorithm right now to solve this, but is very slow. I tried dgbtrf -> dgbtrs
(without the periodicity condition), and is quite faster.
The coefficient matrix looks like this
⎛c₁ d₁ e₁ a₁ b₁⎞ ^
⎢b₂ c₂ d₂ e₂ 0 a₂⎥ |
⎢a₃ b₃ c₃ d₃ . 0 ⎥ |
A ← ⎢ a₄ b₄ c₄ . . ⎥ ~1000
⎢ 0 . . . . en₋₂⎥ |
⎢en₋₁ 0 . . . dn₋₁⎥ |
⎝dn en an bn cn ⎠ v
I need to solve pentadiagonal systems, that are not symmetric and not known to be positive definite.
Is there a way to solve cyclic/periodic banded systems in LAPACK?
Or do I have to use general solvers, such as dgetrs
?