Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1

2 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

3  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

4  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: 2 3 3 5 7 2 and 2 4 3 3 ? Solution: lcm(2 3 3 5 7 2,2 4 3 3 ) = 2 max(3,4). 3 max(5,3). 7 max(2,0) = 2 4 3 5 7 2 4

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

6 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 = a k b k + a k-1 b k-1 +…+ a 1 b + a 0, where k is a nonnegative integer, a 0, a 1, …,a k are nonnegative integers less than b, and a k  0. The representation of n given in theorem 1 is known as the base b expansion of n. 6

7 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*2 8 + 0*2 7 + 1*2 6 + 0*2 5 + 1*2 4 + 1*2 3 + 1*2 2 + 1*2 1 + 1*2 0 = 351 7

8 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 (2AE0B) 16 ? Solution: (2AE0B) 16 = 2*16 4 + 10*16 3 + 14*16 2 + 0*16 1 + 11*16 0 = (175627) 10 Each hexadecimal digit can be represented using 4 bits. (1110 0101) 2 = (E5) 16 (E 16 = (1110) 2 ; 5 16 = (0101) 2 )  Bytes: bit strings of length 8 represented by two hexadecimal digits. 8

9 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

10 Integers & Algorithms Example: Find the hexadecimal expansion of (11 1110 1011 1100) 2 and the binary expansion of (A8D) 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 = 3 16 ; (1110) 2 = E 16 ; (1011) 2 = B 16 ; (1100) 2 = C 16 Therefore, (11 1110 1011 1100) 2 = (3EBC) 16. The conversion of (A8D) 16 into binary notation requires replacing each hexadecimal digit by a block of 4 binary digits. They are: A 16 = (1010) 2, 8 16 = (1000) 2, D 16 = (1101) 2 10

11 Integers & Algorithms  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 = (a n-1 a n-2 … a 1 a 0 ) 2, b = (b n-1 b n-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 = (s n s n-1 s n-2 … s 1 s 0 ) 2 11

12 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 + 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 = 1 * 2 + 1  c 3 = 1, s 3 = 1  s 4 = c 3 = 1  a + b = (1 1001) 2 12 11 1110= a 1011= b 1 001= c

13 Integers & Algorithms  Goal 2: Compute the product since b = b n-1 b n-2 …b 1 b 0 then: ab = a (b 0 2 0 + b 1 2 1 + … + b n-1 2 n-1 ) = a (b 0 2 0 ) + a(b 1 2 1 ) + … + a(b n-1 2 n-1 ) Using this latter equation, we can compute a * b. ab j = a if b j = 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

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

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

16 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

17 Integers & Algorithms  Illustration: Find gcd(91, 287) 1. 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

18 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

19 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices19  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.

20 20  Definition 2 Let The ith row of A is the 1 x n matrix [a i1, a i2, …, a in ]. The jth column of A is the n x 1 matrix The (i, j)th element or entry of A is the element a ij, 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 = [a ij ], which indicates that A is the matrix with its (i, j)th element equal to a ij.

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

22 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices22  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 = [c ij ], then C ij = a i1 b 1j + a i2 b 2j + … + a ik b kj.

23 23  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.

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

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

26 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices26  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!

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

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

29 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices29  Definition 7 A square matrix A is called symmetric if A = A t. Thus A = [a ij ] is symmetric if a ij = a ji for all i and j with 1  i  n and 1  j  n.  Example: The matrix is symmetric.

30 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices30  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:

31 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices31  Definition 8 Let A = [a ij ] and B = [b ij ] be m x n zero-one matrices. Then the join of A and B is the zero-one matrix with (i, j)th entry a ij  b ij. 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 a ij  b ij. The meet of A and B is denoted by A  B.

32 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices32  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:

33 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices33  Definition 9 Let A = [a ij ] be an m x k zero-one matrix and B = [b ij ] 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 [c ij ] where c ij = (a i1  b 1j )  (a i2  b 2j )  …  (a ik  b kj ).

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

35 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices35 Algorithm The Boolean Product procedure Boolean product (A,B: zero-one matrices) for i := 1 to m for j := 1 to n begin c ij := 0 for q := 1 to k c ij := c ij  (a iq  b qj ) end {C = [c ij ] is the Boolean product of A and B}

36 CSE 504, Chapter 2 (Part 4): The Fundamentals: Algorithms, the Integers & Matrices36  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 I n.

37 37  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.

38 THANK YOU


Download ppt "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."

Similar presentations


Ads by Google