AA220/CS238 Parallel Methods in Numerical Analysis. Introduction to Sparse Direct Solver (Symmetric Positive Definite Systems)

Size: px
Start display at page:

Download "AA220/CS238 Parallel Methods in Numerical Analysis. Introduction to Sparse Direct Solver (Symmetric Positive Definite Systems)"

Transcription

1 AA0/CS8 Parallel ethods in Numerical Analysis Introduction to Sparse Direct Solver (Symmetric Positive Definite Systems) Kincho H. Law Professor of Civil and Environmental Engineering Stanford University ay, 00

2 A Typical Finite Element Program Nonlinear and/or Adaptive Solver User Interface (UI) (esh Gen., B.C., etc..) Element Library atrix, RHS Formation and Assembly Linear Solver (Direct, Iterative) Element Characteristics Post Processing Direct Solution Scheme... Ku = T LDL u Ly = T DL u p = p = y p K: Symmetric +ve Definite L: Lower Triangular atrix D: Diagonal atrix

3 otivation Example: Bandwidth inimization Reverse Cuthill ckee Algorithm

4 otivation Example: Sparsity within Profile.... Reverse Cuthill ckee Algorithm

5 otivation Example: Sparse atrix Ordering inimum Degree Ordering

6 Introductory Example x x x = y y y Stiffness atrix x y x = y x y Eq. /8 x Eq. Eq. /8 x Eq x 0.00 x 7.7 x y = y y Eq. (-0./7.) x Eq.

7 Symbolic Representation of Symmetric atrices and Gaussian Elimination x x x x y x = y x y y = y y Graph G of A is constructed as follows:. Deleting node and its incident edges. Adding edges to the graph so that the adjacent nodes of are now pairwise adjacent in graph G Graph G of Graph G of A0 A [ ]

8 Symbolic Representation of Gaussian Elimination x x x y = y y x y x = y x y Graph G of A0 Graph G of A x 0.00 x 7.7 x y = y y 7.00 ( 0.00)( 0.07) Graph G of A

9 Summary of Results Given a symmetric system of equations Ax = y x x x y = y y Numerical factorization of A into LU Graph of A Graph of L+U x 0.00 x 7.7 x y = y y For symmetric system, A can be factored as LDL T x 0.07 x.000 x y = y y

10 = y y y y y y x x x x x x Another Example Ax = y A = LDL T Stiffness atrix Not all entries within profile (band) are zero!

11 = y y y y y y x x x x x x Graph Representation of Gaussian Elimination Graph of A Graph after elimination of node

12 Graph after elimination of node Graph after elimination of node Graph after elimination of node Graph after elimination of node

13 atrix A Nonzero Structure of atrix A atrix Factor L Nonzero Structure of atrix L+L T.0000 Graph of atrix A Graph of atrix L+L T

14 atrix Numbering as Graph Ordering Purpose: inimize the number of fill-in nonzero entries in the matrix factor L inimum Degree Ordering Scheme (A Greedy Strategy). Select a node with a minimum degree from the graph and label the node. Eliminate the node and perform graph transformation by adding fill-in edges if necessary. Repeat steps and until all nodes are labelled

15 e a b d f g c g f e d c b a a b d f g c b d f g c d f g c d g c d c c 7 7 Original Graph and atrix Structure 7 Reordered Graph and atrix Structure

16 Summary of Numerical Factorization for Sparse Symmetric atrices Given a symmetric matrix A, compute the matrix factor L and D such that A = LDL T. Order the matrix A such that it has a desirable structure. Symbolic Factorization to determine the structure of L. Numerically factorize the matrix A into L and D utilizing the nonzero structure of L T. Forward and backward solutions: Lz = y; DL x = z Focus of Discussion: Graph and Tree Representation of the Sparse Factor L

17 = s u u A T + = = = d w D w L D w w D L L D L w L d D w L s u u A T T T T T T T Direct (Cholesky) Factorization T L D L ] ][ ][ [ ] [ = [ ] L = [ ] D = Suppose The problem is to compute w and d

18 {} {} {} u = [ L ][ D ] w w = [ D ] [ L ] {} u {} w Structure of {w} is related to forward solve / / = / = 0.08 / / s = T T { w} [ D ]{ w} + d d = s { w} [ D ]{ w} d T = =

19 Definition for a Tree Structure of atrix Factor Define PARENT(j) = min {i L(i,j) 0} Note: The list array PARENT represents the row subscript of the first nonzero entry in each column of the lower triangular matrix factor L Lemma: If A(i,j) (or L(i,j)) 0, then for each k = PARENT( PARENT. (PARENT(j) ) L(i,k) 0, where k < i. That is, given the tree T(A) and the nonzero entries of A, we can obtain the nonzero entries per each row of the matrix factor L by tracing the path along the tree from the nonzero offdiagonal column subscript of A to the row number of interest atrix Structure of L+L T Tree of atrix Factor L (Law and Fenves 8, 8; Liu 8, 88; Schreiber 8)

20 ALGORITH: ROW_STRUCTURE /* Determine the data structure for row i of matrix factor L */ BEGIN Sort the column subscripts of the nonzero entries in ascending order and store them in a linked list array LIST; j = HEAD of LIST; WHILE j 0 DO BEGIN IF LIST(j) 0 THEN next = LIST(j) ELSE next = i; r = j; WHILE 0 < r < next DO BEGIN add subscript r to row i of L; r = PARENT(r); ENDWHILE; IF r 0 and r < i THEN sort r to LIST; j = LIST(j); ENDWHILE; END.

21 ALGORITH: ROW_STRUCTURE /* Determine data structure for row i of matrix factor L */ BEGIN Sort the column subscripts of the nonzero entries in ascending order and store them in a linked list array LIST; j = HEAD of LIST; WHILE j 0 DO BEGIN IF LIST(j) 0 THEN next = LIST(j) ELSE next = i; r = j; WHILE 0 < r < next DO BEGIN add subscript r to row i of L; r = PARENT(r); ENDWHILE; IF r 0 and r < i THEN sort r to LIST; j = LIST(j); ENDWHILE; END. atrix Structure Tree of atrix Factor L Example: Row of atrix K HEAD = ; LIST:<0,, 0, 0,, 0> j = next = LIST() = ; r = ; add entry to row of L (i.e. L(,) 0); r = PARENT() = ; sort to list; (i.e. LIST:<0,,, 0,, 0>); (j = LIST() = ;)

22 ALGORITH: ROW_STRUCTURE /* Determine data structure for row i of matrix factor L */ BEGIN Sort the column subscripts of the nonzero entries in ascending order and store them in a linked list array LIST; j = HEAD of LIST; WHILE j 0 DO BEGIN IF LIST(j) 0 THEN next = LIST(j) ELSE next = i; r = j; WHILE 0 < r < next DO BEGIN add subscript r to row i of L; r = PARENT(r); ENDWHILE; IF r 0 and r < i THEN sort r to LIST; j = LIST(j); ENDWHILE; END. Nonzero entries denoted in the linked list LIST atrix Structure Tree of atrix Factor L Example: Row of atrix K (cont d) (HEAD = ; LIST:<0,,, 0,, 0>;) (j = LIST() = ;) next = LIST() = ; r = ; add entry to row of L (i.e. L(,) 0); r = PARENT() = ; j = LIST() = (LIST()=0) NET= r = ; add entry to row of L (i.e. L(,) 0); r = PARENT() = ; j = LIST() = 0.

23 ALGORITH: TREE-STRUCTURE /*Given the nonzero entries of A, determine the tree structure of matrix A */ BEGIN Initialize array PARENT to 0; FOR each row i = TO n, DO FOR each nonzero entry A(i,j) of row i, DO r = j; WHILE ((PARENT(r) 0) AND (PARENT(r) i)) DO r = PARENT(r); ENDWHILE. IF (PARENT(r) = 0) THEN PARENT(r) = i; ENDFOR ENDFOR. END. atrix A atrix of L+L T

24 ALGORITH: TREE-STRUCTURE (with tree compression) (Ref: Liu 8, 88) /*Given the nonzero entries of A, determine the tree structure of matrix A */ BEGIN Initialize arrays PARENT and ANCESTOR to 0; FOR each row i = TO n, DO FOR each nonzero entry A(i,j) of row i, DO r = j; WHILE ((ANCESTOR(r) 0) AND (ANCESTOR(r) < i)) DO r = ANCESTOR(r); ANCESTOR(r) = i; r = t; ENDWHILE. IF (ANCESTOR(r) = 0) THEN DO ANCESTOR(r) = i; PARENT(r) = i; ENDIF. ENDFOR ENDFOR. END.

25 Example model ordered using RC (bandwidth minimization) algorithm F F Note: Zero entries within the band!

26 Restructuring of Ordered Elimination Tree : ALGORITH: Binary-Tree Representation /*Given the PARENT array */ BEGIN FOR each node i, DO IF (PARENT(I) 0) THEN DO BEGIN r = PARENT(r); IF (CHILD(r) 0) THEN DO BEGIN SIBLING(r)=CHILD(r); CHILD(r) = i; ENDIF. ELSE CHILD(r)=I; ENDIF ENDFOR. END. PARENT CHILD SIBLING

27 Restructuring of Ordered Elimination Tree : Post-Order Traversal ALGORITH: POST-ORDER(r,number) /*Given the Binary Tree Representation */ /* Initially set r=n (root of T(K)) and number = */ BEGIN t=r; IF (t 0) THEN DO BEGIN POST-ORDER(CHILD(t),number); label node t = number; number = number + ; POST-ORDER(SIBLING(t),number); ENDIF END.

28 Post-ordering of the elimination tree F 0 9 F Preserve number of fill-in entries 9 Reveal matrix partitioning Allow block data structure : principal submatrix, row segments 0 0 9

29 Summary of Numerical Factorization for Sparse Symmetric atrices Given a symmetric matrix A, compute the matrix factor L and D such that A = LDL T. Order the matrix A such that it has a desirable structure. Symbolic Factorization to determine the structure of L. Given structure of A, determine the tree structure T(A) of A. Given T(A) and structure of A, determine the structure of L. Numerically factor the matrix A into L and D utilizing the nonzero structure of L

30 A Typical Finite Element Program Nonlinear and/or Adaptive Solver User Interface (UI) (esh Gen., B.C., etc..) Element Library atrix, RHS Formation and Assembly Linear Solver (Direct, Iterative) Element Characteristics Direct Solution Scheme Ordering the equations Data structure for system matrix Profile solver Sparse solver Post Processing

31 8 Performance of Sparse Linear Solver Sparse Solvers Traditional Solver Neq ultind ind Profile Square Humboldt Humboldt Plate 00x0..7. Square Performance (second) 0 8 Profile inimum Sol Degr 0 ultilevel Nested Diss Number of Equations (Ref: Jun Peng 00)

32 Comparison of Different Linear Solvers The odels:. Brickx8x0;. Humboldt;. Humboldt;. Square00x00 0 SymSparse::ultiND SymSparse::inD SymSparse::GenND Profile SuperLU UmfPack Performance (Second) Tested odels (Ref: Jun Peng 00)

33 General Remarks References: Law and Fenves, A Node Addition odel for Symbolic Factorization, AC TOS, ():7-0, 98. ackay, Law and Raefsky, An Implementation of A Generalized Sparse/Profile Finite Element Solution ethod, Computer and Structure, ():7-77, 99. George and Liu, Computer Solution of Large Sparse Positive Definite Systems, Prentice Hall, 98. Duff, Erisman and Reid, Direct ethods for Sparse atrices, Oxford Science Publications, 98. Software Packages: Sparspak, YSP, UFPACK, SuperLU, etc Next Lecture: Parallel Implementation of a Sparse Direct Solver

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

Solving Sparse Linear Systems. Forward and backward substitution for solving lower or upper triangular systems AMSC 6 /CMSC 76 Advanced Linear Numerical Analysis Fall 7 Direct Solution of Sparse Linear Systems and Eigenproblems Dianne P. O Leary c 7 Solving Sparse Linear Systems Assumed background: Gauss elimination

More information

AMS526: Numerical Analysis I (Numerical Linear Algebra)

AMS526: Numerical Analysis I (Numerical Linear Algebra) AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 5: Sparse Linear Systems and Factorization Methods Xiangmin Jiao Stony Brook University Xiangmin Jiao Numerical Analysis I 1 / 18 Sparse

More information

AMS526: Numerical Analysis I (Numerical Linear Algebra)

AMS526: Numerical Analysis I (Numerical Linear Algebra) AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 20: Sparse Linear Systems; Direct Methods vs. Iterative Methods Xiangmin Jiao SUNY Stony Brook Xiangmin Jiao Numerical Analysis I 1 / 26

More information

(Sparse) Linear Solvers

(Sparse) Linear Solvers (Sparse) Linear Solvers Ax = B Why? Many geometry processing applications boil down to: solve one or more linear systems Parameterization Editing Reconstruction Fairing Morphing 2 Don t you just invert

More information

Large-scale Structural Analysis Using General Sparse Matrix Technique

Large-scale Structural Analysis Using General Sparse Matrix Technique Large-scale Structural Analysis Using General Sparse Matrix Technique Yuan-Sen Yang 1), Shang-Hsien Hsieh 1), Kuang-Wu Chou 1), and I-Chau Tsai 1) 1) Department of Civil Engineering, National Taiwan University,

More information

(Sparse) Linear Solvers

(Sparse) Linear Solvers (Sparse) Linear Solvers Ax = B Why? Many geometry processing applications boil down to: solve one or more linear systems Parameterization Editing Reconstruction Fairing Morphing 1 Don t you just invert

More information

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

Aim. Structure and matrix sparsity: Part 1 The simplex method: Exploiting sparsity. Structure and matrix sparsity: Overview Aim Structure and matrix sparsity: Part 1 The simplex method: Exploiting sparsity Julian Hall School of Mathematics University of Edinburgh jajhall@ed.ac.uk What should a 2-hour PhD lecture on structure

More information

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

CSCE 689 : Special Topics in Sparse Matrix Algorithms Department of Computer Science and Engineering Spring 2015 syllabus CSCE 689 : Special Topics in Sparse Matrix Algorithms Department of Computer Science and Engineering Spring 2015 syllabus Tim Davis last modified September 23, 2014 1 Catalog Description CSCE 689. Special

More information

Sparse Matrices Direct methods

Sparse Matrices Direct methods Sparse Matrices Direct methods Iain Duff STFC Rutherford Appleton Laboratory and CERFACS Summer School The 6th de Brùn Workshop. Linear Algebra and Matrix Theory: connections, applications and computations.

More information

BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY

BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY General definitions; Representations; Graph Traversals; Topological sort; Graphs definitions & representations Graph theory is a fundamental tool in sparse

More information

Sparse Direct Solvers for Extreme-Scale Computing

Sparse Direct Solvers for Extreme-Scale Computing Sparse Direct Solvers for Extreme-Scale Computing Iain Duff Joint work with Florent Lopez and Jonathan Hogg STFC Rutherford Appleton Laboratory SIAM Conference on Computational Science and Engineering

More information

Sparse Matrices. This means that for increasing problem size the matrices become sparse and sparser. O. Rheinbach, TU Bergakademie Freiberg

Sparse Matrices. This means that for increasing problem size the matrices become sparse and sparser. O. Rheinbach, TU Bergakademie Freiberg Sparse Matrices Many matrices in computing only contain a very small percentage of nonzeros. Such matrices are called sparse ( dünn besetzt ). Often, an upper bound on the number of nonzeros in a row can

More information

Advanced Computer Graphics

Advanced Computer Graphics G22.2274 001, Fall 2010 Advanced Computer Graphics Project details and tools 1 Projects Details of each project are on the website under Projects Please review all the projects and come see me if you would

More information

Sparse matrices, graphs, and tree elimination

Sparse matrices, graphs, and tree elimination Logistics Week 6: Friday, Oct 2 1. I will be out of town next Tuesday, October 6, and so will not have office hours on that day. I will be around on Monday, except during the SCAN seminar (1:25-2:15);

More information

Technical Report TR , Computer and Information Sciences Department, University. Abstract

Technical Report TR , Computer and Information Sciences Department, University. Abstract An Approach for Parallelizing any General Unsymmetric Sparse Matrix Algorithm Tariq Rashid y Timothy A.Davis z Technical Report TR-94-036, Computer and Information Sciences Department, University of Florida,

More information

An Improved Measurement Placement Algorithm for Network Observability

An Improved Measurement Placement Algorithm for Network Observability IEEE TRANSACTIONS ON POWER SYSTEMS, VOL. 16, NO. 4, NOVEMBER 2001 819 An Improved Measurement Placement Algorithm for Network Observability Bei Gou and Ali Abur, Senior Member, IEEE Abstract This paper

More information

SUPERFAST MULTIFRONTAL METHOD FOR STRUCTURED LINEAR SYSTEMS OF EQUATIONS

SUPERFAST MULTIFRONTAL METHOD FOR STRUCTURED LINEAR SYSTEMS OF EQUATIONS SUPERFAS MULIFRONAL MEHOD FOR SRUCURED LINEAR SYSEMS OF EQUAIONS S. CHANDRASEKARAN, M. GU, X. S. LI, AND J. XIA Abstract. In this paper we develop a fast direct solver for discretized linear systems using

More information

2 Fundamentals of Serial Linear Algebra

2 Fundamentals of Serial Linear Algebra . Direct Solution of Linear Systems.. Gaussian Elimination.. LU Decomposition and FBS..3 Cholesky Decomposition..4 Multifrontal Methods. Iterative Solution of Linear Systems.. Jacobi Method Fundamentals

More information

What is linear programming (LP)? NATCOR Convex Optimization Linear Programming 1. Solving LP problems: The standard simplex method

What is linear programming (LP)? NATCOR Convex Optimization Linear Programming 1. Solving LP problems: The standard simplex method NATCOR Convex Optimization Linear Programming 1 Julian Hall School of Mathematics University of Edinburgh jajhall@ed.ac.uk 14 June 2016 What is linear programming (LP)? The most important model used in

More information

Priority Queue: Heap Structures

Priority Queue: Heap Structures Priority Queue: Heap Structures Definition: A max-heap (min-heap) is a complete BT with the property that the value (priority) of each node is at least as large (small) as the values at its children (if

More information

CS Data Structures and Algorithm Analysis

CS Data Structures and Algorithm Analysis CS 483 - Data Structures and Algorithm Analysis Lecture VI: Chapter 5, part 2; Chapter 6, part 1 R. Paul Wiegand George Mason University, Department of Computer Science March 8, 2006 Outline 1 Topological

More information

The Design and Implementation Of A New Out-of-Core Sparse Cholesky Factorization Method

The Design and Implementation Of A New Out-of-Core Sparse Cholesky Factorization Method The Design and Implementation Of A New Out-of-Core Sparse Cholesky Factorization Method VLADIMIR ROTKIN and SIVAN TOLEDO Tel-Aviv University We describe a new out-of-core sparse Cholesky factorization

More information

Sequential and Parallel Algorithms for Cholesky Factorization of Sparse Matrices

Sequential and Parallel Algorithms for Cholesky Factorization of Sparse Matrices Sequential and Parallel Algorithms for Cholesky Factorization of Sparse Matrices Nerma Baščelija Sarajevo School of Science and Technology Department of Computer Science Hrasnicka Cesta 3a, 71000 Sarajevo

More information

Lecture 27: Fast Laplacian Solvers

Lecture 27: Fast Laplacian Solvers Lecture 27: Fast Laplacian Solvers Scribed by Eric Lee, Eston Schweickart, Chengrun Yang November 21, 2017 1 How Fast Laplacian Solvers Work We want to solve Lx = b with L being a Laplacian matrix. Recall

More information

Graph Algorithms Using Depth First Search

Graph Algorithms Using Depth First Search Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth

More information

Sparse Matrices and Graphs: There and Back Again

Sparse Matrices and Graphs: There and Back Again Sparse Matrices and Graphs: There and Back Again John R. Gilbert University of California, Santa Barbara Simons Institute Workshop on Parallel and Distributed Algorithms for Inference and Optimization

More information

Advanced Computer Graphics

Advanced Computer Graphics G22.2274 001, Fall 2009 Advanced Computer Graphics Project details and tools 1 Project Topics Computer Animation Geometric Modeling Computational Photography Image processing 2 Optimization All projects

More information

NATCOR Convex Optimization Linear Programming 1

NATCOR Convex Optimization Linear Programming 1 NATCOR Convex Optimization Linear Programming 1 Julian Hall School of Mathematics University of Edinburgh jajhall@ed.ac.uk 5 June 2018 What is linear programming (LP)? The most important model used in

More information

MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix.

MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix. MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix. Row echelon form A matrix is said to be in the row echelon form if the leading entries shift to the

More information

Introduction to Operations Research

Introduction to Operations Research - Introduction to Operations Research Peng Zhang April, 5 School of Computer Science and Technology, Shandong University, Ji nan 5, China. Email: algzhang@sdu.edu.cn. Introduction Overview of the Operations

More information

Algorithms: Lecture 10. Chalmers University of Technology

Algorithms: Lecture 10. Chalmers University of Technology Algorithms: Lecture 10 Chalmers University of Technology Today s Topics Basic Definitions Path, Cycle, Tree, Connectivity, etc. Graph Traversal Depth First Search Breadth First Search Testing Bipartatiness

More information

GRAPHICAL ALGORITHMS. UNIT _II Lecture-12 Slides No. 3-7 Lecture Slides No Lecture Slides No

GRAPHICAL ALGORITHMS. UNIT _II Lecture-12 Slides No. 3-7 Lecture Slides No Lecture Slides No GRAPHICAL ALGORITHMS UNIT _II Lecture-12 Slides No. 3-7 Lecture-13-16 Slides No. 8-26 Lecture-17-19 Slides No. 27-42 Topics Covered Graphs & Trees ( Some Basic Terminologies) Spanning Trees (BFS & DFS)

More information

Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes

Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes (Addendum to IEEE Visualization 1999 paper) Hugues Hoppe Steve Marschner June 2000 Technical Report MSR-TR-2000-64

More information

Methods of solving sparse linear systems. Soldatenko Oleg SPbSU, Department of Computational Physics

Methods of solving sparse linear systems. Soldatenko Oleg SPbSU, Department of Computational Physics Methods of solving sparse linear systems. Soldatenko Oleg SPbSU, Department of Computational Physics Outline Introduction Sherman-Morrison formula Woodbury formula Indexed storage of sparse matrices Types

More information

An Out-of-Core Sparse Cholesky Solver

An Out-of-Core Sparse Cholesky Solver An Out-of-Core Sparse Cholesky Solver JOHN K. REID and JENNIFER A. SCOTT Rutherford Appleton Laboratory 9 Direct methods for solving large sparse linear systems of equations are popular because of their

More information

ECEN 615 Methods of Electric Power Systems Analysis Lecture 11: Sparse Systems

ECEN 615 Methods of Electric Power Systems Analysis Lecture 11: Sparse Systems ECEN 615 Methods of Electric Power Systems Analysis Lecture 11: Sparse Systems Prof. Tom Overbye Dept. of Electrical and Computer Engineering Texas A&M University overbye@tamu.edu Announcements Homework

More information

Q. Wang National Key Laboratory of Antenna and Microwave Technology Xidian University No. 2 South Taiba Road, Xi an, Shaanxi , P. R.

Q. Wang National Key Laboratory of Antenna and Microwave Technology Xidian University No. 2 South Taiba Road, Xi an, Shaanxi , P. R. Progress In Electromagnetics Research Letters, Vol. 9, 29 38, 2009 AN IMPROVED ALGORITHM FOR MATRIX BANDWIDTH AND PROFILE REDUCTION IN FINITE ELEMENT ANALYSIS Q. Wang National Key Laboratory of Antenna

More information

F k G A S S1 3 S 2 S S V 2 V 3 V 1 P 01 P 11 P 10 P 00

F k G A S S1 3 S 2 S S V 2 V 3 V 1 P 01 P 11 P 10 P 00 PRLLEL SPRSE HOLESKY FTORIZTION J URGEN SHULZE University of Paderborn, Department of omputer Science Furstenallee, 332 Paderborn, Germany Sparse matrix factorization plays an important role in many numerical

More information

Review on Storage and Ordering for Large Sparse Matrix

Review on Storage and Ordering for Large Sparse Matrix Review on Storage and Ordering for Large Sparse Matrix (Final Project, Math) Wei He (SID: 5763774) Introduction Many problems in science and engineering require the solution of a set of sparse matrix equations

More information

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

Analysis of the Out-of-Core Solution Phase of a Parallel Multifrontal Approach Analysis of the Out-of-Core Solution Phase of a Parallel Multifrontal Approach P. Amestoy I.S. Duff A. Guermouche Tz. Slavova April 25, 200 Abstract We consider the parallel solution of sparse linear systems

More information

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

On the I/O Volume in Out-of-Core Multifrontal Methods with a Flexible Allocation Scheme On the I/O Volume in Out-of-Core Multifrontal Methods with a Flexible Allocation Scheme Emmanuel Agullo 1,6,3,7, Abdou Guermouche 5,4,8, and Jean-Yves L Excellent 2,6,3,9 1 École Normale Supérieure de

More information

NAG Library Routine Document F04MCF.1

NAG Library Routine Document F04MCF.1 NAG Library Routine Document Note: before using this routine, please read the Users Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent

More information

Algorithms for Reordering Power Systems Matrices to Minimal Band Form

Algorithms for Reordering Power Systems Matrices to Minimal Band Form 174 Algorithms for Reordering Power Systems Matrices to Minimal Band Form P.S. Nagendra Rao Pravin Kumar Gupta Abstract - Efficient exploitation of sparsity of matrices is very critical for the successful

More information

Nested-Dissection Orderings for Sparse LU with Partial Pivoting

Nested-Dissection Orderings for Sparse LU with Partial Pivoting Nested-Dissection Orderings for Sparse LU with Partial Pivoting Igor Brainman 1 and Sivan Toledo 1 School of Mathematical Sciences, Tel-Aviv University Tel-Aviv 69978, ISRAEL Email: sivan@math.tau.ac.il

More information

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

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

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

A GENERALIZED GPS ALGORITHM FOR REDUCING THE BANDWIDTH AND PROFILE OF A SPARSE MATRIX

A GENERALIZED GPS ALGORITHM FOR REDUCING THE BANDWIDTH AND PROFILE OF A SPARSE MATRIX Progress In Electromagnetics Research, PIER 90, 121 136, 2009 A GENERALIZED GPS ALGORITHM FOR REDUCING THE BANDWIDTH AND PROFILE OF A SPARSE MATRIX Q. Wang, Y. C. Guo, and X. W. Shi National Key Laboratory

More information

Lecture 9. Introduction to Numerical Techniques

Lecture 9. Introduction to Numerical Techniques Lecture 9. Introduction to Numerical Techniques Ivan Papusha CDS270 2: Mathematical Methods in Control and System Engineering May 27, 2015 1 / 25 Logistics hw8 (last one) due today. do an easy problem

More information

Performance Evaluation of a New Parallel Preconditioner

Performance Evaluation of a New Parallel Preconditioner Performance Evaluation of a New Parallel Preconditioner Keith D. Gremban Gary L. Miller Marco Zagha School of Computer Science Carnegie Mellon University 5 Forbes Avenue Pittsburgh PA 15213 Abstract The

More information

Chapter Introduction

Chapter Introduction Chapter 4.1 Introduction After reading this chapter, you should be able to 1. define what a matrix is. 2. identify special types of matrices, and 3. identify when two matrices are equal. What does a matrix

More information

REDUCING THE TOTAL BANDWIDTH OF A SPARSE UNSYMMETRIC MATRIX

REDUCING THE TOTAL BANDWIDTH OF A SPARSE UNSYMMETRIC MATRIX SIAM J. MATRIX ANAL. APPL. Vol. 28, No. 3, pp. 805 821 c 2006 Society for Industrial and Applied Mathematics REDUCING THE TOTAL BANDWIDTH OF A SPARSE UNSYMMETRIC MATRIX J. K. REID AND J. A. SCOTT Abstract.

More information

Discrete Mathematics, Spring 2004 Homework 8 Sample Solutions

Discrete Mathematics, Spring 2004 Homework 8 Sample Solutions Discrete Mathematics, Spring 4 Homework 8 Sample Solutions 6.4 #. Find the length of a shortest path and a shortest path between the vertices h and d in the following graph: b c d a 7 6 7 4 f 4 6 e g 4

More information

Trees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology

Trees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology Trees : Part Section. () (2) Preorder, Postorder and Levelorder Traversals Definition: A tree is a connected graph with no cycles Consequences: Between any two vertices, there is exactly one unique path

More information

where L is unit lower triangular and D is diagonal. The system (1.1) is then solved by

where L is unit lower triangular and D is diagonal. The system (1.1) is then solved by ON THE COMPLEXITY OF SPARSE GAUSSIAN ELIMINATION VIA BORDERING RANDOLPH E BANK AND DONALD J ROSE Abstract The complexity of a general sparse Gaussian elimination algorithm based on the bordering algorithm

More information

Lecture 15: More Iterative Ideas

Lecture 15: More Iterative Ideas Lecture 15: More Iterative Ideas David Bindel 15 Mar 2010 Logistics HW 2 due! Some notes on HW 2. Where we are / where we re going More iterative ideas. Intro to HW 3. More HW 2 notes See solution code!

More information

PARDISO Version Reference Sheet Fortran

PARDISO Version Reference Sheet Fortran PARDISO Version 5.0.0 1 Reference Sheet Fortran CALL PARDISO(PT, MAXFCT, MNUM, MTYPE, PHASE, N, A, IA, JA, 1 PERM, NRHS, IPARM, MSGLVL, B, X, ERROR, DPARM) 1 Please note that this version differs significantly

More information

CS 361 Data Structures & Algs Lecture 11. Prof. Tom Hayes University of New Mexico

CS 361 Data Structures & Algs Lecture 11. Prof. Tom Hayes University of New Mexico CS 361 Data Structures & Algs Lecture 11 Prof. Tom Hayes University of New Mexico 09-28-2010 1 Last Time Priority Queues & Heaps Heapify (up and down) 1: Preserve shape of tree 2: Swaps restore heap order

More information

Intel Math Kernel Library (Intel MKL) Sparse Solvers. Alexander Kalinkin Intel MKL developer, Victor Kostin Intel MKL Dense Solvers team manager

Intel Math Kernel Library (Intel MKL) Sparse Solvers. Alexander Kalinkin Intel MKL developer, Victor Kostin Intel MKL Dense Solvers team manager Intel Math Kernel Library (Intel MKL) Sparse Solvers Alexander Kalinkin Intel MKL developer, Victor Kostin Intel MKL Dense Solvers team manager Copyright 3, Intel Corporation. All rights reserved. Sparse

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms Searching Red-Black and Other Dynamically BalancedTrees PLSD210 Searching - Re-visited Binary tree O(log n) if it stays balanced Simple binary tree good for static collections

More information

Parallel Implementations of Gaussian Elimination

Parallel Implementations of Gaussian Elimination s of Western Michigan University vasilije.perovic@wmich.edu January 27, 2012 CS 6260: in Parallel Linear systems of equations General form of a linear system of equations is given by a 11 x 1 + + a 1n

More information

Numerical Linear Algebra

Numerical Linear Algebra Numerical Linear Algebra Probably the simplest kind of problem. Occurs in many contexts, often as part of larger problem. Symbolic manipulation packages can do linear algebra "analytically" (e.g. Mathematica,

More information

Polyhedral Computation Today s Topic: The Double Description Algorithm. Komei Fukuda Swiss Federal Institute of Technology Zurich October 29, 2010

Polyhedral Computation Today s Topic: The Double Description Algorithm. Komei Fukuda Swiss Federal Institute of Technology Zurich October 29, 2010 Polyhedral Computation Today s Topic: The Double Description Algorithm Komei Fukuda Swiss Federal Institute of Technology Zurich October 29, 2010 1 Convexity Review: Farkas-Type Alternative Theorems Gale

More information

CS 441 Discrete Mathematics for CS Lecture 26. Graphs. CS 441 Discrete mathematics for CS. Final exam

CS 441 Discrete Mathematics for CS Lecture 26. Graphs. CS 441 Discrete mathematics for CS. Final exam CS 441 Discrete Mathematics for CS Lecture 26 Graphs Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square Final exam Saturday, April 26, 2014 at 10:00-11:50am The same classroom as lectures The exam

More information

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

CHAPTER 8. Copyright Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS Copyright Cengage Learning. All rights reserved. SECTION 8.3 Equivalence Relations Copyright Cengage Learning. All rights reserved. The Relation Induced by a Partition 3 The Relation

More information

Contents. F10: Parallel Sparse Matrix Computations. Parallel algorithms for sparse systems Ax = b. Discretized domain a metal sheet

Contents. F10: Parallel Sparse Matrix Computations. Parallel algorithms for sparse systems Ax = b. Discretized domain a metal sheet Contents 2 F10: Parallel Sparse Matrix Computations Figures mainly from Kumar et. al. Introduction to Parallel Computing, 1st ed Chap. 11 Bo Kågström et al (RG, EE, MR) 2011-05-10 Sparse matrices and storage

More information

Figure 6.1: Truss topology optimization diagram.

Figure 6.1: Truss topology optimization diagram. 6 Implementation 6.1 Outline This chapter shows the implementation details to optimize the truss, obtained in the ground structure approach, according to the formulation presented in previous chapters.

More information

Dual-fitting analysis of Greedy for Set Cover

Dual-fitting analysis of Greedy for Set Cover Dual-fitting analysis of Greedy for Set Cover We showed earlier that the greedy algorithm for set cover gives a H n approximation We will show that greedy produces a solution of cost at most H n OPT LP

More information

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1 Communication Networks I December, Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page Communication Networks I December, Notation G = (V,E) denotes a

More information

Chapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.

Chapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path. Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the

More information

Elimination Structures in Scientific Computing

Elimination Structures in Scientific Computing Chapter 1 Elimination Structures in Scientific Computing Alex Pothen Old Dominion University Sivan Toledo Tel-Aviv University The most fundamental computation in numerical linear algebra is the factorization

More information

IN OUR LAST HOMEWORK, WE SOLVED LARGE

IN OUR LAST HOMEWORK, WE SOLVED LARGE Y OUR HOMEWORK H A SSIGNMENT Editor: Dianne P. O Leary, oleary@cs.umd.edu FAST SOLVERS AND SYLVESTER EQUATIONS: BOTH SIDES NOW By Dianne P. O Leary IN OUR LAST HOMEWORK, WE SOLVED LARGE SPARSE SYSTEMS

More information

Lecture 9 Graph Traversal

Lecture 9 Graph Traversal Lecture 9 Graph Traversal Euiseong Seo (euiseong@skku.edu) SWE00: Principles in Programming Spring 0 Euiseong Seo (euiseong@skku.edu) Need for Graphs One of unifying themes of computer science Closely

More information

Sparse Matrices Introduction to sparse matrices and direct methods

Sparse Matrices Introduction to sparse matrices and direct methods Sparse Matrices Introduction to sparse matrices and direct methods Iain Duff STFC Rutherford Appleton Laboratory and CERFACS Summer School The 6th de Brùn Workshop. Linear Algebra and Matrix Theory: connections,

More information

Lecture 10 Graph algorithms: testing graph properties

Lecture 10 Graph algorithms: testing graph properties Lecture 10 Graph algorithms: testing graph properties COMP 523: Advanced Algorithmic Techniques Lecturer: Dariusz Kowalski Lecture 10: Testing Graph Properties 1 Overview Previous lectures: Representation

More information

Advanced Set Representation Methods

Advanced Set Representation Methods Advanced Set Representation Methods AVL trees. 2-3(-4) Trees. Union-Find Set ADT DSA - lecture 4 - T.U.Cluj-Napoca - M. Joldos 1 Advanced Set Representation. AVL Trees Problem with BSTs: worst case operation

More information

Graph Theory CS/Math231 Discrete Mathematics Spring2015

Graph Theory CS/Math231 Discrete Mathematics Spring2015 1 Graphs Definition 1 A directed graph (or digraph) G is a pair (V, E), where V is a finite set and E is a binary relation on V. The set V is called the vertex set of G, and its elements are called vertices

More information

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

A comparison of Algorithms for Sparse Matrix. Real-time Multibody Dynamic Simulation A comparison of Algorithms for Sparse Matrix Factoring and Variable Reordering aimed at Real-time Multibody Dynamic Simulation Jose-Luis Torres-Moreno, Jose-Luis Blanco, Javier López-Martínez, Antonio

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

Matrix Multiplication

Matrix Multiplication Matrix Multiplication CPS343 Parallel and High Performance Computing Spring 2013 CPS343 (Parallel and HPC) Matrix Multiplication Spring 2013 1 / 32 Outline 1 Matrix operations Importance Dense and sparse

More information

Graph and Digraph Glossary

Graph and Digraph Glossary 1 of 15 31.1.2004 14:45 Graph and Digraph Glossary A B C D E F G H I-J K L M N O P-Q R S T U V W-Z Acyclic Graph A graph is acyclic if it contains no cycles. Adjacency Matrix A 0-1 square matrix whose

More information

Generalized Network Flow Programming

Generalized Network Flow Programming Appendix C Page Generalized Network Flow Programming This chapter adapts the bounded variable primal simplex method to the generalized minimum cost flow problem. Generalized networks are far more useful

More information

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014 5/2/24 Outline CS38 Introduction to Algorithms Lecture 5 May 2, 24 Linear programming simplex algorithm LP duality ellipsoid algorithm * slides from Kevin Wayne May 2, 24 CS38 Lecture 5 May 2, 24 CS38

More information

Computer Vision. Geometric Camera Calibration. Samer M Abdallah, PhD

Computer Vision. Geometric Camera Calibration. Samer M Abdallah, PhD Computer Vision Samer M Abdallah, PhD Faculty of Engineering and Architecture American University of Beirut Beirut, Lebanon Geometric Camera Calibration September 2, 2004 1 Computer Vision Geometric Camera

More information

Combinatorial problems in a Parallel Hybrid Linear Solver

Combinatorial problems in a Parallel Hybrid Linear Solver Combinatorial problems in a Parallel Hybrid Linear Solver Ichitaro Yamazaki and Xiaoye Li Lawrence Berkeley National Laboratory François-Henry Rouet and Bora Uçar ENSEEIHT-IRIT and LIP, ENS-Lyon SIAM workshop

More information

Null space computation of sparse singular matrices with MUMPS

Null space computation of sparse singular matrices with MUMPS 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,

More information

國立清華大學電機工程學系. Outline

國立清華大學電機工程學系. Outline 國立清華大學電機工程學系 EE4 Data Structure Chapter 5 Trees (Part II) Outline Binary Search Trees Selection Trees Forests Set Representation Counting Binary Tree ch5.- Definition Binary Search Tree (BST) binary search

More information

Project Report. 1 Abstract. 2 Algorithms. 2.1 Gaussian elimination without partial pivoting. 2.2 Gaussian elimination with partial pivoting

Project Report. 1 Abstract. 2 Algorithms. 2.1 Gaussian elimination without partial pivoting. 2.2 Gaussian elimination with partial pivoting Project Report Bernardo A. Gonzalez Torres beaugonz@ucsc.edu Abstract The final term project consist of two parts: a Fortran implementation of a linear algebra solver and a Python implementation of a run

More information

High Performance Computing: Tools and Applications

High Performance Computing: Tools and Applications High Performance Computing: Tools and Applications Edmond Chow School of Computational Science and Engineering Georgia Institute of Technology Lecture 15 Numerically solve a 2D boundary value problem Example:

More information

Addition/Subtraction flops. ... k k + 1, n (n k)(n k) (n k)(n + 1 k) n 1 n, n (1)(1) (1)(2)

Addition/Subtraction flops. ... k k + 1, n (n k)(n k) (n k)(n + 1 k) n 1 n, n (1)(1) (1)(2) 1 CHAPTER 10 101 The flop counts for LU decomposition can be determined in a similar fashion as was done for Gauss elimination The major difference is that the elimination is only implemented for the left-hand

More information

Native mesh ordering with Scotch 4.0

Native mesh ordering with Scotch 4.0 Native mesh ordering with Scotch 4.0 François Pellegrini INRIA Futurs Project ScAlApplix pelegrin@labri.fr Abstract. Sparse matrix reordering is a key issue for the the efficient factorization of sparse

More information

COMPUTER OPTIMIZATION

COMPUTER OPTIMIZATION COMPUTER OPTIMIZATION Storage Optimization: Since Normal Matrix is a symmetric matrix, store only half of it in a vector matrix and develop a indexing scheme to map the upper or lower half to the vector.

More information

UNIT III TREES. A tree is a non-linear data structure that is used to represents hierarchical relationships between individual data items.

UNIT III TREES. A tree is a non-linear data structure that is used to represents hierarchical relationships between individual data items. UNIT III TREES A tree is a non-linear data structure that is used to represents hierarchical relationships between individual data items. Tree: A tree is a finite set of one or more nodes such that, there

More information

CE 601: Numerical Methods Lecture 5. Course Coordinator: Dr. Suresh A. Kartha, Associate Professor, Department of Civil Engineering, IIT Guwahati.

CE 601: Numerical Methods Lecture 5. Course Coordinator: Dr. Suresh A. Kartha, Associate Professor, Department of Civil Engineering, IIT Guwahati. CE 601: Numerical Methods Lecture 5 Course Coordinator: Dr. Suresh A. Kartha, Associate Professor, Department of Civil Engineering, IIT Guwahati. Elimination Methods For a system [A]{x} = {b} where [A]

More information

7.1 Introduction. A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w

7.1 Introduction. A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w Chapter 7 Trees 7.1 Introduction A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w Tree Terminology Parent Ancestor Child Descendant Siblings

More information

Two algorithms for the numerical factorization of large symmetric positive definite matrices for a hypercube multiprocessor

Two algorithms for the numerical factorization of large symmetric positive definite matrices for a hypercube multiprocessor Two algorithms for the numerical factorization of large symmetric positive definite matrices for a hypercube multiprocessor Rune Torkildsen Program Systems Group Department of Computer Systems The Norwegian

More information

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

Iterative Algorithms I: Elementary Iterative Methods and the Conjugate Gradient Algorithms Iterative Algorithms I: Elementary Iterative Methods and the Conjugate Gradient Algorithms By:- Nitin Kamra Indian Institute of Technology, Delhi Advisor:- Prof. Ulrich Reude 1. Introduction to Linear

More information

Sparse Linear Systems

Sparse Linear Systems 1 Sparse Linear Systems Rob H. Bisseling Mathematical Institute, Utrecht University Course Introduction Scientific Computing February 22, 2018 2 Outline Iterative solution methods 3 A perfect bipartite

More information

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

Uppsala University Department of Information technology. Hands-on 1: Ill-conditioning = x 2 Uppsala University Department of Information technology Hands-on : Ill-conditioning Exercise (Ill-conditioned linear systems) Definition A system of linear equations is said to be ill-conditioned when

More information

Developing the TELEMAC system for HECToR (phase 2b & beyond) Zhi Shang

Developing the TELEMAC system for HECToR (phase 2b & beyond) Zhi Shang Developing the TELEMAC system for HECToR (phase 2b & beyond) Zhi Shang Outline of the Talk Introduction to the TELEMAC System and to TELEMAC-2D Code Developments Data Reordering Strategy Results Conclusions

More information

Matrix Multiplication

Matrix Multiplication Matrix Multiplication CPS343 Parallel and High Performance Computing Spring 2018 CPS343 (Parallel and HPC) Matrix Multiplication Spring 2018 1 / 32 Outline 1 Matrix operations Importance Dense and sparse

More information