Parallel Prefix Algorithms 1. A Secret to turning serial into parallel
|
|
- Rudolph Bailey
- 6 years ago
- Views:
Transcription
1 Parallel Prefix Algorithms. A Secret to turning serial into parallel 2. Suppose you bump into a parallel algorithm that surprises you there is no way to parallelize this algorithm you say 3. Probably a variation on parallel prefix!
2 Sum Prefix Input x = (x, x 2,..., x n ) Output y = (y, y 2,..., y n ) Example y i = Σ j= x j x = (, 2, 3, 4, 5, 6, 7, 8 ) y = (, 3, 6, 0, 5, 2, 28, 36) i Prefix Functions-- outputs depend upon an initial string
3 Clearly only Serial Right?
4 Prefix Functions -- outputs depend upon an initial string Suffix Functions -- outputs depend upon a final string Other Notations +\ plus scan APL MPI_scan y = x y() = x() for i = 2 : n y(i) = x(i) + y(i-) end MATLAB: y=cumsum(x)
5 2log 2 n Parallel Steps on n Processors Algorithm:. Pairwise sum 2. Recursively Prefix 3. Pairwise Sum (Recursively Prefix)
6 Parallel Prefix prefix( [ ])=[ ] Any associative operator Pairwise sums Recursive prefix Update odds AKA: +\ (APL), cumsum(matlab), MPI_SCAN, 0 0 0
7 Notice # adds = 2n # required = n Parallelism at the cost of more work!
8 Any Associative Operation on any inputs works + Associative: (a + b) + c = a + (b + c) Sum (+) Product (*) Max Min Input: Reals All (=and) Any (= or) Input: Bits (Boolean) MatMul Inputs: Matrices
9 Fibonacci via Matrix Multiply Prefix F n+ = F n + F n- = + n- n n n F F 0 F F Can compute all F n by matmul_prefix on [,,,,,,,, ] then select the upper left entry
10 Arithemetic Modulo 2 (binary arithmetic) 0+0=0 0*0=0 0+= 0*=0 +0= *0=0 +=0 *= Add = exclusive or Mult = and
11 Carry-Look Ahead Addition (Babbage 800 s) Example Goal: Add Two n-bit Integers 0 Carry 0 First Int 0 0 Second Int Sum
12 Carry-Look Ahead Addition (Babbage 800 s) Goal: Add Two n-bit Integers Example Notation 0 Carry c 2 c c 0 0 First Int a 3 a 2 a a Second Int a 3 b 2 b b Sum s 3 s 2 s s 0
13 s n =c n- Carry-Look Ahead Addition (Babbage 800 s) Goal: Add Two n-bit Integers Example Notation 0 Carry c 2 c c 0 0 First Int a 3 a 2 a a Second Int a 3 b 2 b b Sum s 3 s 2 s s 0 c - = 0 (addition mod 2) for i = 0 : n- s i =a i + b i +c i- c i =a i b i +c i- (a i + b i ) end
14 s n =c n- Carry-Look Ahead Addition (Babbage 800 s) Goal: Add Two n-bit Integers Example Notation 0 Carry c 2 c c 0 0 First Int a 3 a 2 a a Second Int a 3 b 2 b b Sum s 3 s 2 s s 0 c - = 0 (addition mod 2) for i = 0 : n- s i =a i + b i +c i- c i =a i b i +c i- (a i + b i ) end c i a i + b i a i b i c i- = 0
15 Carry-Look Ahead Addition (Babbage 800 s) Goal: Add Two n-bit Integers Example Notation 0 Carry c 2 c c 0 0 First Int a 3 a 2 a a Second Int a 3 b 2 b b Sum s 3 s 2 s s 0 c - = 0 (addition mod 2) for i = 0 : n- s i =a i + b i +c i- c i =a i b i +c i- (a i + b i ) end s n =c n- c i a i + b i a i b i c i- = 0 Matmul prefix with binary arithmetic is equivalent to carry-look ahead! Compute c i by prefix, then s i = a i + b i +c i- in parallel
16 a b c a 2 b 2 Tridiagonal Factor Determinants (D 0 =, D =a ) (D k is the det of the kxk upper left): T = c 2 a 3 b 3 c 3 a 4 b 4 D n- D n c 4 a 5 D n = a n D n- -b n- c n- D n-2 Compute D n by matmul_prefix D n a = n -b n- c n- D n- D n- 0 D n-2 T = 3 embarrassing Parallels + prefix d b l d 2 b 2 l 2 d 3 d n =D n /D n- l n =c n /d n
17 The Myth of log n The log 2 n parallel steps is not the main reason for the usefulness of parallel prefix. Say n = 000p (000 summands per processor) Time = (2000 adds) + (log 2 P message passings) fast & embarrassingly parallel (2000 local adds are serial for each processor of course)
18 0, 000 adds + 3 communication hops total speed is as if there is no communication Myth of log n Example 80, , , 000 0, log 2 n = number of steps to add n numbers (NO!!)
19 Any Prefix Operation May Be Segmented!
20 Segmented Operations Inputs = Ordered Pairs (operand, boolean) e.g. (x, T) or (x, F) Change of segment indicated by switching T/F + 2 (y, T) (y, F) (x, T) (x + y, T) (y, F) (x, F) (y, T) (x y, F) e. g Result T T F F F T F T
21 Copy Prefix: x + y = x (is associative) Segmented T T F F F T F T
22 High Performance Fortran SUM_PREFIX ( ARRAY, DIM, MASK, SEG, EXC) T T T T T A = M = F F T T T T F T F F SUM_PREFIX(A) = SUM_SUFFIX(A) SUM_PREFIX(A, DIM = 2) = SUM_PREFIX(A, MASK = M) =
23 More HPF Segmented A = S = T T F F F F T T F F T T T T T T T F T T F F Sum_Prefix (A, SEGMENTS = S)
24 Example of Exclusive A = Sum_Prefix(A) Sum_Prefix(A, EXCLUSIVE = TRUE) (Exclusive: Don t count myself)
25 Parallel Prefix prefix( ( [ ])=[ ] Any associative operator Pairwise sums Recursive prefix Update evens AKA: +\ (APL), cumsum(matlab), MPI_SCAN, 0 0 0
26 Variations on Prefix exclusive( [ ])=[ ] )Pairwise Sums 2)Recursive Prefix 3)Update odds
27 Variations on Prefix exclusive( [ ])=[ ] Directions Left Inclusive Exc=0 Prefix The Family... Exclusive Exc= Exc Prefix )Pairwise Sums 2)Recursive Prefix 3)Update odds
28 Variations on Prefix exclusive( [ ])=[ ] Directions Left Right Inclusive Exc=0 Prefix Suffix The Family... Exclusive Exc= Exc Prefix Exc Suffix )Pairwise Sums 2)Recursive Prefix 3)Update evens
29 Variations on Prefix reduce( [ ])=[ ] Directions Left Right Left/Right Inclusive Exc=0 Prefix Suffix Reduce The Family... )Pairwise Sums 2)Recursive Reduce 3)Update odds Exclusive Exc= Exc Prefix Exc Suffix Exc Reduce
30 Variations on Prefix exclusive( [ ])=[ ] Directions Left Right Left/Right Inclusive Exc=0 Prefix Suffix Reduce The Family... )Pairwise Sums 2)Recursive Prefix 3)Update evens Exclusive Neighbor Exc Exc= Exc=2 Exc Prefix Left Multipole Exc Suffix Right " " " Exc ReduceMultipole
31 Multipole in 2d or 3d etc Notice that left/right generalizes more readily to higher dimensions Ask yourself what Exc=2 looks like in 3d Directions Left Right Left/Right Inclusive Exc=0 Prefix Suffix Reduce The Family... Exclusive Neighbor Exc Exc= Exc=2 Exc Prefix Left Multipole Exc Suffix Right " " " Exc ReduceMultipole
32 Not Parallel Prefix but PRAM Only concerned with minimizing parallel time (not communication) Arbitrary number of processors
33 Csanky s (977) Matrix Inversion Lemma : ( - ) in O(log 2 n) (triangular matrix inv) Proof Idea: A 0 - A - 0 Lemma 2: Cayley - Hamilton = C B -B - CA - B - p(x) = det (xi - A) = x n + c x n c n (c n =deta) 0 = p(a) = A n + c A n c n I A - = (A n- + c A n c n- )(-/c n ) Powers of A via Parallel Prefix ±
34 Lemma 3: Leverier s Lemma c s s 2 c 2 s 2 s 2 s. c 3 = - s 3 s k =tr(a k ) : :.. : : s n-.. s n c n s n Csanky ) Parallel Prefix powers of A 2) s k by directly adding diagonals 3) c i from lemas and 3 4) A - obtained from lemma 2 Horrible for A=3I and n>50!!
35 Matrix multiply can be done in log n steps on n 3 processors with the pram model Can be useful to think this way, but must also remember how real machines are built!
R ij = 2. Using all of these facts together, you can solve problem number 9.
Help for Homework Problem #9 Let G(V,E) be any undirected graph We want to calculate the travel time across the graph. Think of each edge as one resistor of 1 Ohm. Say we have two nodes: i and j Let the
More informationCSCI Honor seminar in algorithms Homework 2 Solution
CSCI 493.55 Honor seminar in algorithms Homework 2 Solution Saad Mneimneh Visiting Professor Hunter College of CUNY Problem 1: Rabin-Karp string matching Consider a binary string s of length n and another
More informationSection Summary. Sequences. Recurrence Relations. Summations Special Integer Sequences (optional)
Section 2.4 Section Summary Sequences. o Examples: Geometric Progression, Arithmetic Progression Recurrence Relations o Example: Fibonacci Sequence Summations Special Integer Sequences (optional) Sequences
More informationMath 31 Lesson Plan. Day 5: Intro to Groups. Elizabeth Gillaspy. September 28, 2011
Math 31 Lesson Plan Day 5: Intro to Groups Elizabeth Gillaspy September 28, 2011 Supplies needed: Sign in sheet Goals for students: Students will: Improve the clarity of their proof-writing. Gain confidence
More informationDepartment of Computer Science University at Albany, State University of New York Solutions to Sample Discrete Mathematics Examination II (Fall 2007)
Department of Computer Science University at Albany, State University of New York Solutions to Sample Discrete Mathematics Examination II (Fall 2007) Problem 1: Specify two different predicates P (x) and
More informationAlgorithms PART II: Partitioning and Divide & Conquer. HPC Fall 2007 Prof. Robert van Engelen
Algorithms PART II: Partitioning and Divide & Conquer HPC Fall 2007 Prof. Robert van Engelen Overview Partitioning strategies Divide and conquer strategies Further reading HPC Fall 2007 2 Partitioning
More informationDynamic Programming. Shuang Zhao. Microsoft Research Asia September 5, Dynamic Programming. Shuang Zhao. Outline. Introduction.
Microsoft Research Asia September 5, 2005 1 2 3 4 Section I What is? Definition is a technique for efficiently recurrence computing by storing partial results. In this slides, I will NOT use too many formal
More informationA = , A 32 = n ( 1) i +j a i j det(a i j). (1) j=1
Lecture Notes: Determinant of a Square Matrix Yufei Tao Department of Computer Science and Engineering Chinese University of Hong Kong taoyf@cse.cuhk.edu.hk 1 Determinant Definition Let A [a ij ] be an
More informationNotes. Relations. Introduction. Notes. Relations. Notes. Definition. Example. Slides by Christopher M. Bourke Instructor: Berthe Y.
Relations Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry Spring 2006 Computer Science & Engineering 235 Introduction to Discrete Mathematics Sections 7.1, 7.3 7.5 of Rosen cse235@cse.unl.edu
More informationSystems of Second Order Differential Equations Cayley-Hamilton-Ziebur
Systems of Second Order Differential Equations Cayley-Hamilton-Ziebur Characteristic Equation Cayley-Hamilton Cayley-Hamilton Theorem An Example Euler s Substitution for u = A u The Cayley-Hamilton-Ziebur
More informationRecursive Definitions
Recursive Definitions Example: Give a recursive definition of a n. a R and n N. Basis: n = 0, a 0 = 1. Recursion: a n+1 = a a n. Example: Give a recursive definition of n i=0 a i. Let S n = n i=0 a i,
More informationDeterminants of 2 2 Matrices
Determinants In section 4, we discussed inverses of matrices, and in particular asked an important question: How can we tell whether or not a particular square matrix A has an inverse? We will be able
More informationMATRICES. a m,1 a m,n A =
MATRICES Matrices are rectangular arrays of real or complex numbers With them, we define arithmetic operations that are generalizations of those for real and complex numbers The general form a matrix of
More informationLecture 6: Introducing Complexity
COMP26120: Algorithms and Imperative Programming Lecture 6: Introducing Complexity Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2015 16 You need this book: Make sure you use the up-to-date
More informationMATRICES ARE SIMILAR TO TRIANGULAR MATRICES
MATRICES ARE SIMILAR TO TRIANGULAR MATRICES 1 Complex matrices Recall that the complex numbers are given by a + ib where a and b are real and i is the imaginary unity, ie, i 2 = 1 In what we describe below,
More informationConsider the following example of a linear system:
LINEAR SYSTEMS Consider the following example of a linear system: Its unique solution is x + 2x 2 + 3x 3 = 5 x + x 3 = 3 3x + x 2 + 3x 3 = 3 x =, x 2 = 0, x 3 = 2 In general we want to solve n equations
More informationMatrices. Chapter Definitions and Notations
Chapter 3 Matrices 3. Definitions and Notations Matrices are yet another mathematical object. Learning about matrices means learning what they are, how they are represented, the types of operations which
More informationTopic 17. Analysis of Algorithms
Topic 17 Analysis of Algorithms Analysis of Algorithms- Review Efficiency of an algorithm can be measured in terms of : Time complexity: a measure of the amount of time required to execute an algorithm
More informationMath 324 Summer 2012 Elementary Number Theory Notes on Mathematical Induction
Math 4 Summer 01 Elementary Number Theory Notes on Mathematical Induction Principle of Mathematical Induction Recall the following axiom for the set of integers. Well-Ordering Axiom for the Integers If
More informationFirst we introduce the sets that are going to serve as the generalizations of the scalars.
Contents 1 Fields...................................... 2 2 Vector spaces.................................. 4 3 Matrices..................................... 7 4 Linear systems and matrices..........................
More informationChapter 5. Eigenvalues and Eigenvectors
Chapter 5 Eigenvalues and Eigenvectors Section 5. Eigenvectors and Eigenvalues Motivation: Difference equations A Biology Question How to predict a population of rabbits with given dynamics:. half of the
More informationSection 29: What s an Inverse?
Section 29: What s an Inverse? Our investigations in the last section showed that all of the matrix operations had an identity element. The identity element for addition is, for obvious reasons, called
More informationPartition of Integers into Distinct Summands with Upper Bounds. Partition of Integers into Even Summands. An Example
Partition of Integers into Even Summands We ask for the number of partitions of m Z + into positive even integers The desired number is the coefficient of x m in + x + x 4 + ) + x 4 + x 8 + ) + x 6 + x
More informationWilliam Stallings Copyright 2010
A PPENDIX E B ASIC C ONCEPTS FROM L INEAR A LGEBRA William Stallings Copyright 2010 E.1 OPERATIONS ON VECTORS AND MATRICES...2 Arithmetic...2 Determinants...4 Inverse of a Matrix...5 E.2 LINEAR ALGEBRA
More informationSTEP Support Programme. Hints and Partial Solutions for Assignment 17
STEP Support Programme Hints and Partial Solutions for Assignment 7 Warm-up You need to be quite careful with these proofs to ensure that you are not assuming something that should not be assumed. For
More information1 Counting spanning trees: A determinantal formula
Math 374 Matrix Tree Theorem Counting spanning trees: A determinantal formula Recall that a spanning tree of a graph G is a subgraph T so that T is a tree and V (G) = V (T ) Question How many distinct
More informationRelations Graphical View
Introduction Relations Computer Science & Engineering 235: Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu Recall that a relation between elements of two sets is a subset of their Cartesian
More informationMATH 115, SUMMER 2012 LECTURE 4 THURSDAY, JUNE 21ST
MATH 115, SUMMER 2012 LECTURE 4 THURSDAY, JUNE 21ST JAMES MCIVOR Today we enter Chapter 2, which is the heart of this subject. Before starting, recall that last time we saw the integers have unique factorization
More informationInverses and Determinants
Engineering Mathematics 1 Fall 017 Inverses and Determinants I begin finding the inverse of a matrix; namely 1 4 The inverse, if it exists, will be of the form where AA 1 I; which works out to ( 1 4 A
More informationGRE Subject test preparation Spring 2016 Topic: Abstract Algebra, Linear Algebra, Number Theory.
GRE Subject test preparation Spring 2016 Topic: Abstract Algebra, Linear Algebra, Number Theory. Linear Algebra Standard matrix manipulation to compute the kernel, intersection of subspaces, column spaces,
More information(x 1 +x 2 )(x 1 x 2 )+(x 2 +x 3 )(x 2 x 3 )+(x 3 +x 1 )(x 3 x 1 ).
CMPSCI611: Verifying Polynomial Identities Lecture 13 Here is a problem that has a polynomial-time randomized solution, but so far no poly-time deterministic solution. Let F be any field and let Q(x 1,...,
More informationDimension. Eigenvalue and eigenvector
Dimension. Eigenvalue and eigenvector Math 112, week 9 Goals: Bases, dimension, rank-nullity theorem. Eigenvalue and eigenvector. Suggested Textbook Readings: Sections 4.5, 4.6, 5.1, 5.2 Week 9: Dimension,
More informationFlip-N-Write: A Simple Deterministic Technique to Improve PRAM Write Performance, Energy and Endurance. Presenter: Brian Wongchaowart March 17, 2010
Flip-N-Write: A Simple Deterministic Technique to Improve PRAM Write Performance, Energy and Endurance Sangyeun Cho Hyunjin Lee Presenter: Brian Wongchaowart March 17, 2010 Motivation Suppose that you
More informationMath 31 Lesson Plan. Day 22: Tying Up Loose Ends. Elizabeth Gillaspy. October 31, Supplies needed: Colored chalk.
Math 31 Lesson Plan Day 22: Tying Up Loose Ends Elizabeth Gillaspy October 31, 2011 Supplies needed: Colored chalk Other topics V 4 via (P ({1, 2}), ) and Cayley table. D n for general n; what s the center?
More informationShortest paths with negative lengths
Chapter 8 Shortest paths with negative lengths In this chapter we give a linear-space, nearly linear-time algorithm that, given a directed planar graph G with real positive and negative lengths, but no
More informationCost-Constrained Matchings and Disjoint Paths
Cost-Constrained Matchings and Disjoint Paths Kenneth A. Berman 1 Department of ECE & Computer Science University of Cincinnati, Cincinnati, OH Abstract Let G = (V, E) be a graph, where the edges are weighted
More informationMATH 2030: EIGENVALUES AND EIGENVECTORS
MATH 2030: EIGENVALUES AND EIGENVECTORS Determinants Although we are introducing determinants in the context of matrices, the theory of determinants predates matrices by at least two hundred years Their
More informationTopics in linear algebra
Chapter 6 Topics in linear algebra 6.1 Change of basis I want to remind you of one of the basic ideas in linear algebra: change of basis. Let F be a field, V and W be finite dimensional vector spaces over
More informationLinear Congruences. The equation ax = b for a, b R is uniquely solvable if a 0: x = b/a. Want to extend to the linear congruence:
Linear Congruences The equation ax = b for a, b R is uniquely solvable if a 0: x = b/a. Want to extend to the linear congruence: ax b (mod m), a, b Z, m N +. (1) If x 0 is a solution then so is x k :=
More informationThe minimal polynomial
The minimal polynomial Michael H Mertens October 22, 2015 Introduction In these short notes we explain some of the important features of the minimal polynomial of a square matrix A and recall some basic
More informationEE/CSCI 451: Parallel and Distributed Computation
EE/CSCI 451: Parallel and Distributed Computation Lecture #19 3/28/2017 Xuehai Qian Xuehai.qian@usc.edu http://alchem.usc.edu/portal/xuehaiq.html University of Southern California 1 From last class PRAM
More informationAlgebraic Methods in Combinatorics
Algebraic Methods in Combinatorics Po-Shen Loh 27 June 2008 1 Warm-up 1. (A result of Bourbaki on finite geometries, from Răzvan) Let X be a finite set, and let F be a family of distinct proper subsets
More informationGrade 6 Math Circles November 17, 2010 Sequences
1 University of Waterloo Faculty of Mathematics Centre for Education in Mathematics and Computing Grade 6 Math Circles November 17, 2010 Sequences Sequences A list of numbers or objects in which all terms
More informationStream Ciphers. Çetin Kaya Koç Winter / 20
Çetin Kaya Koç http://koclab.cs.ucsb.edu Winter 2016 1 / 20 Linear Congruential Generators A linear congruential generator produces a sequence of integers x i for i = 1,2,... starting with the given initial
More informationav 1 x 2 + 4y 2 + xy + 4z 2 = 16.
74 85 Eigenanalysis The subject of eigenanalysis seeks to find a coordinate system, in which the solution to an applied problem has a simple expression Therefore, eigenanalysis might be called the method
More informationLinear Algebra. F n = {all vectors of dimension n over field F} Linear algebra is about vectors. Concretely, vectors look like this:
15-251: Great Theoretical Ideas in Computer Science Lecture 23 Linear Algebra Linear algebra is about vectors. Concretely, vectors look like this: They are arrays of numbers. fig. by Peter Dodds # of numbers,
More informationSAMPLE OF THE STUDY MATERIAL PART OF CHAPTER 1 Introduction to Linear Algebra
SAMPLE OF THE STUDY MATERIAL PART OF CHAPTER 1 Introduction to 1.1. Introduction Linear algebra is a specific branch of mathematics dealing with the study of vectors, vector spaces with functions that
More information1300 Linear Algebra and Vector Geometry
1300 Linear Algebra and Vector Geometry R. Craigen Office: MH 523 Email: craigenr@umanitoba.ca May-June 2017 Matrix Inversion Algorithm One payoff from this theorem: It gives us a way to invert matrices.
More informationCS/COE 1501 cs.pitt.edu/~bill/1501/ Integer Multiplication
CS/COE 1501 cs.pitt.edu/~bill/1501/ Integer Multiplication Integer multiplication Say we have 5 baskets with 8 apples in each How do we determine how many apples we have? Count them all? That would take
More informationYou separate binary numbers into columns in a similar fashion. 2 5 = 32
RSA Encryption 2 At the end of Part I of this article, we stated that RSA encryption works because it s impractical to factor n, which determines P 1 and P 2, which determines our private key, d, which
More informationLecture 19: The Determinant
Math 108a Professor: Padraic Bartlett Lecture 19: The Determinant Week 10 UCSB 2013 In our last class, we talked about how to calculate volume in n-dimensions Specifically, we defined a parallelotope:
More informationGF(2 m ) arithmetic: summary
GF(2 m ) arithmetic: summary EE 387, Notes 18, Handout #32 Addition/subtraction: bitwise XOR (m gates/ops) Multiplication: bit serial (shift and add) bit parallel (combinational) subfield representation
More informationBlock-tridiagonal matrices
Block-tridiagonal matrices. p.1/31 Block-tridiagonal matrices - where do these arise? - as a result of a particular mesh-point ordering - as a part of a factorization procedure, for example when we compute
More informationCSE 190, Great ideas in algorithms: Pairwise independent hash functions
CSE 190, Great ideas in algorithms: Pairwise independent hash functions 1 Hash functions The goal of hash functions is to map elements from a large domain to a small one. Typically, to obtain the required
More informationAlgorithms for Collective Communication. Design and Analysis of Parallel Algorithms
Algorithms for Collective Communication Design and Analysis of Parallel Algorithms Source A. Grama, A. Gupta, G. Karypis, and V. Kumar. Introduction to Parallel Computing, Chapter 4, 2003. Outline One-to-all
More information[Disclaimer: This is not a complete list of everything you need to know, just some of the topics that gave people difficulty.]
Math 43 Review Notes [Disclaimer: This is not a complete list of everything you need to know, just some of the topics that gave people difficulty Dot Product If v (v, v, v 3 and w (w, w, w 3, then the
More informationLecture 3 Sept. 4, 2014
CS 395T: Sublinear Algorithms Fall 2014 Prof. Eric Price Lecture 3 Sept. 4, 2014 Scribe: Zhao Song In today s lecture, we will discuss the following problems: 1. Distinct elements 2. Turnstile model 3.
More informationCSE 20 DISCRETE MATH SPRING
CSE 20 DISCRETE MATH SPRING 2016 http://cseweb.ucsd.edu/classes/sp16/cse20-ac/ Today's learning goals Describe computer representation of sets with bitstrings Define and compute the cardinality of finite
More informationLecture 7: More Arithmetic and Fun With Primes
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Advanced Course on Computational Complexity Lecture 7: More Arithmetic and Fun With Primes David Mix Barrington and Alexis Maciel July
More informationLINEAR ALGEBRA BOOT CAMP WEEK 2: LINEAR OPERATORS
LINEAR ALGEBRA BOOT CAMP WEEK 2: LINEAR OPERATORS Unless otherwise stated, all vector spaces in this worksheet are finite dimensional and the scalar field F has characteristic zero. The following are facts
More informationLINEAR ALGEBRA BOOT CAMP WEEK 1: THE BASICS
LINEAR ALGEBRA BOOT CAMP WEEK 1: THE BASICS Unless otherwise stated, all vector spaces in this worksheet are finite dimensional and the scalar field F has characteristic zero. The following are facts (in
More informationLecture 22: Counting
CS 710: Complexity Theory 4/8/2010 Lecture 22: Counting Instructor: Dieter van Melkebeek Scribe: Phil Rydzewski & Chi Man Liu Last time we introduced extractors and discussed two methods to construct them.
More informationCS250: Discrete Math for Computer Science
CS250: Discrete Math for Computer Science L6: Euclid s Algorithm & Multiplicative Inverses Mod m Greatest Common Divisors, GCD If d a and d b then d is a common divisor of a and b. 1, 2, 3, and 6 are common
More informationError Detection and Correction: Small Applications of Exclusive-Or
Error Detection and Correction: Small Applications of Exclusive-Or Greg Plaxton Theory in Programming Practice, Fall 2005 Department of Computer Science University of Texas at Austin Exclusive-Or (XOR,
More informationMATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 1 x 2. x n 8 (4) 3 4 2
MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS SYSTEMS OF EQUATIONS AND MATRICES Representation of a linear system The general system of m equations in n unknowns can be written a x + a 2 x 2 + + a n x n b a
More informationQuestion: Given an n x n matrix A, how do we find its eigenvalues? Idea: Suppose c is an eigenvalue of A, then what is the determinant of A-cI?
Section 5. The Characteristic Polynomial Question: Given an n x n matrix A, how do we find its eigenvalues? Idea: Suppose c is an eigenvalue of A, then what is the determinant of A-cI? Property The eigenvalues
More information1 Matrices and Systems of Linear Equations. a 1n a 2n
March 31, 2013 16-1 16. Systems of Linear Equations 1 Matrices and Systems of Linear Equations An m n matrix is an array A = (a ij ) of the form a 11 a 21 a m1 a 1n a 2n... a mn where each a ij is a real
More informationNumerical Linear Algebra
Numerical Linear Algebra By: David McQuilling; Jesus Caban Deng Li Jan.,31,006 CS51 Solving Linear Equations u + v = 8 4u + 9v = 1 A x b 4 9 u v = 8 1 Gaussian Elimination Start with the matrix representation
More informationCSE 311 Lecture 11: Modular Arithmetic. Emina Torlak and Kevin Zatloukal
CSE 311 Lecture 11: Modular Arithmetic Emina Torlak and Kevin Zatloukal 1 Topics Sets and set operations A quick wrap-up of Lecture 10. Modular arithmetic basics Arithmetic over a finite domain (a.k.a
More information2x 1 7. A linear congruence in modular arithmetic is an equation of the form. Why is the solution a set of integers rather than a unique integer?
Chapter 3: Theory of Modular Arithmetic 25 SECTION C Solving Linear Congruences By the end of this section you will be able to solve congruence equations determine the number of solutions find the multiplicative
More informationDeterminants An Introduction
Determinants An Introduction Professor Je rey Stuart Department of Mathematics Paci c Lutheran University Tacoma, WA 9844 USA je rey.stuart@plu.edu The determinant is a useful function that takes a square
More informationDeterminants Chapter 3 of Lay
Determinants Chapter of Lay Dr. Doreen De Leon Math 152, Fall 201 1 Introduction to Determinants Section.1 of Lay Given a square matrix A = [a ij, the determinant of A is denoted by det A or a 11 a 1j
More informationLecture 6 September 21, 2016
ICS 643: Advanced Parallel Algorithms Fall 2016 Lecture 6 September 21, 2016 Prof. Nodari Sitchinava Scribe: Tiffany Eulalio 1 Overview In the last lecture, we wrote a non-recursive summation program and
More informationDETERMINANTS DEFINED BY ROW OPERATIONS
DETERMINANTS DEFINED BY ROW OPERATIONS TERRY A. LORING. DETERMINANTS DEFINED BY ROW OPERATIONS Determinants of square matrices are best understood in terms of row operations, in my opinion. Most books
More informationCS1800 Discrete Structures Final Version A
CS1800 Discrete Structures Fall 2017 Profs. Aslam, Gold, & Pavlu December 11, 2017 CS1800 Discrete Structures Final Version A Instructions: 1. The exam is closed book and closed notes. You may not use
More informationArithmetic in Integer Rings and Prime Fields
Arithmetic in Integer Rings and Prime Fields A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 FA C 3 FA C 2 FA C 1 FA C 0 C 4 S 3 S 2 S 1 S 0 http://koclab.org Çetin Kaya Koç Spring 2018 1 / 71 Contents Arithmetic in Integer
More informationBuilding a Computer Adder
Logic Gates are used to translate Boolean logic into circuits. In the abstract it is clear that we can build AND gates that perform the AND function and OR gates that perform the OR function and so on.
More informationName (please print) Mathematics Final Examination December 14, 2005 I. (4)
Mathematics 513-00 Final Examination December 14, 005 I Use a direct argument to prove the following implication: The product of two odd integers is odd Let m and n be two odd integers Since they are odd,
More information1 Last time: determinants
1 Last time: determinants Let n be a positive integer If A is an n n matrix, then its determinant is the number det A = Π(X, A)( 1) inv(x) X S n where S n is the set of n n permutation matrices Π(X, A)
More informationCSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Catie Baker Spring 2015
CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis Catie Baker Spring 2015 Today Registration should be done. Homework 1 due 11:59pm next Wednesday, April 8 th. Review math
More informationCPSC 467: Cryptography and Computer Security
CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 21 November 15, 2017 CPSC 467, Lecture 21 1/31 Secure Random Sequence Generators Pseudorandom sequence generators Looking random
More informationAdvanced Combinatorial Optimization Feb 13 and 25, Lectures 4 and 6
18.438 Advanced Combinatorial Optimization Feb 13 and 25, 2014 Lectures 4 and 6 Lecturer: Michel X. Goemans Scribe: Zhenyu Liao and Michel X. Goemans Today, we will use an algebraic approach to solve the
More informationTuring Machines. Lecture 8
Turing Machines Lecture 8 1 Course Trajectory We will see algorithms, what can be done. But what cannot be done? 2 Computation Problem: To compute a function F that maps each input (a string) to an output
More informationRecap: Prefix Sums. Given A: set of n integers Find B: prefix sums 1 / 86
Recap: Prefix Sums Given : set of n integers Find B: prefix sums : 3 1 1 7 2 5 9 2 4 3 3 B: 3 4 5 12 14 19 28 30 34 37 40 1 / 86 Recap: Parallel Prefix Sums Recursive algorithm Recursively computes sums
More informationDefinition: Alternating time and space Game Semantics: State of machine determines who
CMPSCI 601: Recall From Last Time Lecture Definition: Alternating time and space Game Semantics: State of machine determines who controls, White wants it to accept, Black wants it to reject. White wins
More informationTopic Contents. Factoring Methods. Unit 3: Factoring Methods. Finding the square root of a number
Topic Contents Factoring Methods Unit 3 The smallest divisor of an integer The GCD of two numbers Generating prime numbers Computing prime factors of an integer Generating pseudo random numbers Raising
More informationLecture 4: Constructing the Integers, Rationals and Reals
Math/CS 20: Intro. to Math Professor: Padraic Bartlett Lecture 4: Constructing the Integers, Rationals and Reals Week 5 UCSB 204 The Integers Normally, using the natural numbers, you can easily define
More informationLecture 19: Isometries, Positive operators, Polar and singular value decompositions; Unitary matrices and classical groups; Previews (1)
Lecture 19: Isometries, Positive operators, Polar and singular value decompositions; Unitary matrices and classical groups; Previews (1) Travis Schedler Thurs, Nov 18, 2010 (version: Wed, Nov 17, 2:15
More informationCSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010
CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010 Computational complexity studies the amount of resources necessary to perform given computations.
More information3 The fundamentals: Algorithms, the integers, and matrices
3 The fundamentals: Algorithms, the integers, and matrices 3.4 The integers and division This section introduces the basics of number theory number theory is the part of mathematics involving integers
More informationMATH 324 Summer 2011 Elementary Number Theory. Notes on Mathematical Induction. Recall the following axiom for the set of integers.
MATH 4 Summer 011 Elementary Number Theory Notes on Mathematical Induction Principle of Mathematical Induction Recall the following axiom for the set of integers. Well-Ordering Axiom for the Integers If
More informationMathematics Masters Examination
Mathematics Masters Examination OPTION 4 Fall 2015 MATHEMATICAL COMPUTER SCIENCE NOTE: Any student whose answers require clarification may be required to submit to an oral examination. Each of the twelve
More informationSAMPLE OF THE STUDY MATERIAL PART OF CHAPTER 1 Introduction to Linear Algebra
1.1. Introduction SAMPLE OF THE STUDY MATERIAL PART OF CHAPTER 1 Introduction to Linear algebra is a specific branch of mathematics dealing with the study of vectors, vector spaces with functions that
More informationCSE 311: Foundations of Computing. Lecture 10: Set Operations & Representation, Modular Arithmetic
CSE 311: Foundations of Computing Lecture 10: Set Operations & Representation, Modular Arithmetic Definitions A and B are equal if they have the same elements A = B x (x A x B) A is a subset of B if every
More informationCS173 Running Time and Big-O. Tandy Warnow
CS173 Running Time and Big-O Tandy Warnow CS 173 Running Times and Big-O analysis Tandy Warnow Today s material We will cover: Running time analysis Review of running time analysis of Bubblesort Review
More informationDeterminants and Scalar Multiplication
Invertibility and Properties of Determinants In a previous section, we saw that the trace function, which calculates the sum of the diagonal entries of a square matrix, interacts nicely with the operations
More informationTopics in Computer Mathematics
Random Number Generation (Uniform random numbers) Introduction We frequently need some way to generate numbers that are random (by some criteria), especially in computer science. Simulations of natural
More information2x 1 7. A linear congruence in modular arithmetic is an equation of the form. Why is the solution a set of integers rather than a unique integer?
Chapter 3: Theory of Modular Arithmetic 25 SECTION C Solving Linear Congruences By the end of this section you will be able to solve congruence equations determine the number of solutions find the multiplicative
More informationProblems for M 10/26:
Math, Lesieutre Problem set # November 4, 25 Problems for M /26: 5 Is λ 2 an eigenvalue of 2? 8 Why or why not? 2 A 2I The determinant is, which means that A 2I has 6 a nullspace, and so there is an eigenvector
More informationRoss Program 2017 Application Problems
Ross Program 2017 Application Problems This document is part of the application to the Ross Mathematics Program, and is posted at http://u.osu.edu/rossmath/. The Admission Committee will start reading
More information