Sparse matrices: Basics
|
|
- Warren Hensley
- 6 years ago
- Views:
Transcription
1 Outline : Basics Bora Uçar RO:MA, LIP, ENS Lyon, France CR-08: Combinatorial scientific computing, September /28 CR09
2 Outline Outline 1 Course presentation 2 2/28 CR09
3 CR08: What is and what is not? CR08 is about sparse matrices and computations with them. Sparse matrix: It is a matrix with many zeros which are not stored. We will follow: Lecture notes, articles, books. S Presentations (survey/research) A = Sparse matrix computations: Mostly operate on the nonzero elements. are everywhere: Google s PageRank, network analysis (social, biological), simulation science (circuits, numerical,...) CR08 3/28 CR09
4 CR08: What is and what is not? CR08 is about graphs. Nonzeros of a matrix can been seen as the edges of a bipartite graph, a directed graph, an undirected graph, or a hypergraph. Computations on sparse matrices can be modeled using graphs. CR08 is about this correspondence in a broader sense /28 CR09
5 CR08: What is and what is not?...not a scientific computing/linear algebra course....not a full-fledged combinatorial optimization course....not a parallel computing course. We will see some exciting problems having to do with topics from these three domains. 5/28 CR09
6 CR08: A sample problem Let A be an n n symmetric positive definite matrix The LL T factorization ( can ) be described by the equation: d1 v1 T A = H 0 = v 1 H 1 ( ) ( ) ( d1 ) d v T 1 = d1 v d1 1 I n 1 0 H 1 0 I n 1 = L 1 A 1 L T 1, where H 1 = H 1 v 1v T 1 d 1 The basic step is applied on H 1, H 2... to obtain : ( ) A = (L 1 L 2 L n 1 ) I n L T n 1 L T 2 LT 1 = LL T /28 CR09
7 The basic step: H 1 = H 1 v 1v T 1 d 1 What is v 1 v T 1 in terms of structure? vt 1 v 1 v 1 v T 1 : a dense sub-matrix in H 1. v 1 is a column of A, hence the neighbors of the corresponding vertex. v 1 v 1 T The neighbors of the corresponding vertex form a clique. Basic step modeled using a graph: Pick the vertex, form a clique from its neighbors, and remove the vertex. 7/28 CR09
8 CR08: A sample problem G 0 G 1 G H 0 H 1 H G(L + L T ) L + L T G H 3 8/28 CR09 What can we say about the final matrix by just looking at the original graph?
9 CR08: Planning Course presentation Instructor: Lecture notes (references to articles, books); problems. Students: Participation to solving problems; Presentations (can be a survey, of type expository, or about a research problem). We will decide the form according to the number of participants. Classes to catch up: BU is away 10 1 November. We will decide the dates later for the course of that week. Office: Contact: Course web: GN1 Nord 332 (LIP) bora.ucar@ens-lyon.fr Lecture notes will be posted. 9/28 CR09
10 Course presentation When we started putting these models together they became very large as compared to linear programming capability at that time... It struck me that our matrices were mostly full of zeros, and if you have a set of simultaneous equations that are mostly zeros, if you pick your pivots right, you could just solve it by hand. Then I thought, well, maybe we could get the computer to do the same thing. This led to Sparse Matrices. As far as I know, I coined the word Sparse Matrix. Harry Markowitz: I got a Nobel Prize... Work in 1952 got Nobel in I published [in this area, refers to a 1957 paper on selecting pivots for Gaussian elimination] and then forgot about it...[in a] decade, it started to catch on and expanded very fast. I was completely oblivious to what was going on and to what extent. 10/28 CR09
11 : Coordinate format There are many ways to store a sparse matrix. We will look at three standard representations which store only the nonzero entries. We use τ to denote the number of nnzs Coordinate (Triplet) format Two integer arrays (irn, jcn) and a double array A, each of size τ: irn = [ ] jcn = [ ] A = [ ] The kth entry a ij is stored as irn[k] = i, jcn[k] = j, a[k] = a ij. The storage is 2τ integers and τ doubles (or single or complex). In general, τ = O(m + n). 11/28 CR09
12 : Coordinate format Question: Let A be an m n matrix. R and C be two diagonal matrices of size m m and n n. A can be scaled as  = RAC. Write a function/routine that does this operation for matrices stored in the coordinate format. 12/28 CR09
13 : Compressed row storage There are many ways to store a sparse matrix. We will look at three standard representations which store only the nonzero entries. Compressed row storage Two integer arrays (ia, jcn) and a double array A: The nonzeros of the ith row are stored at the ia[i] ia[i+1]-1 positions of jcn and A. ia = [ ] jcn = [ ] A = [ ] For example the 3rd row: starts at ia[3] = and finishes at ia[3+1]-1 = 5. The column indices are therefore jcn[,5] = 1 3 and values are A[,5] = /28 CR09
14 : Compressed row storage There are many ways to store a sparse matrix. We will look at three standard representations which store only the nonzero entries Compressed row format Two integer arrays (ia, jcn) and a double array A: ia = [ ] jcn = [ ] A = [ ] The nonzeros of the ith row are stored at the ia[i] ia[i+1]-1 positions of jcn and A. Let matrix be of size m n, and τ be the number of nonzeros, then the storage is m τ integer and τ double (or single or complex). 1/28 CR09
15 : Compressed row storage Question: Let A be an m n matrix stored in the compressed row storage format. Where is nnz(a)? Question: Let A be an m n matrix stored in the compressed row storage format. Write a function/routine that displays A. Question: Let A be an m n matrix. R and C be two diagonal matrices of size m m and n n. A can be scaled as  = RAC. Write a function/routine that does this operation for matrices stored in the compressed row storage format. 15/28 CR09
16 : Compressed column storage There are many ways to store a sparse matrix. We will look at three standard representations which store only the nonzero entries. Compressed column storage Two integer arrays (irn, ja) and a double array A: ja = [ ] irn = [ ] A = [ ] The nonzeros of the jth column are stored at the ja[j] ja[j+1]-1 positions of irn and A. For example the 2nd col: starts at ja[2] = 3 and finishes at ja[2+1]-1 =. The row indices are therefore irn[3,] = 2 5 and values are A[3,] = /28 CR09
17 : Compressed column storage There are many ways to store a sparse matrix. We will look at three standard representations which store only the nonzero entries Compressed column format The nonzeros of the jth column are stored at the ja[j] ja[j+1]-1 positions of irn and A. Two integer arrays (irn, ja) and a double array A: ja = [ ] irn = [ ] A = [ ] Let matrix be of size m n, and τ be the number of nonzeros, then the storage is n τ integer and τ double (or single or complex). 17/28 CR09
18 : Compressed column storage Question: Let A be an m n matrix stored in the compressed column storage format. Where is nnz(a)? Question: Let A be an m n matrix stored in the coordinate format. Write a function/routine that creates A in csc format. 18/28 CR09
19 Reminder: Dense matrix vector multiplication Need to compute y Ax for an m n dense matrix A and suitable dense vectors y and x. Row-major order for i = 1 to m do y[i] 0.0 for j = 1 to n do y[i] y[i] + A[i, j] x[j] Column-major order for i = 1 to m do y[i] 0.0 for j = 1 to n do for i = 1 to m do y[i] y[i] + A[i, j] x[j] 19/28 CR09
20 : Sparse matrix vector multiplies Need to compute y Ax for an m n sparse matrix A and suitable dense vectors y and x. Algorithm when A is stored in the coordinate format. 20/28 CR09
21 : Sparse matrix vector multiplies Need to compute y Ax for an m n sparse matrix A and suitable dense vectors y and x. A is stored in the coordinate format. Coordinate format with τ nonzeros (irn, jcn, A) for i = 1 to m do y[i] 0.0 for k = 1 to τ do y[irn[k]] y[irn[k]] + A[k] x[jcn[k]] 21/28 CR09
22 : Sparse matrix vector multiplies Need to compute y Ax for an m n sparse matrix A and suitable dense vectors y and x. Algorithm when A is stored in the CSR format. 22/28 CR09
23 : Sparse matrix vector multiplies Need to compute y Ax for an m n sparse matrix A and suitable dense vectors y and x. Algorithm when A is stored in the CSR format. Compressed row storage (ia, jcn, A) for i = 1 to m do val 0.0 for k = ia[i] to ia[i + 1] 1 do val val + A[k] x[jcn[k]] y[i] val 23/28 CR09
24 : Sparse matrix vector multiplies Need to compute y Ax for an m n sparse matrix A and suitable dense vectors y and x. Algorithm when A is stored in the CSC format. 2/28 CR09
25 : Sparse matrix vector multiplies Need to compute y Ax for an m n sparse matrix A and suitable dense vectors y and x. Algorithm when A is stored in the CSC format. Compressed column storage (ja, irn, A) for i = 1 to m do y[i] 0.0 for j = 1 to n do xval x[j] for k = ja[j] to ja[j + 1] 1 do y[irn[k]] y[irn[k]] + A[k] xval 25/28 CR09
26 : Sparse matrix vector multiplies Characterizes a wide range of applications with irregular computational dependency. reduction operation from inputs (here entries of x) to outputs (here entries of y) A fine grain computation: each nnz is read/operated on once. Guaranteeing efficiency will guarantee efficiency in applications with a coarser grain computation. 2/28 CR09
27 : Sparse matrix vector multiplies SpMxV s of the form y Ax are the computational kernel of many scientific computations Solvers for linear systems, linear programs, eigensystems, least squares problems, Repeated SpMxV with the same large sparse matrix A, The matrix A can be symmetric, unsymmetric, rectangular, Sometimes multiplies are of the form y ADA T z with a diagonal D (in interior point methods for linear programs). computation proceeds (why?) as w A T z, then x Dw, then y Ax Sometimes we have multiplies with A and A T independent; y Ax and w A T z (QMR, CGNE, and CGNR methods with square unsymmetric A; rectangular A in Lanczos method). 27/28 CR09
28 Further questions Given a real matrix A of size m n, with τ nonzeros. Question: Write a function to create its transpose (three times: stored in the COO, CSR, and CSC formats). Question: Write a function to determine if A is symmetric. Assume A is stored in the CSC format. 28/28 CR09
The block triangular form and bipartite matchings
Outline The block triangular form and bipartite matchings Jean-Yves L Excellent and Bora Uçar GRAAL, LIP, ENS Lyon, France CR-07: Sparse Matrix Computations, November 2010 http://graal.ens-lyon.fr/~bucar/cr07/
More informationMathematics and Computer Science
Technical Report TR-2006-010 Revisiting hypergraph models for sparse matrix decomposition by Cevdet Aykanat, Bora Ucar Mathematics and Computer Science EMORY UNIVERSITY REVISITING HYPERGRAPH MODELS FOR
More informationSparse 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 informationTechnical Report. OSUBMI-TR_2008_n04. On two-dimensional sparse matrix partitioning: Models, Methods, and a Recipe
The Ohio State University Department of Biomedical Informatics Graves Hall, W. th Avenue Columbus, OH http://bmi.osu.edu Technical Report OSUBMI-TR n On two-dimensional sparse matrix partitioning: Models,
More informationFor example, the system. 22 may be represented by the augmented matrix
Matrix Solutions to Linear Systems A matrix is a rectangular array of elements. o An array is a systematic arrangement of numbers or symbols in rows and columns. Matrices (the plural of matrix) may be
More informationc 2010 Society for Industrial and Applied Mathematics
SIAM J. SCI. COMPUT. Vol., No., pp. 66 68 c Society for Industrial and Applied Mathematics ON TWO-DIMENSIONAL SPARSE MATRIX PARTITIONING: MODELS, METHODS, AND A RECIPE ÜMİT V. ÇATALYÜREK, CEVDET AYKANAT,
More informationChapter 4. Matrix and Vector Operations
1 Scope of the Chapter Chapter 4 This chapter provides procedures for matrix and vector operations. This chapter (and Chapters 5 and 6) can handle general matrices, matrices with special structure and
More information10/26/ Solving Systems of Linear Equations Using Matrices. Objectives. Matrices
6.1 Solving Systems of Linear Equations Using Matrices Objectives Write the augmented matrix for a linear system. Perform matrix row operations. Use matrices and Gaussian elimination to solve systems.
More informationData Structures for sparse matrices
Data Structures for sparse matrices The use of a proper data structures is critical to achieving good performance. Generate a symmetric sparse matrix A in matlab and time the operations of accessing (only)
More information1.5D PARALLEL SPARSE MATRIX-VECTOR MULTIPLY
.D PARALLEL SPARSE MATRIX-VECTOR MULTIPLY ENVER KAYAASLAN, BORA UÇAR, AND CEVDET AYKANAT Abstract. There are three common parallel sparse matrix-vector multiply algorithms: D row-parallel, D column-parallel
More informationMatrix 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 informationMatrix 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 informationThe Matrix-Tree Theorem and Its Applications to Complete and Complete Bipartite Graphs
The Matrix-Tree Theorem and Its Applications to Complete and Complete Bipartite Graphs Frankie Smith Nebraska Wesleyan University fsmith@nebrwesleyan.edu May 11, 2015 Abstract We will look at how to represent
More informationCS7540 Spectral Algorithms, Spring 2017 Lecture #2. Matrix Tree Theorem. Presenter: Richard Peng Jan 12, 2017
CS7540 Spectral Algorithms, Spring 2017 Lecture #2 Matrix Tree Theorem Presenter: Richard Peng Jan 12, 2017 DISCLAIMER: These notes are not necessarily an accurate representation of what I said during
More informationAMS526: Numerical Analysis I (Numerical Linear Algebra)
AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 1: Course Overview; Matrix Multiplication Xiangmin Jiao Stony Brook University Xiangmin Jiao Numerical Analysis I 1 / 21 Outline 1 Course
More informationCSCE 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 informationAMS526: 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 informationAMS526: 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 informationLecture 1: Introduction and Motivation Markus Kr otzsch Knowledge-Based Systems
KNOWLEDGE GRAPHS Introduction and Organisation Lecture 1: Introduction and Motivation Markus Kro tzsch Knowledge-Based Systems TU Dresden, 16th Oct 2018 Markus Krötzsch, 16th Oct 2018 Course Tutors Knowledge
More informationAlgebraic Graph Theory- Adjacency Matrix and Spectrum
Algebraic Graph Theory- Adjacency Matrix and Spectrum Michael Levet December 24, 2013 Introduction This tutorial will introduce the adjacency matrix, as well as spectral graph theory. For those familiar
More informationKNOWLEDGE GRAPHS. Lecture 1: Introduction and Motivation. TU Dresden, 16th Oct Markus Krötzsch Knowledge-Based Systems
KNOWLEDGE GRAPHS Lecture 1: Introduction and Motivation Markus Krötzsch Knowledge-Based Systems TU Dresden, 16th Oct 2018 Introduction and Organisation Markus Krötzsch, 16th Oct 2018 Knowledge Graphs slide
More informationL17: Introduction to Irregular Algorithms and MPI, cont.! November 8, 2011!
L17: Introduction to Irregular Algorithms and MPI, cont.! November 8, 2011! Administrative Class cancelled, Tuesday, November 15 Guest Lecture, Thursday, November 17, Ganesh Gopalakrishnan CUDA Project
More informationDense Matrix Algorithms
Dense Matrix Algorithms Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text Introduction to Parallel Computing, Addison Wesley, 2003. Topic Overview Matrix-Vector Multiplication
More informationA Parallel Matrix Scaling Algorithm
A Parallel Matrix Scaling Algorithm Patrick R. Amestoy 1, Iain S. Duff 2,3, Daniel Ruiz 1, and Bora Uçar 3 1 ENSEEIHT-IRIT, 2 rue Camichel, 31071, Toulouse, France amestoy@enseeiht.fr, Daniel.Ruiz@enseeiht.fr
More informationECEN 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 informationREGULAR GRAPHS OF GIVEN GIRTH. Contents
REGULAR GRAPHS OF GIVEN GIRTH BROOKE ULLERY Contents 1. Introduction This paper gives an introduction to the area of graph theory dealing with properties of regular graphs of given girth. A large portion
More informationENCAPSULATING MULTIPLE COMMUNICATION-COST METRICS IN PARTITIONING SPARSE RECTANGULAR MATRICES FOR PARALLEL MATRIX-VECTOR MULTIPLIES
SIAM J. SCI. COMPUT. Vol. 25, No. 6, pp. 1837 1859 c 2004 Society for Industrial and Applied Mathematics ENCAPSULATING MULTIPLE COMMUNICATION-COST METRICS IN PARTITIONING SPARSE RECTANGULAR MATRICES FOR
More informationAim. 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 informationMATH 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 informationReport of Linear Solver Implementation on GPU
Report of Linear Solver Implementation on GPU XIANG LI Abstract As the development of technology and the linear equation solver is used in many aspects such as smart grid, aviation and chemical engineering,
More informationCommunication balancing in Mondriaan sparse matrix partitioning
Communication balancing in Mondriaan sparse matrix partitioning Rob Bisseling and Wouter Meesen Rob.Bisseling@math.uu.nl http://www.math.uu.nl/people/bisseling Department of Mathematics Utrecht University
More informationMinimizing Communication Cost in Fine-Grain Partitioning of Sparse Matrices
Minimizing Communication Cost in Fine-Grain Partitioning of Sparse Matrices Bora Uçar and Cevdet Aykanat Department of Computer Engineering, Bilkent University, 06800, Ankara, Turkey {ubora,aykanat}@cs.bilkent.edu.tr
More informationParallel Greedy Matching Algorithms
Parallel Greedy Matching Algorithms Fredrik Manne Department of Informatics University of Bergen, Norway Rob Bisseling, University of Utrecht Md. Mostofa Patwary, University of Bergen 1 Outline Background
More informationEFFICIENT SOLVER FOR LINEAR ALGEBRAIC EQUATIONS ON PARALLEL ARCHITECTURE USING MPI
EFFICIENT SOLVER FOR LINEAR ALGEBRAIC EQUATIONS ON PARALLEL ARCHITECTURE USING MPI 1 Akshay N. Panajwar, 2 Prof.M.A.Shah Department of Computer Science and Engineering, Walchand College of Engineering,
More informationCSE 599 I Accelerated Computing - Programming GPUS. Parallel Pattern: Sparse Matrices
CSE 599 I Accelerated Computing - Programming GPUS Parallel Pattern: Sparse Matrices Objective Learn about various sparse matrix representations Consider how input data affects run-time performance of
More informationDynamic Sparse Matrix Allocation on GPUs. James King
Dynamic Sparse Matrix Allocation on GPUs James King Graph Applications Dynamic updates to graphs Adding edges add entries to sparse matrix representation Motivation Graph operations (adding edges) (e.g.
More informationCombinatorial 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 informationOn shared-memory parallelization of a sparse matrix scaling algorithm
On shared-memory parallelization of a sparse matrix scaling algorithm Ümit V. Çatalyürek, Kamer Kaya The Ohio State University Dept. of Biomedical Informatics {umit,kamer}@bmi.osu.edu Bora Uçar CNRS and
More informationOptimizing the operations with sparse matrices on Intel architecture
Optimizing the operations with sparse matrices on Intel architecture Gladkikh V. S. victor.s.gladkikh@intel.com Intel Xeon, Intel Itanium are trademarks of Intel Corporation in the U.S. and other countries.
More informationSparse 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 informationParallelizing LU Factorization
Parallelizing LU Factorization Scott Ricketts December 3, 2006 Abstract Systems of linear equations can be represented by matrix equations of the form A x = b LU Factorization is a method for solving systems
More informationCombinatorial problems in solving linear systems
Combinatorial problems in solving linear systems Iain S. Duff 1,2, Bora Uçar 3 1 CERFACS, 42 Av. G. Coriolis, 31057, Toulouse, France iain.duff@stfc.ac.uk 2 Atlas Centre, RAL, Oxon, OX11 0QX, England 3
More informationx = 12 x = 12 1x = 16
2.2 - The Inverse of a Matrix We've seen how to add matrices, multiply them by scalars, subtract them, and multiply one matrix by another. The question naturally arises: Can we divide one matrix by another?
More informationMathematics. 2.1 Introduction: Graphs as Matrices Adjacency Matrix: Undirected Graphs, Directed Graphs, Weighted Graphs CHAPTER 2
CHAPTER Mathematics 8 9 10 11 1 1 1 1 1 1 18 19 0 1.1 Introduction: Graphs as Matrices This chapter describes the mathematics in the GraphBLAS standard. The GraphBLAS define a narrow set of mathematical
More informationAH Matrices.notebook November 28, 2016
Matrices Numbers are put into arrays to help with multiplication, division etc. A Matrix (matrices pl.) is a rectangular array of numbers arranged in rows and columns. Matrices If there are m rows and
More informationBLAS and LAPACK + Data Formats for Sparse Matrices. Part of the lecture Wissenschaftliches Rechnen. Hilmar Wobker
BLAS and LAPACK + Data Formats for Sparse Matrices Part of the lecture Wissenschaftliches Rechnen Hilmar Wobker Institute of Applied Mathematics and Numerics, TU Dortmund email: hilmar.wobker@math.tu-dortmund.de
More informationSparse 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 informationLecture 12 (Last): Parallel Algorithms for Solving a System of Linear Equations. Reference: Introduction to Parallel Computing Chapter 8.
CZ4102 High Performance Computing Lecture 12 (Last): Parallel Algorithms for Solving a System of Linear Equations - Dr Tay Seng Chuan Reference: Introduction to Parallel Computing Chapter 8. 1 Topic Overview
More informationLecture 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 informationImproving Performance of Sparse Matrix-Vector Multiplication
Improving Performance of Sparse Matrix-Vector Multiplication Ali Pınar Michael T. Heath Department of Computer Science and Center of Simulation of Advanced Rockets University of Illinois at Urbana-Champaign
More informationLecture 5: Matrices. Dheeraj Kumar Singh 07CS1004 Teacher: Prof. Niloy Ganguly Department of Computer Science and Engineering IIT Kharagpur
Lecture 5: Matrices Dheeraj Kumar Singh 07CS1004 Teacher: Prof. Niloy Ganguly Department of Computer Science and Engineering IIT Kharagpur 29 th July, 2008 Types of Matrices Matrix Addition and Multiplication
More informationOptimizing Parallel Sparse Matrix-Vector Multiplication by Corner Partitioning
Optimizing Parallel Sparse Matrix-Vector Multiplication by Corner Partitioning Michael M. Wolf 1,2, Erik G. Boman 2, and Bruce A. Hendrickson 3 1 Dept. of Computer Science, University of Illinois at Urbana-Champaign,
More informationSection 3.1 Gaussian Elimination Method (GEM) Key terms
Section 3.1 Gaussian Elimination Method (GEM) Key terms Rectangular systems Consistent system & Inconsistent systems Rank Types of solution sets RREF Upper triangular form & back substitution Nonsingular
More information1 2 (3 + x 3) x 2 = 1 3 (3 + x 1 2x 3 ) 1. 3 ( 1 x 2) (3 + x(0) 3 ) = 1 2 (3 + 0) = 3. 2 (3 + x(0) 1 2x (0) ( ) = 1 ( 1 x(0) 2 ) = 1 3 ) = 1 3
6 Iterative Solvers Lab Objective: Many real-world problems of the form Ax = b have tens of thousands of parameters Solving such systems with Gaussian elimination or matrix factorizations could require
More informationNumerical Algorithms
Chapter 10 Slide 464 Numerical Algorithms Slide 465 Numerical Algorithms In textbook do: Matrix multiplication Solving a system of linear equations Slide 466 Matrices A Review An n m matrix Column a 0,0
More informationGraph Algorithms on A transpose A. Benjamin Chang John Gilbert, Advisor
Graph Algorithms on A transpose A. Benjamin Chang John Gilbert, Advisor June 2, 2016 Abstract There are strong correspondences between matrices and graphs. Of importance to this paper are adjacency matrices
More informationPetShop (BYU Students, SIGGRAPH 2006)
Now Playing: PetShop (BYU Students, SIGGRAPH 2006) My Mathematical Mind Spoon From Gimme Fiction Released May 10, 2005 Geometric Objects in Computer Graphics Rick Skarbez, Instructor COMP 575 August 30,
More informationAdvanced 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 informationPARDISO 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 informationCS 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 informationOn the scalability of hypergraph models for sparse matrix partitioning
On the scalability of hypergraph models for sparse matrix partitioning Bora Uçar Centre National de la Recherche Scientifique Laboratoire de l Informatique du Parallélisme, (UMR CNRS-ENS Lyon-INRIA-UCBL),
More informationGraphs. Data Structures and Algorithms CSE 373 SU 18 BEN JONES 1
Graphs Data Structures and Algorithms CSE 373 SU 18 BEN JONES 1 Warmup Discuss with your neighbors: Come up with as many kinds of relational data as you can (data that can be represented with a graph).
More informationThe numerical simulation of complex PDE problems. A numerical simulation project The finite element method for solving a boundary-value problem in R 2
Universidad de Chile The numerical simulation of complex PDE problems Facultad de Ciencias Físicas y Matemáticas P. Frey, M. De Buhan Year 2008 MA691 & CC60X A numerical simulation project The finite element
More informationCS 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 informationAdvances in Parallel Partitioning, Load Balancing and Matrix Ordering for Scientific Computing
Advances in Parallel Partitioning, Load Balancing and Matrix Ordering for Scientific Computing Erik G. Boman 1, Umit V. Catalyurek 2, Cédric Chevalier 1, Karen D. Devine 1, Ilya Safro 3, Michael M. Wolf
More informationSpare Matrix Formats, and The Standard Template Library
Annotated slides CS319: Scientific Computing (with C++) Spare Matrix Formats, and The Standard Template Library Week 10: 9am and 4pm, 20 March 2019 1 Sparse Matrices 2 3 Compressed Column Storage 4 (Not)
More informationOn Fiedler s characterization of tridiagonal matrices over arbitrary fields
Linear Algebra and its Applications 401 (2005) 467 481 www.elsevier.com/locate/laa On Fiedler s characterization of tridiagonal matrices over arbitrary fields Américo Bento a, António Leal Duarte b,,1
More informationPorting the NAS-NPB Conjugate Gradient Benchmark to CUDA. NVIDIA Corporation
Porting the NAS-NPB Conjugate Gradient Benchmark to CUDA NVIDIA Corporation Outline! Overview of CG benchmark! Overview of CUDA Libraries! CUSPARSE! CUBLAS! Porting Sequence! Algorithm Analysis! Data/Code
More informationMatrix Inverse 2 ( 2) 1 = 2 1 2
Name: Matrix Inverse For Scalars, we have what is called a multiplicative identity. This means that if we have a scalar number, call it r, then r multiplied by the multiplicative identity equals r. Without
More informationExploiting Multiple GPUs in Sparse QR: Regular Numerics with Irregular Data Movement
Exploiting Multiple GPUs in Sparse QR: Regular Numerics with Irregular Data Movement Tim Davis (Texas A&M University) with Sanjay Ranka, Mohamed Gadou (University of Florida) Nuri Yeralan (Microsoft) NVIDIA
More information2D transformations: An introduction to the maths behind computer graphics
2D transformations: An introduction to the maths behind computer graphics Lecturer: Dr Dan Cornford d.cornford@aston.ac.uk http://wiki.aston.ac.uk/dancornford CS2150, Computer Graphics, Aston University,
More informationSparse 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 informationVector: A series of scalars contained in a column or row. Dimensions: How many rows and columns a vector or matrix has.
ASSIGNMENT 0 Introduction to Linear Algebra (Basics of vectors and matrices) Due 3:30 PM, Tuesday, October 10 th. Assignments should be submitted via e-mail to: matlabfun.ucsd@gmail.com You can also submit
More informationChapter 18 out of 37 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal.
Chapter 8 out of 7 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal 8 Matrices Definitions and Basic Operations Matrix algebra is also known
More informationIntroduction to Graph Theory
Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex
More informationRoofline Model (Will be using this in HW2)
Parallel Architecture Announcements HW0 is due Friday night, thank you for those who have already submitted HW1 is due Wednesday night Today Computing operational intensity Dwarves and Motifs Stencil computation
More informationSparse Matrix-Vector Multiplication FPGA Implementation
UNIVERSITY OF CALIFORNIA, LOS ANGELES Sparse Matrix-Vector Multiplication FPGA Implementation (SID: 704-272-121) 02/27/2015 Table of Contents 1 Introduction... 3 2 Sparse Matrix-Vector Multiplication...
More informationCSC-140 Assignment 5
CSC-140 Assignment 5 Please do not Google a solution to these problems, cause that won t teach you anything about programming - the only way to get good at it, and understand it, is to do it! 1 Introduction
More informationDM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini
DM545 Linear and Integer Programming Lecture 2 The Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Standard Form Basic Feasible Solutions
More informationMATLAB COURSE FALL 2004 SESSION 1 GETTING STARTED. Christian Daude 1
MATLAB COURSE FALL 2004 SESSION 1 GETTING STARTED Christian Daude 1 Introduction MATLAB is a software package designed to handle a broad range of mathematical needs one may encounter when doing scientific
More informationCS Elementary Graph Algorithms & Transform-and-Conquer
CS483-10 Elementary Graph Algorithms & Transform-and-Conquer Outline Instructor: Fei Li Room 443 ST II Office hours: Tue. & Thur. 1:30pm - 2:30pm or by appointments Depth-first Search cont Topological
More informationSocial Network Analysis
Social Network Analysis Mathematics of Networks Manar Mohaisen Department of EEC Engineering Adjacency matrix Network types Edge list Adjacency list Graph representation 2 Adjacency matrix Adjacency matrix
More informationAuto-Tuning Strategies for Parallelizing Sparse Matrix-Vector (SpMV) Multiplication on Multi- and Many-Core Processors
Auto-Tuning Strategies for Parallelizing Sparse Matrix-Vector (SpMV) Multiplication on Multi- and Many-Core Processors Kaixi Hou, Wu-chun Feng {kaixihou, wfeng}@vt.edu Shuai Che Shuai.Che@amd.com Sparse
More informationSparse Matrices. sparse many elements are zero dense few elements are zero
Sparse Matrices sparse many elements are zero dense few elements are zero Special Matrices A square matrix has the same number of rows and columns. Some special forms of square matrices are Diagonal: M(i,j)
More informationExploiting Matrix Reuse and Data Locality in Sparse Matrix-Vector and Matrix-Transpose-Vector Multiplication on Many-Core Architectures
Eploiting Matri Reuse and Data Locality in Sparse Matri-Vector and Matri-ranspose-Vector Multiplication on Many-Core Architectures Ozan Karsavuran 1 Kadir Akbudak 2 Cevdet Aykanat 1 (speaker) sites.google.com/site/kadircs
More informationTechnical Report. OSUBMI-TR-2009-n02/ BU-CE Hypergraph Partitioning-Based Fill-Reducing Ordering
Technical Report OSUBMI-TR-2009-n02/ BU-CE-0904 Hypergraph Partitioning-Based Fill-Reducing Ordering Ümit V. Çatalyürek, Cevdet Aykanat and Enver Kayaaslan April 2009 The Ohio State University Department
More informationGraphBLAS Mathematics - Provisional Release 1.0 -
GraphBLAS Mathematics - Provisional Release 1.0 - Jeremy Kepner Generated on April 26, 2017 Contents 1 Introduction: Graphs as Matrices........................... 1 1.1 Adjacency Matrix: Undirected Graphs,
More informationCERFACS 42 av. Gaspard Coriolis, Toulouse, Cedex 1, France. Available at Date: August 7, 2009.
COMBINATORIAL PROBLEMS IN SOLVING LINEAR SYSTEMS IAIN S. DUFF and BORA UÇAR Technical Report: No: TR/PA/09/60 CERFACS 42 av. Gaspard Coriolis, 31057 Toulouse, Cedex 1, France. Available at http://www.cerfacs.fr/algor/reports/
More informationA Configurable Architecture for Sparse LU Decomposition on Matrices with Arbitrary Patterns
A Configurable Architecture for Sparse LU Decomposition on Matrices with Arbitrary Patterns Xinying Wang, Phillip H. Jones and Joseph Zambreno Department of Electrical and Computer Engineering Iowa State
More informationLecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1
CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanfordedu) February 6, 2018 Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 In the
More informationFast Recommendation on Bibliographic Networks with Sparse-Matrix Ordering and Partitioning
Social Network Analysis and Mining manuscript No. (will be inserted by the editor) Fast Recommendation on Bibliographic Networks with Sparse-Matrix Ordering and Partitioning Onur Küçüktunç Kamer Kaya Erik
More informationObjectives of This Chapter
Chapter 6 C Arrays Objectives of This Chapter Array data structures to represent the set of values. Defining and initializing arrays. Defining symbolic constant in a program. Using arrays to store, list,
More informationBasic matrix math in R
1 Basic matrix math in R This chapter reviews the basic matrix math operations that you will need to understand the course material and how to do these operations in R. 1.1 Creating matrices in R Create
More informationHypergraph Partitioning for Computing Matrix Powers
Hypergraph Partitioning for Computing Matrix Powers Nicholas Knight Erin Carson, James Demmel UC Berkeley, Parallel Computing Lab CSC 11 1 Hypergraph Partitioning for Computing Matrix Powers Motivation
More informationMathematical and Algorithmic Foundations Linear Programming and Matchings
Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis
More informationComputing the rank of big sparse matrices modulo p using gaussian elimination
Computing the rank of big sparse matrices modulo p using gaussian elimination Charles Bouillaguet 1 Claire Delaplace 2 12 CRIStAL, Université de Lille 2 IRISA, Université de Rennes 1 JNCF, 16 janvier 2017
More informationA Scalable Parallel LSQR Algorithm for Solving Large-Scale Linear System for Seismic Tomography
1 A Scalable Parallel LSQR Algorithm for Solving Large-Scale Linear System for Seismic Tomography He Huang, Liqiang Wang, Po Chen(University of Wyoming) John Dennis (NCAR) 2 LSQR in Seismic Tomography
More informationPreconditioning for linear least-squares problems
Preconditioning for linear least-squares problems Miroslav Tůma Institute of Computer Science Academy of Sciences of the Czech Republic tuma@cs.cas.cz joint work with Rafael Bru, José Marín and José Mas
More information1 Linear programming relaxation
Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching
More informationFinite Math - J-term Homework. Section Inverse of a Square Matrix
Section.5-77, 78, 79, 80 Finite Math - J-term 017 Lecture Notes - 1/19/017 Homework Section.6-9, 1, 1, 15, 17, 18, 1, 6, 9, 3, 37, 39, 1,, 5, 6, 55 Section 5.1-9, 11, 1, 13, 1, 17, 9, 30 Section.5 - Inverse
More information