# Reordering algorithm for minimization of ram usage of a skyline matrix

The stiffness matrix of $Ax=B$ system of linear equations, where $A$ is an $n\times n$ symmetric matrix stored in the form of symmetric skyline matrix, that is associated with a finite element model of 3-D elastic solids, when reordered with the reverse Cuthill–McKee algorithm doesn't result in a skyline matrix with limited RAM storage space requirements as would happen with a 2-D problem.

What is the best algorithm for the 3-D case?

• What do you do with A? Solve by it? Directly or iteratively? Compute eigenmodes? – rchilton1980 Apr 30 '18 at 18:01
• I want to solve it directly and the stiffness matrix is very large even when renumbered with RCM algorithm. However for the same number of unknowns for a 2d problem the renumbered stiffness matrix requires (1/5) amount of ram. – Student Apr 30 '18 at 18:22

For direct solution in 3D, you should probably be using some flavor of nested dissection (ND) or minimum degree (MD). These attack the storage requirements of A=LL' factorization directly, not the bandwidth (which has only an indirect effect on fill-in). On it's own, bandwidth reduction is just not strong enough to make 3D direct solve tractable.

Good ND codes to try are METIS or Scotch, while AMD is easiest to access MD code. Many sparse direct solvers will expose/reference these reordering packages directly among their input parameters.

For a good "turn-key" package that hides/handles all this detail for you, I'd recommend Intel's MKL PARDISO. Although it is closed-source, binaries are available under pretty liberal license terms.

• Thank you very much for your answer. I already have tried, with AMD. Nested dissection is not available in older matlab where i pre procees my model. MKL PARDISO i think doesn't separate the reordering from the solution, and i intend to solve the linear system with a psm algorithm. – Student May 1 '18 at 16:16
• I believe you can separate the ordering from solution in PARDISO, via manipulating the "phase" argument. IIRC, you can step through symbolic analysis (phase == 11), factorization (phase == 22) and backsolution (phase == 33). What's the PSM algorithm? – rchilton1980 May 1 '18 at 16:27