Presto: Distributed Machine Learning and Graph Processing with Sparse Matrices

Total Page:16

File Type:pdf, Size:1020Kb

Presto: Distributed Machine Learning and Graph Processing with Sparse Matrices Presto: Distributed Machine Learning and Graph Processing with Sparse Matrices Shivaram Venkataraman1 Erik Bodzsar2 Indrajit Roy Alvin AuYoung Robert S. Schreiber 1UC Berkeley, 2University of Chicago, HP Labs [email protected], ferik.bodzsar, indrajitr, alvina, [email protected] Abstract Array-based languages such as R and MATLAB provide It is cumbersome to write machine learning and graph al- an appropriate programming model to express such machine gorithms in data-parallel models such as MapReduce and learning and graph algorithms. The core construct of arrays Dryad. We observe that these algorithms are based on matrix makes these languages suitable to represent vectors and ma- computations and, hence, are inefficient to implement with trices, and perform matrix computations. R has thousands the restrictive programming and communication interface of of freely available packages and is widely used by data min- such frameworks. ers and statisticians, albeit for problems with relatively small In this paper we show that array-based languages such amounts of data. It has serious limitations when applied to as R [3] are suitable for implementing complex algorithms very large datasets: limited support for distributed process- and can outperform current data parallel solutions. Since R ing, no strategy for load balancing, no fault tolerance, and is is single-threaded and does not scale to large datasets, we constrained by a server’s DRAM capacity. have built Presto, a distributed system that extends R and 1.1 Towards an efficient distributed R addresses many of its limitations. Presto efficiently shares sparse structured data, can leverage multi-cores, and dynam- We validate our hypothesis that R can be used to efficiently ically partitions data to mitigate load imbalance. Our results execute machine learning and graph algorithms on large show the promise of this approach: many important machine scale datasets. Specifically, we tackle the following chal- learning and graph algorithms can be expressed in a single lenges: framework and are substantially faster than those in Hadoop Effective use of multi-cores. R is single-threaded. The and Spark. easiest way to incorporate parallelism is to execute pro- grams across multiple R processes. Existing solutions for 1. A matrix-based approach parallelizing R use message passing techniques, includ- ing network communication, to communicate among pro- Many real-world applications require sophisticated analysis cesses [25] . This multi-process approach, also used in com- on massive datasets. Most of these applications use machine mercial parallel MATLAB, has two limitations. First, it learning, graph algorithms, and statistical analyses that are makes local copies of many data objects, boosting memory easily expressed as matrix operations. requirements. Figure1 shows that two R instances on a sin- For example, PageRank corresponds to the dominant gle physical server would have two copies of the same data, eigenvector of a matrix G that represents the Web graph. hindering scalability to larger datasets. Second, the network It can be calculated by starting with an initial vector x communication overhead becomes proportional to the num- and repeatedly performing x=G∗x until convergence [8]. ber of cores utilized instead of the number of distinct servers, Similarly, recommendation systems in companies like Net- again limiting scalability. flix are implemented using matrix decomposition [37]. Even Existing efforts for parallelizing R have another limita- graph algorithms, such as shortest path, centrality measures, tion. They do not support point-to-point communication. In- strongly connected components, etc., can be expressed using stead data has to be moved from worker processes to a desig- operations on the matrix representation of a graph [19]. nated master process after each phase. Thus, it is inefficient to execute anything that is not embarrassingly parallel [25]. Even simple iterative algorithms are costly due to the com- munication overhead via the master. Permission to make digital or hard copies of all or part of this work for personal or Imbalance in sparse computations. Most real-world classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation datasets are sparse. For example, the Netflix prize dataset on the first page. To copy otherwise, to republish, to post on servers or to redistribute is a matrix with 480K users (rows) and 17K movies (cols) to lists, requires prior specific permission and/or a fee. Eurosys’13 April 15-17, 2013, Prague, Czech Republic but only 100 million of the total possible 8 billion ratings Copyright c 2013 ACM 978-1-4503-1994-2/13/04. $15.00 are available. Similarly, very few of the possible edges are Server 1 Server 2 gramming model have led to inefficient implementations of algorithms or the development of domain specific systems. R process R process R process R process For example, Pregel was created for graph algorithms be- copy of copy of copy of data data data data cause MapReduce passes the entire state of the graph be- local copy tween steps [24]. network copy There have been recent efforts to better support large- network copy scale matrix operations. Ricardo [11] and HAMA [30] con- vert matrix operations to MapReduce functions but end up Figure 1. R’s poor multi-core support: multiple copies of data on inheriting the inefficiencies of the MapReduce interface. the same server and high communication overhead across servers. PowerGraph [14] uses a vertex-centric programming model (non matrix approach) to implement data mining and graph 5000 Netflix algorithms. MadLINQ provides a linear algebra platform on 1000 LiveJournal Dryad but does not efficiently handle sparse matrix compu- 500 ClueWeb−1B Twitter tations [29]. Unlike MadLINQ and PowerGraph, our aim is 100 50 to address the issues in scaling R, a system which already 10 has a large user community. Additionally, our techniques for 5 handling load imbalance in sparse matrices can be applicable 1 Block density (normalized) to existing systems like MadLINQ. 0 20 40 60 80 100 1.3 Our Contribution Block id We present Presto, an R prototype to efficiently process large, sparse datasets. Presto introduces the distributed array, Figure 2. Variance in block density. Y-axis shows density of a darray, as the abstraction to process both dense and sparse block normalized by that of the sparsest block. Lower is better. datasets in parallel. Distributed arrays store data across mul- present in Web graphs. It is important to store and manipu- tiple machines. Programmers can execute parallel functions late such data as sparse matrices and retain only non-zero en- that communicate with each other and share state using ar- tries. These datasets also exhibit skew due to the power-law rays, thus making it efficient to express complex algorithms. distribution [14], resulting in severe computation and com- Presto programs are executed by a set of worker processes munication imbalance when data is partitioned for parallel which are controlled by a master. For efficient multi-core execution. Figure2 illustrates the result of na ¨ıve partition- support each worker on a server encapsulates multiple R in- ing of various sparse data sets: LiveJournal (68M edges) [4], stances that read shared data. To achieve zero copying over- Twitter (2B edges), pre-processed ClueWeb sample1 (1.2B head, we modify R’s memory allocator to directly map data edges), and the ratings from Netflix prize (100M ratings). from the worker into the R objects. This mapping preserves The y-axis represents the block density relative to the spars- the metadata in the object headers and ensures that the allo- est block, when each matrix is partitioned into 100 blocks cation is garbage collection safe. having the same number of rows/columns. The plot shows To mitigate load imbalance, the runtime tracks the exe- that a dense block may have 1000× more elements than cution time and the number of elements in each array parti- a sparse block. Depending upon the algorithm, variance in tion. In case of imbalance, the runtime dynamically merges block density can have a substantial impact on performance or sub-divides array partitions between iterations and assigns (Section7). them to a new task, thus varying the parallelism and load in the system. Dynamic repartitioning is especially helpful for 1.2 Limitations of current data-parallel approaches iterative algorithms where computations are repeated across Existing distributed data processing frameworks, such as iterations. MapReduce and DryadLINQ, simplify large-scale data pro- We have implemented seven different applications in cessing [12, 17]. Unfortunately, the simplicity of the pro- Presto, ranging from a recommendation system to a graph gramming model (as in MapReduce) or reliance on rela- centrality measure. Our experience shows that Presto pro- tional algebra (as in DryadLINQ) makes these systems un- grams are easy to write and can be used to express a wide va- suitable for implementing complex algorithms based on ma- riety of complex algorithms. Compared to published results trix operations. Current systems either do not support state- of Hadoop and Spark [36], Presto achieves equally good ful computations, or do not retain the structure of global execution times with only a handful of multi-core servers. shared data (e.g., mapping of data to matrices), or do not For the PageRank algorithm, Presto
Recommended publications
  • A Parallel Lanczos Algorithm for Eigensystem Calculation
    A Parallel Lanczos Algorithm for Eigensystem Calculation Hans-Peter Kersken / Uwe Küster Eigenvalue problems arise in many fields of physics and engineering science for example in structural engineering from prediction of dynamic stability of structures or vibrations of a fluid in a closed cavity. Their solution consumes a large amount of memory and CPU time if more than very few (1-5) vibrational modes are desired. Both make the problem a natural candidate for parallel processing. Here we shall present some aspects of the solution of the generalized eigenvalue problem on parallel architectures with distributed memory. The research was carried out as a part of the EC founded project ACTIVATE. This project combines various activities to increase the performance vibro-acoustic software. It brings together end users form space, aviation, and automotive industry with software developers and numerical analysts. Introduction The algorithm we shall describe in the next sections is based on the Lanczos algorithm for solving large sparse eigenvalue problems. It became popular during the past two decades because of its superior convergence properties compared to more traditional methods like inverse vector iteration. Some experiments with an new algorithm described in [Bra97] showed that it is competitive with the Lanczos algorithm only if very few eigenpairs are needed. Therefore we decided to base our implementation on the Lanczos algorithm. However, when implementing the Lanczos algorithm one has to pay attention to some subtle algorithmic details. A state of the art algorithm is described in [Gri94]. On parallel architectures further problems arise concerning the robustness of the algorithm. We implemented the algorithm almost entirely by using numerical libraries.
    [Show full text]
  • Exact Diagonalization of Quantum Lattice Models on Coprocessors
    Exact diagonalization of quantum lattice models on coprocessors T. Siro∗, A. Harju Aalto University School of Science, P.O. Box 14100, 00076 Aalto, Finland Abstract We implement the Lanczos algorithm on an Intel Xeon Phi coprocessor and compare its performance to a multi-core Intel Xeon CPU and an NVIDIA graphics processor. The Xeon and the Xeon Phi are parallelized with OpenMP and the graphics processor is programmed with CUDA. The performance is evaluated by measuring the execution time of a single step in the Lanczos algorithm. We study two quantum lattice models with different particle numbers, and conclude that for small systems, the multi-core CPU is the fastest platform, while for large systems, the graphics processor is the clear winner, reaching speedups of up to 7.6 compared to the CPU. The Xeon Phi outperforms the CPU with sufficiently large particle number, reaching a speedup of 2.5. Keywords: Tight binding, Hubbard model, exact diagonalization, GPU, CUDA, MIC, Xeon Phi 1. Introduction hopping amplitude is denoted by t. The tight-binding model describes free electrons hopping around a lattice, and it gives a In recent years, there has been tremendous interest in utiliz- crude approximation of the electronic properties of a solid. The ing coprocessors in scientific computing, including condensed model can be made more realistic by adding interactions, such matter physics[1, 2, 3, 4]. Most of the work has been done as on-site repulsion, which results in the well-known Hubbard on graphics processing units (GPU), resulting in impressive model[9]. In our basis, however, such interaction terms are di- speedups compared to CPUs in problems that exhibit high data- agonal, rendering their effect on the computational complexity parallelism and benefit from the high throughput of the GPU.
    [Show full text]
  • An Implementation of a Generalized Lanczos Procedure for Structural Dynamic Analysis on Distributed Memory Computers
    NU~IERICAL ANALYSIS PROJECT AUGUST 1992 MANUSCRIPT ,NA-92-09 An Implementation of a Generalized Lanczos Procedure for Structural Dynamic Analysis on Distributed Memory Computers . bY David R. Mackay and Kincho H. Law NUMERICAL ANALYSIS PROJECT COMPUTER SCIENCE DEPARTMENT STANFORD UNIVERSITY STANFORD, CALIFORNIA 94305 An Implementation of a Generalized Lanczos Procedure for Structural Dynamic Analysis on Distributed Memory Computers’ David R. Mackay and Kincho H. Law Department of Civil Engineering Stanford University Stanford, CA 94305-4020 Abstract This paper describes a parallel implementation of a generalized Lanczos procedure for struc- tural dynamic analysis on a distributed memory parallel computer. One major cost of the gener- alized Lanczos procedure is the factorization of the (shifted) stiffness matrix and the forward and backward solution of triangular systems. In this paper, we discuss load assignment of a sparse matrix and propose a strategy for inverting the principal block submatrix factors to facilitate the forward and backward solution of triangular systems. We also discuss the different strategies in the implementation of mass matrix-vector multiplication on parallel computer and how they are used in the Lanczos procedure. The Lanczos procedure implemented includes partial and external selective reorthogonalizations and spectral shifts. Experimental results are presented to illustrate the effectiveness of the parallel generalized Lanczos procedure. The issues of balancing the com- putations among the basic steps of the Lanczos procedure on distributed memory computers are discussed. IThis work is sponsored by the National Science Foundation grant number ECS-9003107, and the Army Research Office grant number DAAL-03-91-G-0038. Contents List of Figures ii .
    [Show full text]
  • Lanczos Vectors Versus Singular Vectors for Effective Dimension Reduction Jie Chen and Yousef Saad
    1 Lanczos Vectors versus Singular Vectors for Effective Dimension Reduction Jie Chen and Yousef Saad Abstract— This paper takes an in-depth look at a technique for a) Latent Semantic Indexing (LSI): LSI [3], [4] is an effec- computing filtered matrix-vector (mat-vec) products which are tive information retrieval technique which computes the relevance required in many data analysis applications. In these applications scores for all the documents in a collection in response to a user the data matrix is multiplied by a vector and we wish to perform query. In LSI, a collection of documents is represented as a term- this product accurately in the space spanned by a few of the major singular vectors of the matrix. We examine the use of the document matrix X = [xij] where each column vector represents Lanczos algorithm for this purpose. The goal of the method is a document and xij is the weight of term i in document j. A query identical with that of the truncated singular value decomposition is represented as a pseudo-document in a similar form—a column (SVD), namely to preserve the quality of the resulting mat-vec vector q. By performing dimension reduction, each document xj product in the major singular directions of the matrix. The T T (j-th column of X) becomes Pk xj and the query becomes Pk q Lanczos-based approach achieves this goal by using a small in the reduced-rank representation, where P is the matrix whose number of Lanczos vectors, but it does not explicitly compute k column vectors are the k major left singular vectors of X.
    [Show full text]
  • Restarted Lanczos Bidiagonalization for the SVD in Slepc
    Scalable Library for Eigenvalue Problem Computations SLEPc Technical Report STR-8 Available at http://slepc.upv.es Restarted Lanczos Bidiagonalization for the SVD in SLEPc V. Hern´andez J. E. Rom´an A. Tom´as Last update: June, 2007 (slepc 2.3.3) Previous updates: { About SLEPc Technical Reports: These reports are part of the documentation of slepc, the Scalable Library for Eigenvalue Problem Computations. They are intended to complement the Users Guide by providing technical details that normal users typically do not need to know but may be of interest for more advanced users. Restarted Lanczos Bidiagonalization for the SVD in SLEPc STR-8 Contents 1 Introduction 2 2 Description of the Method3 2.1 Lanczos Bidiagonalization...............................3 2.2 Dealing with Loss of Orthogonality..........................6 2.3 Restarted Bidiagonalization..............................8 2.4 Available Implementations............................... 11 3 The slepc Implementation 12 3.1 The Algorithm..................................... 12 3.2 User Options...................................... 13 3.3 Known Issues and Applicability............................ 14 1 Introduction The singular value decomposition (SVD) of an m × n complex matrix A can be written as A = UΣV ∗; (1) ∗ where U = [u1; : : : ; um] is an m × m unitary matrix (U U = I), V = [v1; : : : ; vn] is an n × n unitary matrix (V ∗V = I), and Σ is an m × n diagonal matrix with nonnegative real diagonal entries Σii = σi for i = 1;:::; minfm; ng. If A is real, U and V are real and orthogonal. The vectors ui are called the left singular vectors, the vi are the right singular vectors, and the σi are the singular values. In this report, we will assume without loss of generality that m ≥ n.
    [Show full text]
  • A Parallel Implementation of Lanczos Algorithm in SVD Computation
    A Parallel Implementation of Lanczos Algorithm in SVD 1 Computation SRIKANTH KALLURKAR Abstract This work presents a parallel implementation of Lanczos algorithm for SVD Computation using MPI. We investigate exe- cution time as a function of matrix sparsity, matrix size, and the number of processes. We observe speedup and slowdown for parallelized Lanczos algorithm. Reasons for the speedups and the slowdowns are discussed in the report. I. INTRODUCTION Singular Value Decomposition (SVD) is an important classical technique which is used for many pur- poses [8]. Deerwester et al [5] described a new method for automatic indexing and retrieval using SVD wherein a large term by document matrix was decomposed into a set of 100 orthogonal factors from which the original matrix was approximated by linear combinations. The method was called Latent Semantic Indexing (LSI). In addition to a significant problem dimensionality reduction it was believed that the LSI had the potential to improve precision and recall. Studies [11] have shown that LSI based retrieval has not produced conclusively better results than vector-space modeled retrieval. Recently, however, there is a renewed interest in SVD based approach to Information Retrieval and Text Mining [4], [6]. The rapid increase in digital and online information has presented the task of efficient information pro- cessing and management. Standard term statistic based techniques may have potentially reached a limit for effective text retrieval. One of key new emerging areas for text retrieval is language models, that can provide not just structural but also semantic insights about the documents. Exploration of SVD based LSI is therefore a strategic research direction.
    [Show full text]
  • A High Performance Block Eigensolver for Nuclear Configuration Interaction Calculations Hasan Metin Aktulga, Md
    1 A High Performance Block Eigensolver for Nuclear Configuration Interaction Calculations Hasan Metin Aktulga, Md. Afibuzzaman, Samuel Williams, Aydın Buluc¸, Meiyue Shao, Chao Yang, Esmond G. Ng, Pieter Maris, James P. Vary Abstract—As on-node parallelism increases and the performance gap between the processor and the memory system widens, achieving high performance in large-scale scientific applications requires an architecture-aware design of algorithms and solvers. We focus on the eigenvalue problem arising in nuclear Configuration Interaction (CI) calculations, where a few extreme eigenpairs of a sparse symmetric matrix are needed. We consider a block iterative eigensolver whose main computational kernels are the multiplication of a sparse matrix with multiple vectors (SpMM), and tall-skinny matrix operations. We present techniques to significantly improve the SpMM and the transpose operation SpMMT by using the compressed sparse blocks (CSB) format. We achieve 3–4× speedup on the requisite operations over good implementations with the commonly used compressed sparse row (CSR) format. We develop a performance model that allows us to correctly estimate the performance of our SpMM kernel implementations, and we identify cache bandwidth as a potential performance bottleneck beyond DRAM. We also analyze and optimize the performance of LOBPCG kernels (inner product and linear combinations on multiple vectors) and show up to 15× speedup over using high performance BLAS libraries for these operations. The resulting high performance LOBPCG solver achieves 1.4× to 1.8× speedup over the existing Lanczos solver on a series of CI computations on high-end multicore architectures (Intel Xeons). We also analyze the performance of our techniques on an Intel Xeon Phi Knights Corner (KNC) processor.
    [Show full text]
  • Comparison of Numerical Methods and Open-Source Libraries for Eigenvalue Analysis of Large-Scale Power Systems
    applied sciences Article Comparison of Numerical Methods and Open-Source Libraries for Eigenvalue Analysis of Large-Scale Power Systems Georgios Tzounas , Ioannis Dassios * , Muyang Liu and Federico Milano School of Electrical and Electronic Engineering, University College Dublin, Belfield, Dublin 4, Ireland; [email protected] (G.T.); [email protected] (M.L.); [email protected] (F.M.) * Correspondence: [email protected] Received: 30 September 2020; Accepted: 24 October 2020; Published: 28 October 2020 Abstract: This paper discusses the numerical solution of the generalized non-Hermitian eigenvalue problem. It provides a comprehensive comparison of existing algorithms, as well as of available free and open-source software tools, which are suitable for the solution of the eigenvalue problems that arise in the stability analysis of electric power systems. The paper focuses, in particular, on methods and software libraries that are able to handle the large-scale, non-symmetric matrices that arise in power system eigenvalue problems. These kinds of eigenvalue problems are particularly difficult for most numerical methods to handle. Thus, a review and fair comparison of existing algorithms and software tools is a valuable contribution for researchers and practitioners that are interested in power system dynamic analysis. The scalability and performance of the algorithms and libraries are duly discussed through case studies based on real-world electrical power networks. These are a model of the All-Island Irish Transmission System with 8640 variables; and, a model of the European Network of Transmission System Operators for Electricity, with 146,164 variables. Keywords: eigenvalue analysis; large non-Hermitian matrices; numerical methods; open-source libraries 1.
    [Show full text]
  • Error Analysis of the Lanczos Algorithm for the Nonsymmetric Eigenvalue Problem
    mathematics of computation volume 62, number 205 january 1994,pages 209-226 ERROR ANALYSIS OF THE LANCZOS ALGORITHM FOR THE NONSYMMETRIC EIGENVALUE PROBLEM ZHAOJUN BAI Abstract. This paper presents an error analysis of the Lanczos algorithm in finite-precision arithmetic for solving the standard nonsymmetric eigenvalue problem, if no breakdown occurs. An analog of Paige's theory on the rela- tionship between the loss of orthogonality among the Lanczos vectors and the convergence of Ritz values in the symmetric Lanczos algorithm is discussed. The theory developed illustrates that in the nonsymmetric Lanczos scheme, if Ritz values are well conditioned, then the loss of biorthogonality among the computed Lanczos vectors implies the convergence of a group of Ritz triplets in terms of small residuals. Numerical experimental results confirm this obser- vation. 1. Introduction This paper is concerned with an error analysis of the Lanczos algorithm for solving the nonsymmetric eigenvalue problem of a given real n x n matrix A : Ax = Xx, yH A = XyH, where the unknown scalar X is called an eigenvalue of A, and the unknown nonzero vectors x and y are called the right and left eigenvectors of A, re- spectively. The triplet (A, x, y) is called eigentriplet of A . In the applications of interest, the matrix A is usually large and sparse, and only a few eigenvalues and eigenvectors of A are wanted. In [2], a collection of such matrices is pre- sented describing their origins in problems of applied sciences and engineering. The Lanczos algorithm, proposed by Cornelius Lanczos in 1950 [19], is a procedure for successive reduction of a given general matrix to a nonsymmetric tridiagonal matrix.
    [Show full text]
  • Solving Large Sparse Eigenvalue Problems on Supercomputers
    CORE https://ntrs.nasa.gov/search.jsp?R=19890017052Metadata, citation 2020-03-20T01:26:29+00:00Z and similar papers at core.ac.uk Provided by NASA Technical Reports Server a -. Solving Large Sparse Eigenvalue Problems on Supercomputers Bernard Philippe Youcef Saad December, 1988 Research Institute for Advanced Computer Science NASA Ames Research Center RIACS Technical Report 88.38 NASA Cooperative Agreement Number NCC 2-387 {NBSA-CR-185421) SOLVING LARGE SPAESE N89 -26 4 23 EIG E N V ALUE PBOBLE PlS 0 N SO PE IiCOM PUT ERS (Research Inst, for A dvauced Computer Science) 21 p CSCL 09B Unclas G3/61 0217926 Research Institute for Advanced Computer Science Solving Large Sparse Eigenvalue Problems on Supercomputers Bernard Philippe* Youcef Saad Research Institute for Advanced Computer Science NASA Ames Research Center RIACS Technical Report 88.38 December, 1988 An important problem in scientific computing consists in finding a few eigenvalues and corresponding eigenvectors of a very large and sparse matrix. The most popular methods to solve these problems are based on projection techniques on appropriate subspaces. The main attraction of these methods is that they only require to use the mauix in the form of matrix by vector multiplications. We compare the implementations on supercomputers of two such methods for symmetric matrices, namely Lanczos' method and Davidson's method. Since one of the most important operations in these two methods is the multiplication of vectors by the sparse matrix, we fist discuss how to perform this operation efficiently. We then compare the advantages and the disadvantages of each method and discuss implementations aspects.
    [Show full text]
  • Parallel Numerical Algorithms Chapter 5 – Eigenvalue Problems Section 5.2 – Eigenvalue Computation
    Basics Power Iteration QR Iteration Krylov Methods Other Methods Parallel Numerical Algorithms Chapter 5 – Eigenvalue Problems Section 5.2 – Eigenvalue Computation Michael T. Heath and Edgar Solomonik Department of Computer Science University of Illinois at Urbana-Champaign CS 554 / CSE 512 Michael T. Heath and Edgar Solomonik Parallel Numerical Algorithms 1 / 42 Basics Power Iteration QR Iteration Krylov Methods Other Methods Outline 1 Basics 2 Power Iteration 3 QR Iteration 4 Krylov Methods 5 Other Methods Michael T. Heath and Edgar Solomonik Parallel Numerical Algorithms 2 / 42 Basics Power Iteration Definitions QR Iteration Transformations Krylov Methods Parallel Algorithms Other Methods Eigenvalues and Eigenvectors Given n × n matrix A, find scalar λ and nonzero vector x such that Ax = λx λ is eigenvalue and x is corresponding eigenvector A always has n eigenvalues, but they may be neither real nor distinct May need to compute only one or few eigenvalues, or all n eigenvalues May or may not need corresponding eigenvectors Michael T. Heath and Edgar Solomonik Parallel Numerical Algorithms 3 / 42 Basics Power Iteration Definitions QR Iteration Transformations Krylov Methods Parallel Algorithms Other Methods Problem Transformations Shift : for scalar σ, eigenvalues of A − σI are eigenvalues of A shifted by σ, λi − σ Inversion : for nonsingular A, eigenvalues of A−1 are reciprocals of eigenvalues of A, 1/λi Powers : for integer k > 0, eigenvalues of Ak are kth k powers of eigenvalues of A, λi Polynomial : for polynomial p(t), eigenvalues
    [Show full text]
  • Advanced Lanczos Methods for Large-Scale Matrix Problems
    Advanced Lanczos methods for large-scale matrix problems Citation for published version (APA): Gaaf, S. W. (2017). Advanced Lanczos methods for large-scale matrix problems. Technische Universiteit Eindhoven. Document status and date: Published: 16/10/2017 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim.
    [Show full text]