Download presentation
Presentation is loading. Please wait.
Published byOliver Doyle Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.