2

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?

hkrish
  • 1,259
  • 1
  • 10
  • 11
  • 1000 variables really isn't that big. It should be solvable using LU decomposition (i.e. dgetrs approach) on the order of .002 seconds? I'd at least give it a try. – Matthew Gunn Apr 29 '16 at 00:47
  • Thanks. I tried solving it as a generic matrix. The solution for 1000 variables, 1000 times for a small time-step is more than 5 seconds per problem. The banded approach solves it in interactive speeds. It is important that this is interactive (at least >10 fps) in my case. I am trying out Sherman-Morrisson formula now. – hkrish Apr 29 '16 at 04:45
  • Hey @hkrish, were you able to solve this? Have you used the Sherman-Morrisson formula or find another approach? I have similar problem and I would appreciate any insight. – alexis Feb 06 '20 at 15:32
  • @alexis I think, I ended up using SOR. – hkrish Feb 02 '21 at 14:42

0 Answers0