Null space computation of sparse singular matrices with MUMPS

Similar documents
Overview of MUMPS (A multifrontal Massively Parallel Solver)

SCALABLE ALGORITHMS for solving large sparse linear systems of equations

MUMPS. The MUMPS library. Abdou Guermouche and MUMPS team, June 22-24, Univ. Bordeaux 1 and INRIA

Sparse Matrices Direct methods

Solving Sparse Linear Systems. Forward and backward substitution for solving lower or upper triangular systems

On the I/O Volume in Out-of-Core Multifrontal Methods with a Flexible Allocation Scheme

CALCULATING RANKS, NULL SPACES AND PSEUDOINVERSE SOLUTIONS FOR SPARSE MATRICES USING SPQR

GRAPH CENTERS USED FOR STABILIZATION OF MATRIX FACTORIZATIONS

Analysis of the Out-of-Core Solution Phase of a Parallel Multifrontal Approach

Approaches to Parallel Implementation of the BDDC Method

P. Amestoy, F. Camillo, M. Daydé, R. Guivarch, A. Hurault, JY. L'Excellent (*), C. Puglisi. IRIT INPT(ENSEEIHT) (Toulouse) (*)LIP ENS (Lyon)

PARDISO Version Reference Sheet Fortran

(Sparse) Linear Solvers

AMS526: Numerical Analysis I (Numerical Linear Algebra)

Aim. Structure and matrix sparsity: Part 1 The simplex method: Exploiting sparsity. Structure and matrix sparsity: Overview

A Parallel Implementation of the BDDC Method for Linear Elasticity

Combinatorial problems in a Parallel Hybrid Linear Solver

Fast solvers for mesh-based computations

A direct solver with reutilization of previously-computed LU factorizations for h-adaptive finite element grids with point singularities

(Sparse) Linear Solvers

PACKAGE SPECIFICATION HSL 2013

Sparse Linear Systems

A parallel direct/iterative solver based on a Schur complement approach

Parallel Implementations of Gaussian Elimination

Sparse Matrices Introduction to sparse matrices and direct methods

Lecture 9. Introduction to Numerical Techniques

Sparse Direct Solvers for Extreme-Scale Computing

SDLS: a Matlab package for solving conic least-squares problems

MA41 SUBROUTINE LIBRARY SPECIFICATION 1st Aug. 2000

SDLS: a Matlab package for solving conic least-squares problems

SUPERFAST MULTIFRONTAL METHOD FOR STRUCTURED LINEAR SYSTEMS OF EQUATIONS

A comparison of parallel rank-structured solvers

Sparse LU Factorization for Parallel Circuit Simulation on GPUs

Outline. Parallel Algorithms for Linear Algebra. Number of Processors and Problem Size. Speedup and Efficiency

An Hybrid Approach for the Parallelization of a Block Iterative Algorithm

Julian Hall School of Mathematics University of Edinburgh. June 15th Parallel matrix inversion for the revised simplex method - a study

Lecture 27: Fast Laplacian Solvers

Preconditioning for linear least-squares problems

Iterative Algorithms I: Elementary Iterative Methods and the Conjugate Gradient Algorithms

CS6015 / LARP ACK : Linear Algebra and Its Applications - Gilbert Strang

Uppsala University Department of Information technology. Hands-on 1: Ill-conditioning = x 2

Nonsymmetric Problems. Abstract. The eect of a threshold variant TPABLO of the permutation

GTC 2013: DEVELOPMENTS IN GPU-ACCELERATED SPARSE LINEAR ALGEBRA ALGORITHMS. Kyle Spagnoli. Research EM Photonics 3/20/2013

SUMMARY. solve the matrix system using iterative solvers. We use the MUMPS codes and distribute the computation over many different

Computational Methods CMSC/AMSC/MAPL 460. Vectors, Matrices, Linear Systems, LU Decomposition, Ramani Duraiswami, Dept. of Computer Science

AMS526: Numerical Analysis I (Numerical Linear Algebra)

Numerical Linear Algebra

Construction and application of hierarchical matrix preconditioners

Primal methods of iterative substructuring

Package rmumps. December 18, 2017

Parallel resolution of sparse linear systems by mixing direct and iterative methods

A comparison of Algorithms for Sparse Matrix. Real-time Multibody Dynamic Simulation

CSCE 689 : Special Topics in Sparse Matrix Algorithms Department of Computer Science and Engineering Spring 2015 syllabus

Lecture 11: Randomized Least-squares Approximation in Practice. 11 Randomized Least-squares Approximation in Practice

DEGENERACY AND THE FUNDAMENTAL THEOREM

Sparse matrices, graphs, and tree elimination

LSRN: A Parallel Iterative Solver for Strongly Over- or Under-Determined Systems

Linear Methods for Regression and Shrinkage Methods

THE application of advanced computer architecture and

Multiple View Geometry in Computer Vision

Jacobian: Velocities and Static Forces 1/4

Math 355: Linear Algebra: Midterm 1 Colin Carroll June 25, 2011

Model Reduction for High Dimensional Micro-FE Models

Interlude: Solving systems of Equations

Numerical Analysis I - Final Exam Matrikelnummer:

From BLAS routines to finite field exact linear algebra solutions

Matrix algorithms: fast, stable, communication-optimizing random?!

Sparse Multifrontal Performance Gains via NVIDIA GPU January 16, 2009

Lecture 3: Camera Calibration, DLT, SVD

Scilab and MATLAB Interfaces to MUMPS (version 4.6 or greater)

MATH 5520 Basics of MATLAB

A Parallel Matrix Scaling Algorithm

Contents. Implementing the QR factorization The algebraic eigenvalue problem. Applied Linear Algebra in Geoscience Using MATLAB

Stability Analysis of the Muscl Method on General Unstructured Grids for Applications to Compressible Fluid Flow

Scheduling Strategies for Parallel Sparse Backward/Forward Substitution

Implicit Matrix Representations of Rational Bézier Curves and Surfaces

LAPACK. Linear Algebra PACKage. Janice Giudice David Knezevic 1

Lecture 15: More Iterative Ideas

Math 2B Linear Algebra Test 2 S13 Name Write all responses on separate paper. Show your work for credit.

Chapter 1 A New Parallel Algorithm for Computing the Singular Value Decomposition

A GPU-based Approximate SVD Algorithm Blake Foster, Sridhar Mahadevan, Rui Wang

Computational Methods CMSC/AMSC/MAPL 460. Vectors, Matrices, Linear Systems, LU Decomposition, Ramani Duraiswami, Dept. of Computer Science

Iterative Sparse Triangular Solves for Preconditioning

Recognition, SVD, and PCA

IN OUR LAST HOMEWORK, WE SOLVED LARGE

Algebraic Iterative Methods for Computed Tomography

Chapter 1 A New Parallel Algorithm for Computing the Singular Value Decomposition

MATH 3511 Basics of MATLAB

Contents. I Basics 1. Copyright by SIAM. Unauthorized reproduction of this article is prohibited.

Multifrontal Methods: Parallelism, Memory Usage and Numerical Aspects

A Static Parallel Multifrontal Solver for Finite Element Meshes

Using Periodic Boundary Conditions

Using multifrontal hierarchically solver and HPC systems for 3D Helmholtz problem

CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning

Advanced Computer Graphics

Optimizing Parallel Sparse Matrix-Vector Multiplication by Corner Partitioning

PACKAGE SPECIFICATION HSL To solve a symmetric, sparse and positive definite set of linear equations Ax = b i.e. j=1

Computational issues in linear programming

Linear Loop Transformations for Locality Enhancement

CHAPTER 5 SYSTEMS OF EQUATIONS. x y

Transcription:

Null space computation of sparse singular matrices with MUMPS Xavier Vasseur (CERFACS) In collaboration with Patrick Amestoy (INPT-IRIT, University of Toulouse and ENSEEIHT), Serge Gratton (INPT-IRIT, University of Toulouse and ENSEEIHT), Jean-Yves L Excellent (INRIA Rhône-Alpes, Laboratoire de l Informatique du Parallélisme, ENS Lyon) ENSEEIHT, Toulouse MUMPS User Group Meeting, April 16th 2010 1/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 2/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 3/42 Null space computation of sparse singular matrices with MUMPS

Problem setting Within a sparse multifrontal code Estimate the deficiency d of the singular matrix A and compute a null space basis Z C n d such that A Z = 0 n d where A C n n is a large sparse singular matrix. Properties of the null space detection Reliable for sparse matrices with small to high deficiency Efficient also possibly in a parallel distributed memory environment Analysis of the solution phase (not discussed today) Exploit the sparsity of the multiple right-hand side problems in an out-of-core framework (addressed in Slavova s PhD thesis [2009, Section 11.2]) 4/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 5/42 Null space computation of sparse singular matrices with MUMPS

Motivations Increased interest when designing advanced iterative methods Solution methods for saddle point problems [Benzi et al., 2005, Section 6] Constrained optimization Domain decomposition solvers (singular problems at the subdomain level) [Toselli et al., 2004] Increased interest in real-life applications Electromagnetics (constrained eigenvalue solvers) Fluid and/or structural mechanics (null space of discrete operators) Some recent related software for sparse rank-deficient matrices LUSOL [http://www.stanford.edu/group/sol/software/lusol.html] spnrank [http://www.math.sjsu.edu/singular/matrices/software/] SuiteSparseQR [http://www.cise.ufl.edu/research/sparse/spqr/] 6/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 7/42 Null space computation of sparse singular matrices with MUMPS

Related references (of course incomplete!) Sparse rank-revealing LU or orthogonal decompositions Sparse multifrontal rank-revealing QR factorization [Pierce and Lewis, 1997] Sparse LU with null pivot detection [Farhat and Géradin, 1998] Sparse symmetric rank-revealing decompositions VSV T [Bratland and Frimodt, 2002] Sparse rank-revealing LU based on threshold rook pivoting or threshold complete pivoting [Gill et al, 2005, Sections 4 and 5] Sparse LU method with inverse power method to compute the null space of the triangular factor [Gotsman and Toledo, 2008] Limitations that were found Orthogonal methods lead to usually severe fill-in for sparse problems Limited problem size No parallel implementation 8/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 9/42 Null space computation of sparse singular matrices with MUMPS

Main governing idea Determination of the null space of the singular upper triangular factor Analysis phase: consider the preprocessed matrix à = P sap c P T s where P s corresponds to a permutation that aims at minimizing the fill-in during factorization and P c is a column permutation to obtain a zero-free diagonal. Derive null space informations by inspecting only U C n n, the singular upper triangular factor obtained after numerical factorization of the preprocessed matrix à = LU Factorization phase: determine accurately the deficiency of U noted d and the matrix Z U C n d defined as U Z U = 0 n d. A basis of the subspace spanned by the columns of Z U will represent the right nullspace of U. 10/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 11/42 Null space computation of sparse singular matrices with MUMPS

Proposed numerical pivoting strategy Threshold partial pivoting in the non singular case At the j-th step of the Gaussian elimination the set of eligible pivots S ep is usually defined as: S ep = {q F SV (q, j) u max F SV (i, j) } i where F SV is the block corresponding to the fully summed variables of the frontal matrix [Duff and Reid, 84] and u R a threshold between 0 and 1 that balances sparsity and numerical stability. Among the set of eligible pivots one preserving sparsity is usually selected to minimize the fill-in. We will denote p this pivot and define the set of tentative pivot S tp = {p} 12/42 Null space computation of sparse singular matrices with MUMPS

Numerical pivoting strategy in the singular case First set: set of null pivot rows S nr = {i F SV (i, :) 2 τ A } τ A is a positive real-valued threshold parameter such as τ A = v ε with 1 v 1000 and ε the machine precision S nr allows to detect the so called null pivot rows Goal of the first set Those rows are modified to continue the factorization; nonzero elements are replaced by zero and the diagonal element is set to a certain fixation value. This modification is of course an arbitrary decision that will define one particular solution of the singular system of equations. 13/42 Null space computation of sparse singular matrices with MUMPS

Numerical pivoting strategy in the singular case Second set: set of delayed pivots S dp = {p S tp p τ B Ã } τ B is a positive real-valued threshold parameter S dp consists of the set of delayed pivots. Goal of the second set The corresponding fully summed variables are not eliminated because of numerical issues. They are instead included in the Schur complement matrix of the frontal matrix and their elimination is postponed to the parent node or latter - potentially up to the root of the elimination tree. 14/42 Null space computation of sparse singular matrices with MUMPS

Numerical pivoting strategy in the singular case Summary: modified numerical pivoting strategy The modified numerical pivoting strategy leads to ( ) P Ã = L U = L U11 U 12 0 m (n m) M P is a permutation matrix of order n that corresponds to the considered modified pivoting strategy U 11 C (n m) (n m) is non singular The root matrix M C m m is the contribution block related to the delayed pivots that have been postponed up to the root of the elimination tree. The next step is to analyse the deficiency of the root matrix M. 15/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 16/42 Null space computation of sparse singular matrices with MUMPS

Rank-revealing algorithms applied to the root matrix M Root matrix M Depending on τ B, M C m m can be less sparse than à and is of reduced size (m << n) Truncated rank-revealing method Truncated QR factorization with column permutation [Foster and Kommu, 2006] ( ) R11 R MΠ = QR = Q 12. 0 (m k) k 0 (m k) (m k) k, the order of R 11 C k k, is the effective rank of M Its cost is 4m 2 k 2k 2 m 2 3 k 3 [Foster and Kommu, 2006] If M is a low rank matrix, this cost is thus of order O(m 2 k) which is significantly less than the cost required by a SVD factorization (O(m 3 )). 17/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 18/42 Null space computation of sparse singular matrices with MUMPS

Computation of a basis of the null space [I] Null space related to the delayed pivots Z RR C n (m k) Determination of the null space of U P Ã = L U = L ( U11 U 12 0 m (n m) M Null space of the root matrix Z M C m (m k) M Π ( R 1 11 R 12 I m k ) = 0 m (m k) i.e. Z M = Π ) ( R 1 11 R 12 I m k Null space related to the delayed pivots Z RR C n (m k) ( U11 U 12 0 m (n m) M ) ( U 1 11 U 12Z M Z M ) = 0 n (m k) ) 19/42 Null space computation of sparse singular matrices with MUMPS

Computation of a basis of the null space [II] Null space related to the null pivot rows Z NP C n l Computation of Z NP according to the row modifications made during the factorization phase ( ) ( ) U11 U 12 E(n m) l Z 0 m (n m) M NP = 0 m l where the columns of E (n m) l are the i-th Cartesian basis vector of R (n m) where i S nr. One of the possible solutions has thus the following simple form ( U 1 Z NP = 11 E ) (n m) l 0 m l which requires the solution of a sparse upper triangular system with sparse multiple right-hand sides [Slavova, 2009]. 20/42 Null space computation of sparse singular matrices with MUMPS

Computation of a basis of the null space [III] Null space of the preprocessed matrix à Part [I]: null space related to the delayed pivots Z RR C n (m k) Part [II]: null space related to the null pivot rows Z NP C n l The null space of U is thus Z U = [Z NP Z RR ] Null space of the original matrix A Since à = P sap c P T s, Z = P c P T s Z U is such that A Z = 0 n d The deficiency of A is equal to d = l + m k 21/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 22/42 Null space computation of sparse singular matrices with MUMPS

Sketch of the algorithm Sketch of the algorithm Analysis phase à = P sap c Ps T Detection of null pivot rows and delay of pivots during the factorization of Ã. At the end the following decomposition is obtained ( ) P à = L U = L U11 U 12 0 m (n m) M where U 11 C (n m) (n m) is nonsingular, U 12 C (n m) m and M C m m. A l-dimensional set of row indices noted S nr corresponding to null pivot rows has been determined M refers to the contribution block gathering pivots that have been delayed up to the root of the elimination tree. Null space computation Z = P c P T s [Z NP Z RR ]. 23/42 Null space computation of sparse singular matrices with MUMPS

Use in MUMPS [I] Control parameters related to S nr = {i F SV (i, :) 2 τ A } ICNTL(24) = 1: detection of null pivots CNTL(3) τ A threshold for null pivot rows detection τ A = CNTL(3) if CNTL(3) > 0 τ A = ε 10 5 A if CNTL(3) 0 Control parameters related to S dp = {p S tp p τ B Ã } ICNTL(16) = 1: postpone delayed pivots to root node CNTL(6): τ B threshold for postponing pivots τ B = CNTL(6) if CNTL(6) > 0 τ B = ε if CNTL(6) 0 24/42 Null space computation of sparse singular matrices with MUMPS

Use in MUMPS [II] Output related to null space INFOG(28): estimated deficiency ICNTL(25)=-1 computes the complete null space basis ICNTL(25)=i, where 1 i INFOG(28) returns the i-th vector of the null space basis PIVNUL LIST list of row indices corresponding to null pivots Features Implementation available in [s,d,c,z] arithmetics Detection of null pivots available in parallel [official release] Compatible with OOC version Interface to both MATLAB and Scilab Root node processed serially [restricted release] 25/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 26/42 Null space computation of sparse singular matrices with MUMPS

Numerical results: focus on real-life applications ANR Benchmark matrices Goals Concrete applications in structural mechanics [EDF] Real and symmetric semi-definite matrices Double precision arithmetics Reliability: can the null space detection fail? Accuracy of the null space basis Z = [Z 1 Z 2 Z d ] of the original matrix A Error analysis [componentwise scaled residuals and normwise backward error for each null space vector Z i ] Nullspace normwise backward error = max 1 i d A Z i A Z i 27/42 Null space computation of sparse singular matrices with MUMPS

Numerical results with MUMPS Available strategies ICNTL(24) = 1 only ICNTL(24) = 1 and ICNTL(16) = 1 Control parameters Threshold for numerical pivoting CNTL(1)=10 2 Threshold for null pivots detection CNTL(3)=10 9 Fixation for null pivots CNTL(5)=10 6 Threshold for postponing pivots CNTL(6)=10 4 28/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 29/42 Null space computation of sparse singular matrices with MUMPS

Benchmark Box cavities matrices PDE problem based on Maxwell s equations [Geus, 2002] Computation of resonance modes in closed cavities Use of Nédélec vector finite elements Indefinite eigenvalue problems with constraints Ax = λ Mx Cx = Y T Mx = 0 where A R n n is symmetric positive semi-definite [discretization of curl curl operators], M R n n symmetric positive definite AY = 0, Y is generally known [curl = 0] Goal A: investigate the influence of the ordering on the null space computation Goal B: compute the null space Z and compare with Y 30/42 Null space computation of sparse singular matrices with MUMPS

Box cavities [0., 5.2] [0., 3.3] [0., 0.77] Goal A: Influence of the ordering on the rank detection of à = P s AP c P T s Box 8 5 3 R 619 619 of deficiency 56 Single: ICNTL(24) = 1 Combined: ICNTL(24) = 1 and ICNTL(16) = 1 Single Combined Ordering Def. Null piv. r. Root size Root def. Def. AMD 56 36 73 20 56 AMF 56 49 27 7 56 PORD 56 49 38 7 56 METIS 56 41 68 15 56 QAMD 56 36 73 20 56 Correct estimation of the deficiency independently of the ordering strategy 31/42 Null space computation of sparse singular matrices with MUMPS

Box cavities [0., 5.2] [0., 3.3] [0., 0.77] Goal A: Influence of the ordering on the rank detection of à = P s AP c P T s Box 30 20 4 R 14454 14454 of deficiency 1653 Single: ICNTL(24) = 1 Combined: ICNTL(24) = 1 and ICNTL(16) = 1 Single Combined Ordering Def. Null piv. r. Root size Root def. Def. AMD 1653 1515 470 138 1653 AMF 1653 1617 114 36 1653 PORD 1653 1604 178 49 1653 METIS 1653 1563 337 90 1653 QAMD 1653 1515 470 138 1653 Correct estimation of the deficiency independently of the ordering strategy 32/42 Null space computation of sparse singular matrices with MUMPS

Box cavities [0., 5.2] [0., 3.3] [0., 0.77] Box cavities [0., 5.2] [0., 3.3] [0., 0.77] Matrix Size Def. Null piv. r. Root size Root def. Def. Box 8 5 3 619 56 49 27 7 56 Box 16 10 3 2675 270 260 31 10 270 Box 20 13 3 4419 456 446 31 10 456 Box 30 20 4 14454 1653 1563 337 90 1653 Box 40 27 5 33627 4056 3876 649 180 4056 Box 50 34 6 64878 8085 7794 1012 291 8085 Box 60 41 7 111147 14160 13812 1185 348 14160 Correct estimation of the deficiency on all matrices with automatic choice of the ordering made during analysis Benchmark matrices used in Slavova s PhD [2009] 33/42 Null space computation of sparse singular matrices with MUMPS

Box cavities [0., 5.2] [0., 3.3] [0., 0.77] Goal B: Null space basis Computation of the null space Z and compare with the true null space Y Distance between subspaces sin(θ(y, Z )) = Y Y T Z Z T 2 Θ(Y, Z ) small means that the two spaces are nearly linearly dependent Matrix Null space basis Name Size Def. Θ(Y, Z ) Nz(Y) Nz(Z) Box 8 5 3 619 56 3.75e-11 784 18074 Box 16 10 3 2675 270 8.30e-11 3780 268174 Box 20 13 3 4419 456 3.94e-10 6384 597464 Accurate computation of the null space on this benchmark problem 34/42 Null space computation of sparse singular matrices with MUMPS

Outline 1 Problem setting and motivations Problem setting Motivations Related references 2 Proposed algorithm Main governing idea Proposed numerical pivoting strategy Rank-revealing algorithms applied to the root matrix M Computation of a basis of the nullspace Sketch of the algorithm and use in MUMPS 3 Numerical experiments Overview and goals Electromagnetism applications Structural mechanics applications 4 Conclusions 35/42 Null space computation of sparse singular matrices with MUMPS

Applications provided by EDF - ANR SOLSTICE project (2007-2010) Structural mechanics FETI domain decomposition algorithm [Farhat and Roux, 1991] implemented in Code Aster Subdomain matrices A (i) are singular on some subdomains A (i) are real symmetric positive semidefinite matrices The exact deficiency of A (i) is known due to structural mechanics arguments: it is equal to 6 in the two cases The computation of the null space of A (i) is required inside the FETI algorithm Linear elasticity test cases provided by O. Boiteau [EDF] Realistic problems on complicated three-dimensional geometries Fixed partition in 10 subdomains for the two test cases [METIS] 36/42 Null space computation of sparse singular matrices with MUMPS

Pump test case (linear elasticity) Tetrahedral mesh (261 520 nodes) Global problem has 803 352 degrees of freedom 37/42 Null space computation of sparse singular matrices with MUMPS

Pump test case (linear elasticity) Matrix MUMPS Size Nz Def. Def. Back. error 84018 2911020 6 6 0.512e-15 65646 2584782 6 6 0.758e-15 83196 2895633 6 6 0.886e-15 83373 2902116 6 6 0.659e-15 84165 2911854 6 6 0.576e-15 82434 2883390 6 6 0.151e-15 75450 2757588 6 6 0.287e-15 81138 2856795 6 6 0.404e-15 38/42 Null space computation of sparse singular matrices with MUMPS

Carter test case (linear elasticity) Tetrahedral mesh (179 463 nodes) Global problem has 530 121 degrees of freedom 39/42 Null space computation of sparse singular matrices with MUMPS

Carter test case (linear elasticity) Matrix MUMPS Size Nz Def. Def. Back. error 53364 930849 6 6 2.05e-15 53316 930546 6 6 0.493e-15 52647 918957 6 6 0.744e-15 55866 965553 6 6 0.484e-15 53622 935802 6 6 0.410e-15 53403 932916 6 6 0.573e-15 54003 939255 6 6 0.328e-15 53361 931959 6 6 0.425e-15 53712 938718 6 6 0.492e-15 40/42 Null space computation of sparse singular matrices with MUMPS

Summary on the numerical results On these sets of benchmark matrices... Reliable (deficiency correctly detected) Accurate (backward error close to machine precision) Efficient for low and high deficiency...but can fail! On rank-deficient matrices with no large gap in the ratio s k /s k+1 if k is the numerical rank of the matrix and s k the k-th singular value This requires to combine (block) iterative methods with the proposed null space detection algorithm [Master thesis of Bonnement, 2008] 41/42 Null space computation of sparse singular matrices with MUMPS

Conclusions Null space detection in MUMPS Experimental option for rank detection and computation of the null space basis (already early developments in 1998) Detection of null pivots during numerical factorization Delay of small pivots to the root matrix Singular benchmark matrices Singular Matrix Database (references, codes and matrices) [http://www.math.sjsu.edu/singular/matrices/] ANR SOLSTICE test matrices in TLSE [about 70 singular sparse matrices, http://www.gridtlse.org/] This work was partially supported by Agence Nationale de la Recherche, through SOLSTICE project ANR-06-CIS6-010 42/42 Null space computation of sparse singular matrices with MUMPS