Matrix Multiplication

Similar documents
Another Proof By Contradiction: 2 is Irrational

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 1

MI 4 Mathematical Induction Name. Mathematical Induction

Math 3361-Modern Algebra Lecture 08 9/26/ Cardinality

Mathematical Induction

Discrete Math, Spring Solutions to Problems V

CS 360, Winter Morphology of Proof: An introduction to rigorous proof techniques

One-to-one functions and onto functions

Induction 1 = 1(1+1) = 2(2+1) = 3(3+1) 2

Preparing for the CS 173 (A) Fall 2018 Midterm 1

Lecture 12 : Recurrences DRAFT

Discrete Mathematics for CS Fall 2003 Wagner Lecture 3. Strong induction

Reading and Writing. Mathematical Proofs. Slides by Arthur van Goetham

HOW TO WRITE PROOFS. Dr. Min Ru, University of Houston

Chapter 2. Mathematical Reasoning. 2.1 Mathematical Models

Day 6. Tuesday May 29, We continue our look at basic proofs. We will do a few examples of different methods of proving.

Basics of Proofs. 1 The Basics. 2 Proof Strategies. 2.1 Understand What s Going On

Recursion: Introduction and Correctness

M17 MAT25-21 HOMEWORK 6

Section 4.2: Mathematical Induction 1

Lecture 10: Powers of Matrices, Difference Equations

MATH 135 Fall 2006 Proofs, Part IV

Some Review Problems for Exam 1: Solutions

Proof Techniques (Review of Math 271)

Mathematical Induction

Data Structure Lecture#4: Mathematical Preliminaries U Kang Seoul National University

Discrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 3

Properties of Arithmetic

CS 124 Math Review Section January 29, 2018

MATH 341, Section 001 FALL 2014 Introduction to the Language and Practice of Mathematics

4.1 Induction: An informal introduction

Numerical Methods Lecture 2 Simultaneous Equations

1. (16 points) Circle T if the corresponding statement is True or F if it is False.

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

Lecture 3: Big-O and Big-Θ

, p 1 < p 2 < < p l primes.

Mathematical Background

Summer HSSP Lecture Notes Week 1. Lane Gunderman, Victor Lopez, James Rowan

Evolving a New Feature for a Working Program

Divisibility = 16, = 9, = 2, = 5. (Negative!)

Searching Algorithms. CSE21 Winter 2017, Day 3 (B00), Day 2 (A00) January 13, 2017

a + b = b + a and a b = b a. (a + b) + c = a + (b + c) and (a b) c = a (b c). a (b + c) = a b + a c and (a + b) c = a c + b c.

Properties of the Integers

Numerical Methods Lecture 2 Simultaneous Equations

What is proof? Lesson 1

Designing Information Devices and Systems I Fall 2018 Lecture Notes Note Introduction to Linear Algebra the EECS Way

WORKSHEET ON NUMBERS, MATH 215 FALL. We start our study of numbers with the integers: N = {1, 2, 3,...}

An analogy from Calculus: limits

A Brief Introduction to Proofs

PROBLEM SET 3: PROOF TECHNIQUES

In N we can do addition, but in order to do subtraction we need to extend N to the integers

Groups. s t or s t or even st rather than f(s,t).

1 True/False. Math 10B with Professor Stankova Worksheet, Discussion #9; Thursday, 2/15/2018 GSI name: Roy Zhao

At the start of the term, we saw the following formula for computing the sum of the first n integers:

REVIEW PROBLEMS FOR SECOND 3200 MIDTERM

Proofs. Chapter 2 P P Q Q

Answers in blue. If you have questions or spot an error, let me know. 1. Find all matrices that commute with A =. 4 3

Mathematical Induction Assignments

Inference and Proofs (1.6 & 1.7)

Writing proofs for MATH 61CM, 61DM Week 1: basic logic, proof by contradiction, proof by induction

Truth-Functional Logic

MATH10040: Numbers and Functions Homework 1: Solutions

Lecture 4: Constructing the Integers, Rationals and Reals

Lecture 5: Loop Invariants and Insertion-sort

CS 4104 Data and Algorithm Analysis. Recurrence Relations. Modeling Recursive Function Cost. Solving Recurrences. Clifford A. Shaffer.

1 Sequences and Summation

CS 4104 Data and Algorithm Analysis. CS4014: What You Need to Already Know. CS4104: What We Will Do. Introduction to Problem Solving (1)

Math 291-1: Lecture Notes Northwestern University, Fall 2015

Solution Set 2. Problem 1. [a] + [b] = [a + b] = [b + a] = [b] + [a] ([a] + [b]) + [c] = [a + b] + [c] = [a + b + c] = [a] + [b + c] = [a] + ([b + c])

3 Finite continued fractions

Introducing Proof 1. hsn.uk.net. Contents

PHIL 422 Advanced Logic Inductive Proof

1 Direct Proofs Technique Outlines Example Implication Proofs Technique Outlines Examples...

Chapter 1 Review of Equations and Inequalities

Infinite Continued Fractions

Math 1 Variable Manipulation Part 4 Student

MATH CSE20 Homework 5 Due Monday November 4

CS 361 Meeting 26 11/10/17

LECTURE 1. Logic and Proofs

MEETING 9 - INDUCTION AND RECURSION

Lecture 17: Trees and Merge Sort 10:00 AM, Oct 15, 2018

MAT115A-21 COMPLETE LECTURE NOTES

3.1 Induction: An informal introduction

Appendix A. Jargon. A.1 Strange technical terms

PEANO AXIOMS FOR THE NATURAL NUMBERS AND PROOFS BY INDUCTION. The Peano axioms

CS173 Strong Induction and Functions. Tandy Warnow

In N we can do addition, but in order to do subtraction we need to extend N to the integers

CHAPTER 4 SOME METHODS OF PROOF

CS1800: Strong Induction. Professor Kevin Gold

DR.RUPNATHJI( DR.RUPAK NATH )

3 The language of proof

Problem Set 5 Solutions

CS 173: Induction. Madhusudan Parthasarathy University of Illinois at Urbana-Champaign. February 7, 2016

Proof worksheet solutions

4.3 Minimizing & Mixed Constraints

Foundations of Discrete Mathematics

Introduction to Logic and Axiomatic Set Theory

Turing Machines, diagonalization, the halting problem, reducibility

Discrete Mathematics for CS Spring 2008 David Wagner Note 4

Data Structure Lecture#4: Mathematical Preliminaries U Kang Seoul National University

Transcription:

Matrix Multiplication Given two vectors a = [a 1,..., a k ] and b = [b 1,..., b k ], their inner product (or dot product) is a b = k i=1 a ib i [1, 2, 3] [ 2, 4, 6] = (1 2) + (2 4) + (3 6) = 24. We can multiply an n m matrix A = [a ij ] by an m k matrix B = [b ij ], to get an n k matrix C = [c ij ]: c ij = m r=1 a ir b rj this is the inner product of the ith row of A with the jth column of B 1

2 3 1 5 7 4 3 7 4 2 1 2 = 17 18 39 41 17 = (2 3) + (3 4) + (1 1) = (2, 3, 1) (3, 4, 1) 18 = (2 7) + (3 2) + (1 2) = (2, 3, 1) (7, 2, 2) 39 = (5 3) + (7 4) + (4 1) = (5, 7, 4) (3, 4, 1) 41 = (5 7) + (7 2) + (4 2) = (5, 7, 4) (7, 2, 2) 2

Why is multiplication defined in this strange way? Because it s useful! Suppose Thus, z 1 z 2 z 1 = 2y 1 + 3y 2 + y 3 y 1 = 3x 1 + 7x 2 z 2 = 5y 1 + 7y 2 + 4y 3 y 2 = 4x 1 + 2x 2 y 3 = x 1 2x 2 = 2 3 1 5 7 4 y 1 y 2 y 3 and y 1 y 2 y 3 = 3 7 4 2 1 2 Suppose we want to express the z s in terms of the x s: z 1 = 2y 1 + 3y 2 + y 3 = 2(3x 1 + 7x 2 ) + 3(4x 1 + 2x 2 ) + ( x 1 2x 2 ) = (2 3 + 3 4 + ( 1))x 1 + (2 7 + 3 2 + ( 2))x 2 = 17x 1 + 18x 2 Similarly, z 2 = 39x 1 + 41x 2. z 1 z 2 = 2 3 1 5 7 4 3 7 4 2 1 2 x 1 x 2. x 1 x 2. 3

Algorithms An algorithm is a recipe for solving a problem. In the book, a particular language is used for describing algorithms. You need to learn the language well enough to read the examples You need to learn to express your solution to a problem algorithmically and unambiguously YOU DO NOT NEED TO LEARN IN DETAIL ALL THE IDIOSYNCRACIES OF THE PARTICULAR LANGUAGE USED IN THE BOOK. You will not be tested on it, nor will most of the questions in homework use it I suggest you skim Chapter 1; I won t cover it 4

Methods of Proof One way of proving things is by induction. That s coming next. What if you can t use induction? Typically you re trying to prove a statement like Given X, prove (or show that) Y. This means you have to prove X Y In the proof, you re allowed to assume X, and then show that Y is true, using X. A special case: if there is no X, you just have to prove Y or true Y. Alternatively, you can do a proof by contradiction: Assume that Y is false, and show that X is false. This amounts to proving Y X 5

Example Theorem n is odd iff (in and only if) n 2 is odd, for n Z. Proof: We have to show 1. n odd n 2 odd 2. n 2 odd n odd For (1), if n is odd, it is of the form 2k + 1. Hence, Thus, n 2 is odd. n 2 = 4k 2 + 4k + 1 = 2(2k 2 + 2k) + 1 For (2), we proceed by contradiction. Suppose n 2 is odd and n is even. Then n = 2k for some k, and n 2 = 4k 2. Thus, n 2 is even. This is a contradiction. Thus, n must be odd. 6

A Proof By Contradiction Theorem: 2 is irrational. Proof: By contradiction. Suppose 2 is rational. Then 2 = a/b for some a, b N +. We can assume that a/b is in lowest terms. Therefore, a and b can t both be even. Squaring both sides, we get 2 = a 2 /b 2 Thus, a 2 = 2b 2, so a 2 is even. This means that a must be even. Suppose a = 2c. Then a 2 = 4c 2. Thus, 4c 2 = 2b 2, so b 2 = 2c 2. This means that b 2 is even, and hence so is b. Contradiction! Thus, 2 must be irrational. 7

Induction This is perhaps the most important technique we ll learn for proving things. Idea: To prove that a statement is true for all natural numbers, show that it is true for 1 (base case or basis step) and show that if it is true for n, it is also true for n + 1 (inductive step). The base case does not have to be 1; it could be 0, 2, 3,... If the base case is k, then you are proving the statement for all n k. It is sometimes quite difficult to formulate the statement to prove. IN THIS COURSE, I WILL BE VERY FUSSY ABOUT THE FORMULATION OF THE STATEMENT TO PROVE. YOU MUST STATE IT VERY CLEARLY. I WILL ALSO BE PICKY ABOUT THE FORM OF THE INDUC- TIVE PROOF. 8

Writing Up a Proof by Induction 1. State the hypothesis very clearly: Let P (n) be the (English) statement... [some statement involving n] 2. The basis step P (k) holds because... [where k is the base case, usually 0 or 1] 3. Inductive step Assume P (n). We prove P (n + 1) holds as follows... Thus, P (n) P (n + 1). 4. Conclusion Thus, we have shown by induction that P (n) holds for all n k (where k was what you used for your basis step). [It s not necessary to always write the conclusion explicitly.] 9

A Simple Example Theorem: For all positive integers n, n k=1 k = n(n + 1). 2 Proof: By induction. Let P (n) be the statement n k=1 k = n(n + 1). 2 Basis: P (1) asserts that 1 k=1 k = 1(1+1) 2. Since the LHS and RHS are both 1, this is true. Inductive step: Assume P (n). We prove P (n + 1). Note that P (n + 1) is the statement n+1 k=1 k = (n + 1)(n + 2). 2 n+1 k=1 k = n k=1 k + (n + 1) = n(n+1) 2 + (n + 1)[Induction hypothesis] = n(n+1)+2(n+1) 2 = (n+1)(n+2) 2 Thus, P (n) implies P (n + 1), so the result is true by induction. 10

Notes: You can write P (n) = instead of writing Induction hypothesis at the end of the line, or you can write P (n) at the end of the line. Whatever you write, make sure it s clear when you re applying the induction hypothesis Notice how we rewrite n+1 k=1 k so as to be able to appeal to the induction hypothesis. This is standard operating procedure. 11

Another example Theorem: (1+x) n 1+nx for all nonnegative integers n and all x 1. (Take 0 0 = 1.) Proof: By induction on n. Let P (n) be the statement (1 + x) n 1 + nx. Basis: P (0) says (1 + x) 0 1. This is clearly true. Inductive Step: Assume P (n). We prove P (n + 1). (1 + x) n+1 = (1 + x) n (1 + x) (1 + nx)(1 + x)[induction hypothesis] = 1 + nx + x + nx 2 = 1 + (n + 1)x + nx 2 1 + (n + 1)x Why does this argument fail if x < 1? 12

Towers of Hanoi Problem: Move all the rings from pole 1 and pole 2, moving one ring at a time, and never having a larger ring on top of a smaller one. How do we solve this? Think recursively! Suppose you could solve it for n 1 rings? How could you do it for n? 13

Solution Move top n 1 rings from pole 1 to pole 3 (we can do this by assumption) Pretend largest ring isn t there at all Move largest ring from pole 1 to pole 2 Move top n 1 rings from pole 3 to pole 2 (we can do this by assumption) Again, pretend largest ring isn t there This solution translates to a recursive algorithm: Suppose robot(r s) is a command to a robot to move the top ring on pole r to pole s Note that if r, s {1, 2, 3}, then 6 r s is the other number in the set procedure H(n, r, s) [Move n disks from r to s] if n = 1 then robot(r s) else H(n 1, r, 6 r s) robot(r s) H(n 1, 6 r s, s) endif return endpro 14

Towers of Hanoi: Analysis Theorem: It takes 2 n 1 moves to perform H(n, r, s), for all positive n, and all r, s {1, 2, 3}. Proof: Let P (n) be the statement It takes 2 n 1 moves to perform H(n, r, s) and all r, s {1, 2, 3}. Note that for all positive n is not part of P (n)! P (n) is a statement about a particular n. If it were part of P (n), what would P (1) be? Basis: P (1) is immediate: robot(r s) is the only move in H(1, r, s), and 2 1 1 = 1. Inductive step: Assume P (n). To perform H(n+1, r, s), we first do H(n, r, 6 r s), then robot(r s), then H(n, 6 r s, s). Altogether, this takes 2 n 1 + 1 + 2 n 1 = 2 n+1 1 steps. 15

A Matching Lower Bound Theorem: Any algorithm to move n rings from pole r to pole s requires at least 2 n 1 steps. Proof: By induction, taking the statement of the theorem to be P (n). Basis: Easy: Clearly it requires (at least) 1 step to move 1 ring from pole r to pole s. Inductive step: Assume P (n). Suppose you have a sequence of steps to move n + 1 rings from r to s. There s a first time and a last time you move ring n + 1: Let k be the first time Let k be the last time. Possibly k = k (if you only move ring n + 1 once) Suppose at step k, you move ring n + 1 from pole r to pole s. You can t assume that s = s, although this is optimal. 16

Key point: The top n rings have to be on the third pole, 6 r s Otherwise, you couldn t move ring n + 1 from r to s. By P (n), it took at least 2 n 1 moves to get the top n rings to pole 6 r s. At step k, the last time you moved ring n + 1, suppose you moved it from pole r to s (it has to end up at s). the other n rings must be on pole 6 r s. By P (n), it takes at least 2 n 1 moves to get them to ring s (where they have to end up). So, altogether, there are at least 2(2 n 1) + 1 = 2 n+1 1 moves in your sequence: at least 2 n 1 moves before step k at least 2 n 1 moves after step k step k itself. If course, if k k (that is, if you move ring n + 1 more than once) there are even more moves in your sequence. 17

Strong Induction Sometimes when you re proving P (n + 1), you want to be able to use P (j) for j n, not just P (n). You can do this with strong induction. 1. Let P (n) be the statement... [some statement involving n] 2. The basis step P (k) holds because... [where k is the base case, usually 0 or 1] 3. Inductive step Assume P (k),..., P (n) holds. We show P (n + 1) holds as follows... Although strong induction looks stronger than induction, it s not. Anything you can do with strong induction, you can also do with regular induction, by appropriately modifying the induction hypothesis. If P (n) is the statement you re trying to prove by strong induction, let P (n) be the statement P (1),..., P (n) hold. Proving P (n) by regular induction is the same as proving P (n) by strong induction. 18

An example using strong induction Theorem: Any item costing n > 7 kopecks can be bought using only 3-kopeck and 5-kopeck coins. Proof: Using strong induction. Let P (n) be the statement that n kopecks can be paid using 3-kopeck and 5- kopeck coins, for n 8. Basis: P (8) is clearly true since 8 = 3 + 5. Inductive step: Assume P (8),..., P (n) is true. We want to show P (n + 1). If n + 1 is 9 or 10, then it s easy to see that there s no problem (P (9) is true since 9 = 3 + 3 + 3, and P (10) is true since 10 = 5 + 5). Otherwise, note that (n + 1) 3 = n 2 8. Thus, P (n 2) is true, using the induction hypothesis. This means we can use 3- and 5-kopeck coins to pay for something costing n 2 kopecks. One more 3-kopeck coin pays for something costing n + 1 kopecks. 19

Bubble Sort Suppose we wanted to sort n items. Here s one way to do it: Input n [number of items to be sorted] w 1,..., w n [items] Algorithm BubbleSort for i = 1 to n 1 for j = 1 to n i if w j > w j+1 then switch(w j, w j+1 ) endif endfor endfor Why is this right: Intuitively, because largest elements bubble up to the top How many comparisons? Best case, worst case, average case all the same: (n 1) + (n 2) + + 1 = n(n 1)/2 20

Proving Bubble Sort Correct We want to show that the algorithm is correct by induction. What s the statement of the induction? Could take P (n) to be the statement: works correctly for n inputs. the algorithm That turns out to be a tough induction statement to work with. Suppose P (1) is true. How do you prove P (2)? A better choice: P (k) is the statement that, if there are n inputs and k n 1, then after k iterations of the outer loop, w n k+1,..., w n are the k largest items, sorted in the right order. Note that P (k) is vacuously true if k n. Basis: How do we prove P (1)? By a nested induction! This time, take Q(l) to be the statement that, if l n 1, then after l iterations of the inner loop, w l+1 > w j, for j = 1,..., l. Basis: Q(1) holds because after the first iteration of the inner loop, w 2 > w 1 (thanks to the switch statement). 21

Inductive step: Suppose that Q(l) is true. If l+1 n 1, then Q(l + 1) is vacuously true. If l + 1 < n, by Q(l), we know that w l+1 > w j, for j = 1,..., l after l iterations. The (l + 1)st iteration of the inner loop compares w l+1 and w l+2. After the (l + 1)st iteration, the bigger one is w l+2. Thus, w l+2 > w l+1. By the induction hypothesis, w l+2 > w j, for j + 1,..., l. That completes the nested induction. Thus, Q(l) holds for all l. Q(n 1) says that w n > w j for j = 1,..., n 1. That s just what P (1) says. So we re done with the base case of the main induction. [Note: For a really careful proof, we need better notation (for value of w l before and after the switch).] Inductive step (for main induction): Assume P (k). Thus, w k+1,..., w n are the k largest items. To prove P (k + 1), we use nested induction again: Now Q(l) says if i = k + 1, then if l n (k + 1), after l iterations of the inner loop, w l+1 > w j, for j = 1,..., l. Almost the same as before, except that instead of saying if l n 1, we say if l n (k + 1). If i = k + 1, we go through the inner loop only n (k + 1) times. 22

Q(n k 1) says that, after the (k +1)st iteration of the inner loop, w n k > w j for j = 1,..., k. P (k) says that the top k elements are w n k+1,..., w n, in that order. Thus, the top k + 1 elements must be w n k,... w n, in that order. This proves P (k + 1). Note that P (n 1) says that after n 1 iterations of the outer loop (which is all there are), the top n 1 elements are w 2,..., w n. So w 1 has to be the smallest element, and w 1, w 2,..., w n is a sorted list. 23