Computational Number Theory and Algebra · Instructor: Prof. Nitin Saxena
Revise the concept of vector space (V,+,\cdot) over a field \mathbb{F}, where a set V is equipped with operation +: V \times V \rightarrow V called vector addition and \cdot : \mathbb{F} \times V \rightarrow V called scalar multiplication. Recall the axioms that (V,+,\cdot) needs to satisfy in order to be called a vector space. Which of the following is a vector space?
A linear system of m equations in n unknowns can be modeled as Ax = b, where A is m \times n matrix, x is the n \times 1 vector of unknowns and b is a m \times 1 constant vector. If b is a zero vector, then the system is called homogeneous. The goal is to determine x. Which of the following is true?
Recall recurrence relations and asymptotic notation. Consider the recurrence T(n) = 8T(n/2) + O(n^2). (This is the recurrence for simple algorithm of multiplying two nXn matrices). Find the time complexity T(n)?
This course deals with algorithms for a lot of number theoretic problems. As a novice programmer it is likely that you may have written a program to test whether a number n is prime or not. You would like to know that in this course you will learn very fast algorithms for primality testing (google AKS primality testing for one such beautiful algorithm). Before that refresh your memory with the following warm-up question. The pseudo code below tests primality of a given positive integer n > 2. i = 2 WHILE i <= y IF i divides n RETURN "Not Prime" i = i + 1 RETURN "Prime" Which of the following options give minimum possible value of y for the above program to work correctly?
You must have learned probability in your high school curriculum. You will see beautiful applications of probability in some algebraic and number-theoretic algorithms in this course called probabilistic or randomized algorithms. Let us see the power of probability with a toy number-theoretic problem. Suppose you are given a permutation of 2n `consecutive' integers in an array A where n>0.You know an integer is either even or odd. The objective is to find an even number from A. What is the least number of queries a deterministic algorithm makes to A in the worst case? Let us try a randomized algorithm with only one query, which is to pick a number x uniformly randomly from A. With what probability x is an even number?
You must have learned to find the roots of a quadratic polynomial with integer coefficients in high school. Have you ever wondered how to find the roots of a general cubic or a degree d polynomial? In this course you will learn fast algorithms for the task. Let us recall the high school method with the following refresher problem. You are given a quadratic polynomial p(x)=x^2+bx+c with integer coefficients b and c. Which of the following is sufficient for p(x) to have an integer root?
You have learned about how to multiply two matrices in high-school mathematics. Two n\times n matrices A=(a_{ik}) and B=(b_{kj}) can be multiplied to get another n\times n matrix C=(c_{ij}) where the ij-th entry of C is c_{ij} = \Sigma_{k=1}^{n} a_{ik}b_{kj}. Using this formula to multiply matrices takes significant time for large n. Be ready to learn exciting tricks to get faster algorithms in this course. Before going to them, try to recall a few properties of matrix multiplication. Which of the following is true?
You can multiply two integers digit by digit from high school algebra. You will learn some nice tricks in this course to multiply them in a faster way. What is the time complexity of digit by digit multiplication for the two n digit integers?