LECTURE 8 Greatest Common Divisors Least Common Multiples

  • Slides: 38
Download presentation
LECTURE 8

LECTURE 8

Greatest Common Divisors & Least Common Multiples Definition 4 Let a and b be

Greatest Common Divisors & Least Common Multiples Definition 4 Let a and b be integers, not both zero. The largest integer d such that d|a and d|b is called the greatest common divisor of a and b. It is denoted gcd (a, b). Example: gcd (24, 36) Div (24) = {1, 2, 3, 4, 6, 8, 12, 24} Div (36) = {1, 2, 3, 4, 6, 8, 9, 12, 18, 36} Com(24, 36) = = {1, 2, 3, 4, 6, 12} gcd(24, 36) = 12 2

 Definition 5: The integers a and b are relatively prime (rp) if gcd(a,

Definition 5: The integers a and b are relatively prime (rp) if gcd(a, b) =1. Example: 17 and 22 are rp since gcd(17, 22) = 1. 3

 Definition 7: The least common multiple (lcm) of the positive integers a and

Definition 7: The least common multiple (lcm) of the positive integers a and b is the smallest positive integer that is divisible by both a and b. where max(x, y) denotes the maximum of x and y. Example : What is the least common multiple of: 233572 and 2433? Solution: lcm(233572 , 2433) = 2 max(3, 4). 3 max(5, 3). 7 max(2, 0) = 2 4 35 7 2 4

 Theorem 7: Let a and b be positive integers. Then ab = gcd(a,

Theorem 7: Let a and b be positive integers. Then ab = gcd(a, b). lcm(a. b). 5

Integers & Algorithms Representations of integers Theorem 1 Let b be a positive integer

Integers & Algorithms Representations of integers Theorem 1 Let b be a positive integer grater than 1. Then if n is a positive integer, it can be expressed uniquely in the form n = akbk + ak-1 bk-1 +…+ a 1 b + a 0, where k is a nonnegative integer, a 0, a 1, …, ak are nonnegative integers less than b, and ak 0. The representation of n given in theorem 1 is known as the base b expansion of n. 6

Integers & Algorithms Example: What is the decimal expansion of the integer that has

Integers & Algorithms Example: What is the decimal expansion of the integer that has (1 0101 1111)2 as its binary expansion? Solution: (1 0101 1111)2 = 1*28 + 0*27 + 1*26 + 0*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20 = 351 7

Integers & Algorithms Hexadecimal expansions = base 16 expansion 0, 1, 2, 3, 4,

Integers & Algorithms Hexadecimal expansions = base 16 expansion 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F The letters A through F represent the digits corresponding to the number 10 through 15. Example: What is the decimal expansion of the hexadecimal expansion of (2 AE 0 B)16? Solution: (2 AE 0 B)16 = 2*164 + 10*163 + 14*162 + 0*161 + 11*160 = (175627)10 Each hexadecimal digit can be represented using 4 bits. (1110 0101)2 = (E 5)16 (E 16 = (1110)2 ; 516 = (0101)2) Bytes: bit strings of length 8 represented by two hexadecimal digits. 8

Integers & Algorithms Representations of integers (cont. ) Base conversion Example: Find the base

Integers & Algorithms Representations of integers (cont. ) Base conversion Example: Find the base 8 (or octal) expansion of (12345)10 Solution: First, divide 12345 by 8. 12345 = 8 * 1543 + 1 1543 = 8 * 192 + 7 192 = 8 * 24 + 0 24 = 8 * 3 +0 3=8*0+3 (12345)10 = (30071)8 9

Integers & Algorithms Example: Find the hexadecimal expansion of (11 1110 1011 1100)2 and

Integers & Algorithms Example: Find the hexadecimal expansion of (11 1110 1011 1100)2 and the binary expansion of (A 8 D)16. Solution: 1. Form blocks of 4 digits and add zeros at the start of the leftmost block if necessary. They are: 0011, 1110, 1011 and 1100. 2. Convert each binary block into decimal (0011)2 = 316; (1110)2 = E 16; (1011)2 = B 16; (1100)2 = C 16 Therefore, (11 1110 1011 1100)2 = (3 EBC)16. The conversion of (A 8 D)16 into binary notation requires replacing each hexadecimal digit by a block of 4 binary digits. They are: A 16 = (1010)2, 816 = (1000)2, D 16 = (1101)2 10

Integers & Algorithms for integer operations Goal 1: Compute the sum of two integers

Integers & Algorithms for integer operations Goal 1: Compute the sum of two integers expressed with their binary expansions. The complexity will be based on the number of bits used. a = (an-1 an-2 … a 1 a 0)2, b = (bn-1 bn-2 … b 1 b 0)2 a + b? (sum of two n-bits numbers) First: a 0 + b 0 = c 0* 2 + s 0 where s 0 = rightmost bit in the binary expansion of a + b c 0 = carry = 0 or 1. Second: a 1 + b 1 + c 0 = c 1* 2 + s 1 where s 1 = next bit of the sum expansion c 1 = carry … a + b = (snsn-1 sn-2 … s 1 s 0)2 11

Integers & Algorithms Example: Add a = (1110)2 and b = (1011)2 Solution: a

Integers & Algorithms Example: Add a = (1110)2 and b = (1011)2 Solution: a 0 + b 0 = 0 + 1 = 0 * 2 + 1 c 0 = 0, s 0 = 1 a 1 + b 1 + c 0 = 1 + 0 = 1 * 2 + 0 c 1 = 1, s 1 = 0 a 2 + b 2 + c 1 = 1 + 0 + 1 = 1 * 2 + 0 c 2 = 1, s 2 = 0 a 3 + b 3 + c 2 = 1 + 1 = 1 * 2 + 1 c 3 = 1, s 3 = 1 s 4 = c 3 = 1 a + b = (1 1001)2 1 1 11 1 0 0 =a 1 =b 1 =c 12

Integers & Algorithms Goal 2: Compute the product since b = bn-1 bn-2…b 1

Integers & Algorithms Goal 2: Compute the product since b = bn-1 bn-2…b 1 b 0 then: ab = a (b 020 + b 121 + … + bn-12 n-1) = a (b 020) + a(b 121) + … + a(bn-12 n-1) Using this latter equation, we can compute a * b. abj = a if bj = 1 and 0 otherwise. Each time we multiply a term by 2, we shift its binary expansion one place to the left and add a zero at the tail end of the expansion. 13

Integers & Algorithms Example: Find the product of a = (110)2 and b =

Integers & Algorithms Example: Find the product of a = (110)2 and b = (101)2 Solution: ab 020 = (110)2 * 1 * 20 = (110)2 ab 121 = (110)2 * 0 * 21 = (0000)2 (4 zeros-shift) ab 222 = (110)2 * 1 * 22 = (11000)2 add 2 -zero bits 14

Integers & Algorithms To find the product, we need to perform: (110)2 + (0000)2

Integers & Algorithms To find the product, we need to perform: (110)2 + (0000)2 + (11000)2 1 0 0 1 1 0 0 ab = (11110)2 Other exercise: check for example: 7 * 5 = 35 is true in binary expansion. 15

Integers & Algorithms The Euclidean algorithm Goal: Compute the great common divisor (gcd) of

Integers & Algorithms The Euclidean algorithm Goal: Compute the great common divisor (gcd) of two integers avoiding the prime factorization of each number which is time-consuming. 16

 Integers & Algorithms 1. Illustration: Find gcd(91, 287) Divide 287 (the larger) by

Integers & Algorithms 1. Illustration: Find gcd(91, 287) Divide 287 (the larger) by 91 (the smaller) 287 = 91 * 3 + 14 Any divisor of 91 and 287 must be a divisor of 287 – 91 * 3 =14 (Theorem 1, part 1 & 2) Any divisor of 91 and 14 divides 287 = 91 * 3 + 14 gcd(91, 287) = gcd(91, 14) 2. Next divide 91 by 14 to obtain: 91 = 14 * 6 + 7 Using the same reasoning, our next step is to: 3. Divide 14 by 7: 14 = 7 * 2 since 7/14 gcd(14, 7) = 7. But since gcd(287, 91) = gcd(91, 14) = gcd (14, 7) = 7, we have solved the problem 17

Integers & Algorithms Lemma 1: Let a = bq + r, where a, b,

Integers & Algorithms Lemma 1: Let a = bq + r, where a, b, q and r are integers. Then we can write: gcd(a, b) = gcd(b, r) Example: Determine the gcd of 414 and 662 using the Euclidean algorithm. Solution: 662 = 414 * 1 + 248 414 = 248 * 1 + 166 248 = 166 * 1 + 82 166 = 82 * 2 + 2 82 = 2 * 41 Therefore: gcd(414, 662) = 2 (since 2 is the last nonzero remainder !) CSE 504, Chapter 2 (Part 3): The Fundamentals: Algorithms, the Integers & Matrices 18

 Definition 1 A matrix is a rectangular array of numbers. A matrix with

Definition 1 A matrix is a rectangular array of numbers. A matrix with m rows and n columns is called an m x n matrix. The plural of matrix is matrices. A matrix with the same number of rows as columns is called square. Two matrices are equal if they have the same number of rows and the same number of columns and the corresponding entries in every position are equal. Example: The matrix is a 3 X 2 matrix. 19 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Definition 2 Let The ith row of A is the 1 x n

Definition 2 Let The ith row of A is the 1 x n matrix [ai 1, ai 2, …, ain]. The jth column of A is the n x 1 matrix The (i, j)th element or entry of A is the element aij, that is, the number in the ith row and jth column of A. A convenient shorthand notation for expressing the matrix A is to write A = [aij], which indicates that A is the matrix with its (i, j)th element equal to a ij. 20

 Matrix Arithmetic Definition 3 Let A = [aij] and B = [bij] be

Matrix Arithmetic Definition 3 Let A = [aij] and B = [bij] be m x n matrices. The sum of A and B, denoted by A + B, is the m x n matrix that has aij + bij as its (i, j)th element. In other words, A + B = [aij + bij]. Example: 21 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Definition 4 Let A be an m x k matrix and B be

Definition 4 Let A be an m x k matrix and B be a k x n matrix. The product of A and B, denoted by AB, is the m x n matrix with its (i, j)th entry equal to the sum of the products of the corresponding elements from the ith row of A and the jth column of B. In other words, if AB = [cij], then Cij = ai 1 b 1 j + ai 2 b 2 j + … + aikbkj. 22 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Example: Let Find AB if it is defined. Solution: Since A is a

Example: Let Find AB if it is defined. Solution: Since A is a 4 x 3 matrix and B is a 3 x 2 matrix, the product AB is defined and is a 4 x 2 matrix. To find the elements of AB, the corresponding elements of the rows of A and the columns of B are first multiplied and then these products are added. For instance, the element in the (3, 1)th position of AB is the sum of the products of the corresponding elements of the third row of A and the first column of B; namely 3 * 2 + 1 * 1 + 0 * 3 = 7. When all the elements of AB are computed, we see that Matrix multiplication is not commutative. 23

 Example: Let Does AB = BA? Solution: We find that Hence, AB BA.

Example: Let Does AB = BA? Solution: We find that Hence, AB BA. 24 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Matrix chain multiplication Problem: How should the matrix-chain A 1 A 2…An be

Matrix chain multiplication Problem: How should the matrix-chain A 1 A 2…An be computed using the fewest multiplication of integers, where A 1 A 2…An are m 1 x m 2, m 2 x m 3, …, mn x m n+1 matrices respectively and each has integers as entries? 25 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Example: A 1 = 30 x 20 (30 rows and 20 columns) A

Example: A 1 = 30 x 20 (30 rows and 20 columns) A 2 = 20 x 40 A 3 = 40 x 10 Solution: 2 possibilities to compute A 1 A 2 A 3 1) A 1 (A 2 A 3) 2) (A 1 A 2)A 3 1) First A 2 A 3 requires 20 * 40 * 10 = 8000 multiplications A 1(A 2 A 3) requires 30 * 20 * 10 = 6000 multiplications Total: 14000 multiplications. 2) First A 1 A 2 requires 30 * 20 * 40 = 24000 multiplications (A 1 A 2)A 3 requires 30 * 40 * 10 = 12000 Total: 36000 multiplications. (1) is more efficient! 26 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Transposes and power matrices Definition 5 The identity matrix of order n is

Transposes and power matrices Definition 5 The identity matrix of order n is the n x n matrix In = [ ij], where ij = 1 if i = j and ij = 0 if i j. Hence 27 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Definition 6 Let A = [aij] be an m x n matrix. The

Definition 6 Let A = [aij] be an m x n matrix. The transpose of A, denoted At, is the n x m matrix obtained by interchanging the rows and the columns of A. In other words, if At = [bij], then bij = aij for i = 1, 2, …, n and j = 1, 2, …, m. Example: The transpose of the matrix is . 28 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Definition 7 A square matrix A is called symmetric if A = At.

Definition 7 A square matrix A is called symmetric if A = At. Thus A = [aij] is symmetric if aij = aji for all i and j with 1 i n and 1 j n. Example: The matrix is symmetric. 29 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Zero-one matrices It is a matrix with entries that are 0 or 1.

Zero-one matrices It is a matrix with entries that are 0 or 1. They represent discrete structures using Boolean arithmetic. We define the following Boolean operations: 30 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Definition 8 Let A = [aij] and B = [bij] be m x

Definition 8 Let A = [aij] and B = [bij] be m x n zero-one matrices. Then the join of A and B is the zero-one matrix with (i, j)th entry aij bij. The join of A and B is denoted A B. The meet of A and B is the zero-one matrix with (i, j)th entry aij bij. The meet of A and B is denoted by A B. 31 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Example: Find the join and meet of the zero-one matrices Solution: We find

Example: Find the join and meet of the zero-one matrices Solution: We find that the joint of A and B is: The meet of A and B is: 32 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Definition 9 Let A = [aij] be an m x k zero-one matrix

Definition 9 Let A = [aij] be an m x k zero-one matrix and B = [bij] be a k x n zero-one matrix. Then the Boolean product of A and B, denoted by A B, is the m x n matrix with (i, j)th entry [cij] where cij = (ai 1 b 1 j) (ai 2 b 2 j) … (aik bkj). 33 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Example: Find the Boolean product of A and B, where Solution: 34 CSE

Example: Find the Boolean product of A and B, where Solution: 34 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

Algorithm The Boolean Product procedure Boolean product (A, B: zero-one matrices) for i :

Algorithm The Boolean Product procedure Boolean product (A, B: zero-one matrices) for i : = 1 to m for j : = 1 to n begin cij : = 0 for q : = 1 to k cij : = cij (aiq bqj) end {C = [cij] is the Boolean product of A and B} 35 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Definition 10 Let A be a square zero-one matrix and let r be

Definition 10 Let A be a square zero-one matrix and let r be a positive integer. The rth Boolean power of A is the Boolean product of r factors of A. The rth Boolean product of A is denoted by A[r]. Hence (This is well defined since the Boolean product of matrices is associative. ) We also define A[0] to be In. 36 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices

 Example: Let . Find A[n] for all positive integers n. Solution: We find

Example: Let . Find A[n] for all positive integers n. Solution: We find that We also find that Additional computation shows that The reader can now see that A[n] = A[5] for all positive integers n with n 5. 37

THANK YOU

THANK YOU