Fast Fourier Transform: Theory and Algorithms

Size: px
Start display at page:

Download "Fast Fourier Transform: Theory and Algorithms"

Transcription

1 Fast Fourier Transform: Theory and Algorithms Lecture Vladimir Stojanović Communication System Design Spring 006 Massachusetts Institute of Technology

2 Discrete Fourier Transform A review Definition {X k } is periodic Since {X k } is sampled, {x n } must also be periodic From a physical point of view, both are repeated with period N Requires O(N ) operations Communication System Design

3 Fast Fourier Transform History Twiddle factor FFTs (non-coprime sub-lengths) 105 Gauss Predates even Fourier s work on transforms! 1903 Runge 1965 Cooley-Tukey 19 Duhamel-Vetterli (split-radix FFT) FFTs w/o twiddle factors (coprime sub-lengths) 1960 Good s mapping application of Chinese Remainder Theorem ~100 A.D Rader prime length FFT 1976 Winograd s Fourier Transform (WFTA) 1977 Kolba and Parks (Prime Factor Algorithm PFA) Communication System Design 3

4 Divide and conquer Divide and conquer always has less computations Suppose all I l sets have same number of elements N 1 so, N=N 1 *N, r=n Each inner-most sum takes N 1 multiplications The outer sum will need N multiplications per output point N *N for the whole sum (for all output points) Hence, total number of multiplications Communication System Design

5 Generalizations The inner-most sum has to represent a Only possible if the subset (possibly permuted) Has the same periodicity as the initial sequence All main classes of FFTs can be cast in the above form Both sums have same periodicity (Good s mapping) No permutations (i.e. twiddle factors) All the subsets have same number of elements m=n/r (m,r)=1 i.e. m and r are coprime If not, then inner sum is one stap of radix-r FFT If r=3, subsets with N/, N/ and N/ elements Split-radix algorithm Communication System Design 5

6 The cost of mapping The goal for divide and conquer Different types balance mapping with subproblem cost E.g. in radix- subproblems are trivial (only sum and differences) Mapping requires twiddle factors (large number of multiplies) E.g. in prime-factor algorithm Subproblems are s with coprime lengths (costly) Mapping trivial (no arithmetic operations) Communication System Design 6

7 FFTs with twiddle factors Reintroduced by Cooley-Tukey 65 Start from general divide and conquer Keep periodicity compatible with periodicity of the input sequence Use decimation almost N 1 s of size N Communication System Design 7

8 Cooley-Tukey FFT contd. can be taken mod N Y = Y n, k n, k N 1 s of length N. N multplications with twiddle factors 3. N s of length N Communication System Design

9 Step 1: Evaluate N 1 s of length N Step : N multiplications with twiddle factors Step 3: Evaluate N s of length N 1 Vector x i mapped to matrix x n1,n (N 1 xn ) Compute N 1 s of length N on each row Point-to-point multiply with twiddle factors Compute N s of length N1 on the columns Communication System Design 9

10 -D view of Cooley-Tukey mapping N=15 (N 1 =3, N =5) x 0 x 1... x 13 x 1 x 0 x 1 x 3 x 6 x 9 x 1 x x x 5 x 7 x 10 x 13 x x 11 x 1 x 0 x 1 x 3 x x 6 x 7 x x 1 x 9 x 13 x 10 x 1 x 11 x 0 x 1 x 3 x x 1 x 9 x W jm x 0 x 13 x x 9 x 1 x x 5 x x5-5 x 5 x 11 x 1 x 10 Figure by MIT OpenCourseWare. Cannot exchange the order of s Because of twiddle multiply Different mapping for N1=5, N=3 Not just transpose x 0 x 5 x 10 x 1 x 6 x 11 x x 7 x 1 x 3 x x 13 x x x 9 1 Figure by MIT OpenCourseWare Communication System Design 10

11 Radix and radix algorithms Lengths as powers of or are most popular Assume N= n N 1 =, N = n-1 (divides input sequence into even and odd samples decimation in time DIT) Butterfly (sum or difference followed or preceeded by a twiddle factor multiply) X m and X N/+m outputs of N/ -pt s on outputs of, N/-pt s weighted with twiddle factors Communication System Design 11

12 DIT radix- implementations Several different ways Reorder the input data Input samples for inner s in subsequent locations Results in bit-reversed input, in-order output DIT Selectively compute s on evens and odds Perform in-place computation Output in bit-reversed order (X3 in position six (011->110)) X 0 X 1 X X X 5 X 6 x i+1 w X 7 X 7 Division into even and odd numbered sequences N = { x i } N = { } of N / w1 w3 Multiplication by twiddle factors of X 0 X X 1 X 5 X X 6 Figure by MIT OpenCourseWare. Which type is this implementation? Communication System Design 1

13 Decimation in frequency (DIF) radix- implementation If reverse the role of N 1 and N, get DIF N 1 =N/, N = N / -1 n X = 1 k k1 W 1 N / n 1 =0 (x n 1 +x N / +n1 ), N / -1 n X k1 +1 = 1 k W 1 N / n 1 =0 Wn 1(x N n1 -x N / +n1 ). X 0 X 0 X 1 X X X 5 X 6 w1 w N = X X X 6 X 1 X 5 X 7 X 7 w3 { x k } N = { x k+1 } of Multiplication by twiddle factors of N / Communication System Design 13 Figure by MIT OpenCourseWare.

14 Duality DIT<->DIF X 0 X 1 N = X 0 X X 0 X 0 X 1 N = X X { x i } X 1 X 5 X w1 { x k } X X 6 X X 5 N = w1 X X 6 X X 5 w N = X 1 X 6 X 7 { x i+1 } w w3 X 7 X 6 X 7 X 7 w3 { x k+1 } X 5 Division of into even and N / odd numbered sequences Multiplication by twiddle factors of of Multiplication by twiddle factors of N / Which one is DIT (DIF)? How can we get one from another? Communication System Design Figure by MIT OpenCourseW. are. 1

15 Complexity of radix- FFTs of length N replaced by two length-n/ At the cost of N complex multiplications (twiddle) And N complex additions (pt s) Iterate the scheme log N-1 times Obtain trivial transforms (length ) of the length-n/ s Twiddle multiplies (W Ni ) Complex multiply 3 real mult + 3 real add If i is multiple of N/, no arithmetic operation required (why?) butterflies (one general, 3 special cases) Communication System Design 15

16 N= n, N 1 =, N =N/ s of length N/ 3N/ twiddle multiplies N/ s of length Cost of length- No multiplication Only 16 real additions Radix- Reduces the number of stages to log N x 0 x x 15 x 0 X 0 X 1 x X 1 X x 13 X x 1 x 15 1 X 15 X 0 X 1 X 1 X 15 Figure by MIT OpenCourseWare. Radix- can reduce number of operations even more Communication System Design 16

17 Mixed-radix and Split-radix Mixed-radix Diferent radices in different stages Split-radix Different radices in the same stage Simultaneously on different parts of the transform Can achieve lowest number of adds and multiplies for length n inputs x 0 x x 15 x 0 X 0 x x x 1 / x 0 X 0 X 1 x X 1 X x 13 X x 1 x 15 1 X 15 X 0 X 1 X 1 X 15 X 1 X 1 X 13 X 15 R R S-R Figure by MIT OpenCourseWare Communication System Design 17

18 Split-radix (DIF SRFFT) Look at DIF radix- Xk1 don t have twiddles N / -1 n X k1 = 1 k W 1 N / n 1 =0 (x n +x 1 N / +n1 ), N / -1 n X k1 +1 = 1 k W 1 N / n 1 =0 Wn 1(x N n1 -x N / +n1 ). X 0 X 0 X 1 X X X 5 X 6 w1 w N = X X X 6 X 1 X 5 X 7 X 7 of Even samples X k in DIF should be computed separately from other samples With same algorithm (recursively) as the original sequence No general rule for odd samples w3 Multiplication by twiddle factors Radix- is more efficient than radix- Higher radices are inefficient { x k } N = { x k+1 } of N / X 1 N / -1 n X k1 = W 1 k 1 N / n 1 =0 (x n +x 1 N / +n1 ), N / -1 n X k1 +1 = W 1 k 1 N / n 1 =0 Wn 1 N X[(x n1 -x N / +n1 ) +j(x n1 +N / -x n 1 +3N / )], N / -1 n X k1 +3 = W 1 k 1 n 1 =0 N / W3n 1 N Figure by MIT OpenCourseWare. X[(x n1 +x N / +n1 ) -j(x n1 +N / -x n 1 +3N / )]. X 0 X 0 X X 1 X X 1 / X 13 X 15 Figure by MIT OpenCourseWare.

19 Split-radix (DIT SRFFT) Dual to DIF SRFFT Considers separately subsets {x i }, {x i+1 } and {x i+3 } Redundancy in X k, X k+n/, X k+n/, X k+3n/ computation Communication System Design 19

20 FFTs without twiddle factors Divide and conquer requirements N-long computed from s with lengths that are factors of N (allows the inner sum to be a ) Provided that subsets I l guarantee periodic x i When N factors into co-prime factors N=N 1 *N Starting from any x i form subset with compatible periodicity (the periodicity of the subset divides the periodicity of the set) {x + n n = 1,..., N 1} or { x n = 1,..., N 1} i N n 1 1 i N Both subsets have only one common point x i Allows a rearrangement of the input (periodic) vector into a matrix with a periodicity in both dimensions (rows and columns), both periodicities being comatible with the initial one Communication System Design 0

21 Good s mapping FFTs without twiddle factors all based on the same mapping Turns original transform into a set of small s with coprime lengths {x i N + n n = 1,..., N 1} or {x n = 1,..., 1 i+ N n 1 1 N 1 1} equivalent to Good's mapping This mapping is one-to-one if N1 and N are coprime All congruences modulo N1 obtained For a given congruence modulo N and vice versa Figure by MIT OpenCourseW. are Communication System Design 1

22 Just another arrangement of CRT Chinese Remainder Theorem (CRT) If we know the residue of some number k modulo two coprime numbers N 1 and N k N k 1 N It is possible to reconstruct Let k N = k 1 k N = k 1 k = Ntk + Then NN 11 N 1 N 1 k NN 1 t k t 1 N 1 = 1 and t N N = 1 N 1 t 1 multiplicative inverse of N 1 mod N t multiplicative inverse of N mod N 1 t 1, t always exist since N 1, N coprime (N 1,N )=1 Good's mapping What are t 1, t for N 1 =3, N =5? CRT mapping Reversing N 1 and N Results in transposed mapping Figure by MIT OpenCourseW. are.

23 Impact on Formulating the true multi-dimensional transform N - 1 ik X k = Σ x i W N, k = 0,..., N - 1, i = 0 k = Ntk + N t k NN N N 1-1 N - 1 X N1 t 1 k + N r k 1 = Σ Σ x n1 N + n N 1 W N n 1 = 0 n = 0 (n 1 N + N 1 n )(N 1 t 1 k + N t k 1 ) x 3 x 6 x 9 x 1 5 X 9 X N W N = W N1 N t (N WN1 = W t ) N1 N1 = W N1 N 1-1 N - 1 X N1 t 1 k + N t k 1 = Σ Σ x n1 N + n N 1 W N1 W N n 1 = 0 n = 0 n 1 k n k, x 0 x 5 x 10 3 X 1 X X X 11 X 5 X' k1 k = X N1 t 1 k + N t k 1 x' n1. n = x n 1 N + n N 1 Figure by MIT OpenCourseWare. N 1-1 N - 1 n 1 k 1 X' k1 k = Σ Σ x' n1 n W N1 W N n 1 = 0 n = 0 n k Figure by MIT OCW. True bidimensional transform! (no extra twiddle factors) Communication System Design 3

24 Using convolution to compute s All sub s are prime length Rader showed that prime-length s can be computed as a result of cyclic convolution E.g. length 5 Permute last two rows and columns Cyclic correlation (a convolution with a reversed sequence) This is a general result Communication System Design

25 Example Results in smallest number of multiplies Communication System Design 5

26 Prime Factor Algorithm X = F 1 x F T. Good's mapping CRT mapping x 3 x 6 x 1 x 9 X 9 5 X x 0 X 1 x 5 3 X 11 X X x 10 X 5 Figure by MIT OpenCourseWare. Efficient small s are a key to the feasibility of this algorithm Communication System Design 6

27 Winograd s Fourier Transform Algorithm x 0 x 3 x 6 x 9 x 1 x 5 x 10 X 9 X X 5 X 11 X X X 1 input additions input additions point wise output additions output additions N = 3 N = 5 multiplication N = 5 N = 3 Figure by MIT OpenCourseWare. B 1 xb only involves additions D diagonal (so point multiply) Winograd transform has many more additions than twiddle FFTs Communication System Design 7

FFT Algorithms. Chapter 6. Contents 6.1

FFT Algorithms. Chapter 6. Contents 6.1 Chapter 6 FFT Algorithms Contents Efficient computation of the DFT............................................ 6.2 Applications of FFT................................................... 6.6 Computing DFT

More information

= 2 + 1 2 2 = 3 4, Now assume that P (k) is true for some fixed k 2. This means that

= 2 + 1 2 2 = 3 4, Now assume that P (k) is true for some fixed k 2. This means that Instructions. Answer each of the questions on your own paper, and be sure to show your work so that partial credit can be adequately assessed. Credit will not be given for answers (even correct ones) without

More information

1.4 Fast Fourier Transform (FFT) Algorithm

1.4 Fast Fourier Transform (FFT) Algorithm 74 CHAPTER AALYSIS OF DISCRETE-TIME LIEAR TIME-IVARIAT SYSTEMS 4 Fast Fourier Transform (FFT Algorithm Fast Fourier Transform, or FFT, is any algorithm for computing the -point DFT with a computational

More information

Lecture 13 - Basic Number Theory.

Lecture 13 - Basic Number Theory. Lecture 13 - Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are non-negative integers. We say that A divides B, denoted

More information

Lecture 3: Finding integer solutions to systems of linear equations

Lecture 3: Finding integer solutions to systems of linear equations Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture

More information

Bits Superposition Quantum Parallelism

Bits Superposition Quantum Parallelism 7-Qubit Quantum Computer Typical Ion Oscillations in a Trap Bits Qubits vs Each qubit can represent both a or at the same time! This phenomenon is known as Superposition. It leads to Quantum Parallelism

More information

6.02 Fall 2012 Lecture #5

6.02 Fall 2012 Lecture #5 6.2 Fall 22 Lecture #5 Error correction for linear block codes - Syndrome decoding Burst errors and interleaving 6.2 Fall 22 Lecture 5, Slide # Matrix Notation for Linear Block Codes Task: given k-bit

More information

Factoring Algorithms

Factoring Algorithms Factoring Algorithms The p 1 Method and Quadratic Sieve November 17, 2008 () Factoring Algorithms November 17, 2008 1 / 12 Fermat s factoring method Fermat made the observation that if n has two factors

More information

Direct Methods for Solving Linear Systems. Matrix Factorization

Direct Methods for Solving Linear Systems. Matrix Factorization Direct Methods for Solving Linear Systems Matrix Factorization Numerical Analysis (9th Edition) R L Burden & J D Faires Beamer Presentation Slides prepared by John Carroll Dublin City University c 2011

More information

ECE 842 Report Implementation of Elliptic Curve Cryptography

ECE 842 Report Implementation of Elliptic Curve Cryptography ECE 842 Report Implementation of Elliptic Curve Cryptography Wei-Yang Lin December 15, 2004 Abstract The aim of this report is to illustrate the issues in implementing a practical elliptic curve cryptographic

More information

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory

More information

Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and

Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and Breaking The Code Ryan Lowe Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and a minor in Applied Physics. As a sophomore, he took an independent study

More information

Notes on Factoring. MA 206 Kurt Bryan

Notes on Factoring. MA 206 Kurt Bryan The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor

More information

LECTURE 4. Last time: Lecture outline

LECTURE 4. Last time: Lecture outline LECTURE 4 Last time: Types of convergence Weak Law of Large Numbers Strong Law of Large Numbers Asymptotic Equipartition Property Lecture outline Stochastic processes Markov chains Entropy rate Random

More information

Solving Systems of Linear Equations

Solving Systems of Linear Equations LECTURE 5 Solving Systems of Linear Equations Recall that we introduced the notion of matrices as a way of standardizing the expression of systems of linear equations In today s lecture I shall show how

More information

Some applications of LLL

Some applications of LLL Some applications of LLL a. Factorization of polynomials As the title Factoring polynomials with rational coefficients of the original paper in which the LLL algorithm was first published (Mathematische

More information

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012 Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about

More information

Analysis/resynthesis with the short time Fourier transform

Analysis/resynthesis with the short time Fourier transform Analysis/resynthesis with the short time Fourier transform summer 2006 lecture on analysis, modeling and transformation of audio signals Axel Röbel Institute of communication science TU-Berlin IRCAM Analysis/Synthesis

More information

D. J. Bernstein University of Illinois at Chicago. See online version of paper, particularly for bibliography: http://cr.yp.to /papers.

D. J. Bernstein University of Illinois at Chicago. See online version of paper, particularly for bibliography: http://cr.yp.to /papers. The tangent FFT D. J. Bernstein University of Illinois at Chicago See online version of paper, particularly for bibliography: http://cr.yp.to /papers.html#tangentfft Algebraic algorithms f 0 f 1 g 0 g

More information

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES I GROUPS: BASIC DEFINITIONS AND EXAMPLES Definition 1: An operation on a set G is a function : G G G Definition 2: A group is a set G which is equipped with an operation and a special element e G, called

More information

Homework until Test #2

Homework until Test #2 MATH31: Number Theory Homework until Test # Philipp BRAUN Section 3.1 page 43, 1. It has been conjectured that there are infinitely many primes of the form n. Exhibit five such primes. Solution. Five such

More information

8 Primes and Modular Arithmetic

8 Primes and Modular Arithmetic 8 Primes and Modular Arithmetic 8.1 Primes and Factors Over two millennia ago already, people all over the world were considering the properties of numbers. One of the simplest concepts is prime numbers.

More information

Notes on Determinant

Notes on Determinant ENGG2012B Advanced Engineering Mathematics Notes on Determinant Lecturer: Kenneth Shum Lecture 9-18/02/2013 The determinant of a system of linear equations determines whether the solution is unique, without

More information

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 12 Block Cipher Standards

More information

a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.

a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2. Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given

More information

Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear

More information

Operation Count; Numerical Linear Algebra

Operation Count; Numerical Linear Algebra 10 Operation Count; Numerical Linear Algebra 10.1 Introduction Many computations are limited simply by the sheer number of required additions, multiplications, or function evaluations. If floating-point

More information

Number Theory. Proof. Suppose otherwise. Then there would be a finite number n of primes, which we may

Number Theory. Proof. Suppose otherwise. Then there would be a finite number n of primes, which we may Number Theory Divisibility and Primes Definition. If a and b are integers and there is some integer c such that a = b c, then we say that b divides a or is a factor or divisor of a and write b a. Definition

More information

WRITING PROOFS. Christopher Heil Georgia Institute of Technology

WRITING PROOFS. Christopher Heil Georgia Institute of Technology WRITING PROOFS Christopher Heil Georgia Institute of Technology A theorem is just a statement of fact A proof of the theorem is a logical explanation of why the theorem is true Many theorems have this

More information

Midterm Practice Problems

Midterm Practice Problems 6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator

More information

Solutions to Problem Set 1

Solutions to Problem Set 1 YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE CPSC 467b: Cryptography and Computer Security Handout #8 Zheng Ma February 21, 2005 Solutions to Problem Set 1 Problem 1: Cracking the Hill cipher Suppose

More information

Modélisation et résolutions numérique et symbolique

Modélisation et résolutions numérique et symbolique Modélisation et résolutions numérique et symbolique via les logiciels Maple et Matlab Jeremy Berthomieu Mohab Safey El Din Stef Graillat Mohab.Safey@lip6.fr Outline Previous course: partial review of what

More information

Chapter 3. if 2 a i then location: = i. Page 40

Chapter 3. if 2 a i then location: = i. Page 40 Chapter 3 1. Describe an algorithm that takes a list of n integers a 1,a 2,,a n and finds the number of integers each greater than five in the list. Ans: procedure greaterthanfive(a 1,,a n : integers)

More information

Continued Fractions and the Euclidean Algorithm

Continued Fractions and the Euclidean Algorithm Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction

More information

CS 103X: Discrete Structures Homework Assignment 3 Solutions

CS 103X: Discrete Structures Homework Assignment 3 Solutions CS 103X: Discrete Structures Homework Assignment 3 s Exercise 1 (20 points). On well-ordering and induction: (a) Prove the induction principle from the well-ordering principle. (b) Prove the well-ordering

More information

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS 1. SYSTEMS OF EQUATIONS AND MATRICES 1.1. Representation of a linear system. The general system of m equations in n unknowns can be written a 11 x 1 + a 12 x 2 +

More information

Systems I: Computer Organization and Architecture

Systems I: Computer Organization and Architecture Systems I: Computer Organization and Architecture Lecture 2: Number Systems and Arithmetic Number Systems - Base The number system that we use is base : 734 = + 7 + 3 + 4 = x + 7x + 3x + 4x = x 3 + 7x

More information

FAST FOURIER TRANSFORM ALGORITHMS WITH APPLICATIONS. A Dissertation Presented to the Graduate School of Clemson University

FAST FOURIER TRANSFORM ALGORITHMS WITH APPLICATIONS. A Dissertation Presented to the Graduate School of Clemson University FAST FOURIER TRANSFORM ALGORITHMS WITH APPLICATIONS A Dissertation Presented to the Graduate School of Clemson University In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy

More information

An Efficient RNS to Binary Converter Using the Moduli Set {2n + 1, 2n, 2n 1}

An Efficient RNS to Binary Converter Using the Moduli Set {2n + 1, 2n, 2n 1} An Efficient RNS to Binary Converter Using the oduli Set {n + 1, n, n 1} Kazeem Alagbe Gbolagade 1,, ember, IEEE and Sorin Dan Cotofana 1, Senior ember IEEE, 1. Computer Engineering Laboratory, Delft University

More information

MATH 4330/5330, Fourier Analysis Section 11, The Discrete Fourier Transform

MATH 4330/5330, Fourier Analysis Section 11, The Discrete Fourier Transform MATH 433/533, Fourier Analysis Section 11, The Discrete Fourier Transform Now, instead of considering functions defined on a continuous domain, like the interval [, 1) or the whole real line R, we wish

More information

Lecture 2 Matrix Operations

Lecture 2 Matrix Operations Lecture 2 Matrix Operations transpose, sum & difference, scalar multiplication matrix multiplication, matrix-vector product matrix inverse 2 1 Matrix transpose transpose of m n matrix A, denoted A T or

More information

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS Systems of Equations and Matrices Representation of a linear system The general system of m equations in n unknowns can be written a x + a 2 x 2 + + a n x n b a

More information

Lecture 5: Singular Value Decomposition SVD (1)

Lecture 5: Singular Value Decomposition SVD (1) EEM3L1: Numerical and Analytical Techniques Lecture 5: Singular Value Decomposition SVD (1) EE3L1, slide 1, Version 4: 25-Sep-02 Motivation for SVD (1) SVD = Singular Value Decomposition Consider the system

More information

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1. MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column

More information

8 Divisibility and prime numbers

8 Divisibility and prime numbers 8 Divisibility and prime numbers 8.1 Divisibility In this short section we extend the concept of a multiple from the natural numbers to the integers. We also summarize several other terms that express

More information

K80TTQ1EP-??,VO.L,XU0H5BY,_71ZVPKOE678_X,N2Y-8HI4VS,,6Z28DDW5N7ADY013

K80TTQ1EP-??,VO.L,XU0H5BY,_71ZVPKOE678_X,N2Y-8HI4VS,,6Z28DDW5N7ADY013 Hill Cipher Project K80TTQ1EP-??,VO.L,XU0H5BY,_71ZVPKOE678_X,N2Y-8HI4VS,,6Z28DDW5N7ADY013 Directions: Answer all numbered questions completely. Show non-trivial work in the space provided. Non-computational

More information

Primality - Factorization

Primality - Factorization Primality - Factorization Christophe Ritzenthaler November 9, 2009 1 Prime and factorization Definition 1.1. An integer p > 1 is called a prime number (nombre premier) if it has only 1 and p as divisors.

More information

Discrete Mathematics, Chapter 4: Number Theory and Cryptography

Discrete Mathematics, Chapter 4: Number Theory and Cryptography Discrete Mathematics, Chapter 4: Number Theory and Cryptography Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 4 1 / 35 Outline 1 Divisibility

More information

Cryptography and Network Security Chapter 8

Cryptography and Network Security Chapter 8 Cryptography and Network Security Chapter 8 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits by RHB) Chapter 8 Introduction to Number Theory The Devil said to Daniel Webster:

More information

Primality Testing and Factorization Methods

Primality Testing and Factorization Methods Primality Testing and Factorization Methods Eli Howey May 27, 2014 Abstract Since the days of Euclid and Eratosthenes, mathematicians have taken a keen interest in finding the nontrivial factors of integers,

More information

CHAPTER 5. Number Theory. 1. Integers and Division. Discussion

CHAPTER 5. Number Theory. 1. Integers and Division. Discussion CHAPTER 5 Number Theory 1. Integers and Division 1.1. Divisibility. Definition 1.1.1. Given two integers a and b we say a divides b if there is an integer c such that b = ac. If a divides b, we write a

More information

Computing exponents modulo a number: Repeated squaring

Computing exponents modulo a number: Repeated squaring Computing exponents modulo a number: Repeated squaring How do you compute (1415) 13 mod 2537 = 2182 using just a calculator? Or how do you check that 2 340 mod 341 = 1? You can do this using the method

More information

ALFFT FAST FOURIER Transform Core Application Notes

ALFFT FAST FOURIER Transform Core Application Notes ALFFT FAST FOURIER Transform Core Application Notes 6-20-2012 Table of Contents General Information... 3 Features... 3 Key features... 3 Design features... 3 Interface... 6 Symbol... 6 Signal description...

More information

We can express this in decimal notation (in contrast to the underline notation we have been using) as follows: 9081 + 900b + 90c = 9001 + 100c + 10b

We can express this in decimal notation (in contrast to the underline notation we have been using) as follows: 9081 + 900b + 90c = 9001 + 100c + 10b In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should

More information

The continuous and discrete Fourier transforms

The continuous and discrete Fourier transforms FYSA21 Mathematical Tools in Science The continuous and discrete Fourier transforms Lennart Lindegren Lund Observatory (Department of Astronomy, Lund University) 1 The continuous Fourier transform 1.1

More information

GENERATING SETS KEITH CONRAD

GENERATING SETS KEITH CONRAD GENERATING SETS KEITH CONRAD 1 Introduction In R n, every vector can be written as a unique linear combination of the standard basis e 1,, e n A notion weaker than a basis is a spanning set: a set of vectors

More information

2) Based on the information in the table which choice BEST shows the answer to 1 906? 906 899 904 909

2) Based on the information in the table which choice BEST shows the answer to 1 906? 906 899 904 909 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) Multiplying a number by results in what type of. even. 0. even.,0. odd..,0. even ) Based on the information in the table which choice BEST shows the answer to 0? 0 0 0 )

More information

Public Key Cryptography and RSA. Review: Number Theory Basics

Public Key Cryptography and RSA. Review: Number Theory Basics Public Key Cryptography and RSA Murat Kantarcioglu Based on Prof. Ninghui Li s Slides Review: Number Theory Basics Definition An integer n > 1 is called a prime number if its positive divisors are 1 and

More information

CS473 - Algorithms I

CS473 - Algorithms I CS473 - Algorithms I Lecture 4 The Divide-and-Conquer Design Paradigm View in slide-show mode 1 Reminder: Merge Sort Input array A sort this half sort this half Divide Conquer merge two sorted halves Combine

More information

An Introduction to Hill Ciphers Using Linear Algebra

An Introduction to Hill Ciphers Using Linear Algebra An Introduction to Hill Ciphers Using inear Algebra Brian Worthington October 26, 2010 University of North Texas MATH 2700.002 1 Contents 1 Introduction 3 1.1 Substitution Ciphers.........................

More information

Introduction to Matrix Algebra

Introduction to Matrix Algebra Psychology 7291: Multivariate Statistics (Carey) 8/27/98 Matrix Algebra - 1 Introduction to Matrix Algebra Definitions: A matrix is a collection of numbers ordered by rows and columns. It is customary

More information

THE NUMBER OF REPRESENTATIONS OF n OF THE FORM n = x 2 2 y, x > 0, y 0

THE NUMBER OF REPRESENTATIONS OF n OF THE FORM n = x 2 2 y, x > 0, y 0 THE NUMBER OF REPRESENTATIONS OF n OF THE FORM n = x 2 2 y, x > 0, y 0 RICHARD J. MATHAR Abstract. We count solutions to the Ramanujan-Nagell equation 2 y +n = x 2 for fixed positive n. The computational

More information

Wavelet analysis. Wavelet requirements. Example signals. Stationary signal 2 Hz + 10 Hz + 20Hz. Zero mean, oscillatory (wave) Fast decay (let)

Wavelet analysis. Wavelet requirements. Example signals. Stationary signal 2 Hz + 10 Hz + 20Hz. Zero mean, oscillatory (wave) Fast decay (let) Wavelet analysis In the case of Fourier series, the orthonormal basis is generated by integral dilation of a single function e jx Every 2π-periodic square-integrable function is generated by a superposition

More information

Performing the Fast Fourier Transform with Microchip s dspic30f Series Digital Signal Controllers

Performing the Fast Fourier Transform with Microchip s dspic30f Series Digital Signal Controllers Performing the Fast Fourier Transform with Microchip s dspic30f Series Digital Signal Controllers Application Note Michigan State University Dept. of Electrical & Computer Engineering Author: Nicholas

More information

Constrained curve and surface fitting

Constrained curve and surface fitting Constrained curve and surface fitting Simon Flöry FSP-Meeting Strobl (June 20, 2006), floery@geoemtrie.tuwien.ac.at, Vienna University of Technology Overview Introduction Motivation, Overview, Problem

More information

Quantum Computing Architectures

Quantum Computing Architectures Quantum Computing Architectures 1:-2: Fred Chong (UCD) - Intro, quantum algorithms, and error correction 2:-2:3 Break and discussion 2:3-3:3 Ike Chuang (MIT) - Device technology and implementation issues

More information

The Algorithms of Speech Recognition, Programming and Simulating in MATLAB

The Algorithms of Speech Recognition, Programming and Simulating in MATLAB FACULTY OF ENGINEERING AND SUSTAINABLE DEVELOPMENT. The Algorithms of Speech Recognition, Programming and Simulating in MATLAB Tingxiao Yang January 2012 Bachelor s Thesis in Electronics Bachelor s Program

More information

SOLVING LINEAR SYSTEMS

SOLVING LINEAR SYSTEMS SOLVING LINEAR SYSTEMS Linear systems Ax = b occur widely in applied mathematics They occur as direct formulations of real world problems; but more often, they occur as a part of the numerical analysis

More information

Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter 4 described a mathematical system

Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter 4 described a mathematical system CHAPTER Number Theory FIGURE FIGURE FIGURE Plus hours Plus hours Plus hours + = + = + = FIGURE. Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter described a mathematical

More information

Analysis of Binary Search algorithm and Selection Sort algorithm

Analysis of Binary Search algorithm and Selection Sort algorithm Analysis of Binary Search algorithm and Selection Sort algorithm In this section we shall take up two representative problems in computer science, work out the algorithms based on the best strategy to

More information

Factoring. Factoring 1

Factoring. Factoring 1 Factoring Factoring 1 Factoring Security of RSA algorithm depends on (presumed) difficulty of factoring o Given N = pq, find p or q and RSA is broken o Rabin cipher also based on factoring Factoring like

More information

4. FIRST STEPS IN THE THEORY 4.1. A

4. FIRST STEPS IN THE THEORY 4.1. A 4. FIRST STEPS IN THE THEORY 4.1. A Catalogue of All Groups: The Impossible Dream The fundamental problem of group theory is to systematically explore the landscape and to chart what lies out there. We

More information

Two classes of ternary codes and their weight distributions

Two classes of ternary codes and their weight distributions Two classes of ternary codes and their weight distributions Cunsheng Ding, Torleiv Kløve, and Francesco Sica Abstract In this paper we describe two classes of ternary codes, determine their minimum weight

More information

Systems of Linear Equations

Systems of Linear Equations Systems of Linear Equations Beifang Chen Systems of linear equations Linear systems A linear equation in variables x, x,, x n is an equation of the form a x + a x + + a n x n = b, where a, a,, a n and

More information

Matrix Multiplication

Matrix Multiplication Matrix Multiplication CPS343 Parallel and High Performance Computing Spring 2016 CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 1 / 32 Outline 1 Matrix operations Importance Dense and sparse

More information

Discrete Optimization

Discrete Optimization Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using

More information

Lecture 13: Factoring Integers

Lecture 13: Factoring Integers CS 880: Quantum Information Processing 0/4/0 Lecture 3: Factoring Integers Instructor: Dieter van Melkebeek Scribe: Mark Wellons In this lecture, we review order finding and use this to develop a method

More information

CITY UNIVERSITY LONDON. BEng Degree in Computer Systems Engineering Part II BSc Degree in Computer Systems Engineering Part III PART 2 EXAMINATION

CITY UNIVERSITY LONDON. BEng Degree in Computer Systems Engineering Part II BSc Degree in Computer Systems Engineering Part III PART 2 EXAMINATION No: CITY UNIVERSITY LONDON BEng Degree in Computer Systems Engineering Part II BSc Degree in Computer Systems Engineering Part III PART 2 EXAMINATION ENGINEERING MATHEMATICS 2 (resit) EX2005 Date: August

More information

SUBGROUPS OF CYCLIC GROUPS. 1. Introduction In a group G, we denote the (cyclic) group of powers of some g G by

SUBGROUPS OF CYCLIC GROUPS. 1. Introduction In a group G, we denote the (cyclic) group of powers of some g G by SUBGROUPS OF CYCLIC GROUPS KEITH CONRAD 1. Introduction In a group G, we denote the (cyclic) group of powers of some g G by g = {g k : k Z}. If G = g, then G itself is cyclic, with g as a generator. Examples

More information

Grade 6 Math Circles March 10/11, 2015 Prime Time Solutions

Grade 6 Math Circles March 10/11, 2015 Prime Time Solutions Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Lights, Camera, Primes! Grade 6 Math Circles March 10/11, 2015 Prime Time Solutions Today, we re going

More information

6. Cholesky factorization

6. Cholesky factorization 6. Cholesky factorization EE103 (Fall 2011-12) triangular matrices forward and backward substitution the Cholesky factorization solving Ax = b with A positive definite inverse of a positive definite matrix

More information

Introduction to Hill cipher

Introduction to Hill cipher Introduction to Hill cipher We have explored three simple substitution ciphers that generated ciphertext C from plaintext p by means of an arithmetic operation modulo 26. Caesar cipher: The Caesar cipher

More information

Factorization Algorithms for Polynomials over Finite Fields

Factorization Algorithms for Polynomials over Finite Fields Degree Project Factorization Algorithms for Polynomials over Finite Fields Sajid Hanif, Muhammad Imran 2011-05-03 Subject: Mathematics Level: Master Course code: 4MA11E Abstract Integer factorization is

More information

5. Orthogonal matrices

5. Orthogonal matrices L Vandenberghe EE133A (Spring 2016) 5 Orthogonal matrices matrices with orthonormal columns orthogonal matrices tall matrices with orthonormal columns complex matrices with orthonormal columns 5-1 Orthonormal

More information

1 Review of Least Squares Solutions to Overdetermined Systems

1 Review of Least Squares Solutions to Overdetermined Systems cs4: introduction to numerical analysis /9/0 Lecture 7: Rectangular Systems and Numerical Integration Instructor: Professor Amos Ron Scribes: Mark Cowlishaw, Nathanael Fillmore Review of Least Squares

More information

University of Lille I PC first year list of exercises n 7. Review

University of Lille I PC first year list of exercises n 7. Review University of Lille I PC first year list of exercises n 7 Review Exercise Solve the following systems in 4 different ways (by substitution, by the Gauss method, by inverting the matrix of coefficients

More information

0.1 Phase Estimation Technique

0.1 Phase Estimation Technique Phase Estimation In this lecture we will describe Kitaev s phase estimation algorithm, and use it to obtain an alternate derivation of a quantum factoring algorithm We will also use this technique to design

More information

3 Some Integer Functions

3 Some Integer Functions 3 Some Integer Functions A Pair of Fundamental Integer Functions The integer function that is the heart of this section is the modulo function. However, before getting to it, let us look at some very simple

More information

Computer and Network Security

Computer and Network Security MIT 6.857 Computer and Networ Security Class Notes 1 File: http://theory.lcs.mit.edu/ rivest/notes/notes.pdf Revision: December 2, 2002 Computer and Networ Security MIT 6.857 Class Notes by Ronald L. Rivest

More information

General Framework for an Iterative Solution of Ax b. Jacobi s Method

General Framework for an Iterative Solution of Ax b. Jacobi s Method 2.6 Iterative Solutions of Linear Systems 143 2.6 Iterative Solutions of Linear Systems Consistent linear systems in real life are solved in one of two ways: by direct calculation (using a matrix factorization,

More information

Linear Codes. Chapter 3. 3.1 Basics

Linear Codes. Chapter 3. 3.1 Basics Chapter 3 Linear Codes In order to define codes that we can encode and decode efficiently, we add more structure to the codespace. We shall be mainly interested in linear codes. A linear code of length

More information

Chapter 3. Distribution Problems. 3.1 The idea of a distribution. 3.1.1 The twenty-fold way

Chapter 3. Distribution Problems. 3.1 The idea of a distribution. 3.1.1 The twenty-fold way Chapter 3 Distribution Problems 3.1 The idea of a distribution Many of the problems we solved in Chapter 1 may be thought of as problems of distributing objects (such as pieces of fruit or ping-pong balls)

More information

3. Interpolation. Closing the Gaps of Discretization... Beyond Polynomials

3. Interpolation. Closing the Gaps of Discretization... Beyond Polynomials 3. Interpolation Closing the Gaps of Discretization... Beyond Polynomials Closing the Gaps of Discretization... Beyond Polynomials, December 19, 2012 1 3.3. Polynomial Splines Idea of Polynomial Splines

More information

Admin stuff. 4 Image Pyramids. Spatial Domain. Projects. Fourier domain 2/26/2008. Fourier as a change of basis

Admin stuff. 4 Image Pyramids. Spatial Domain. Projects. Fourier domain 2/26/2008. Fourier as a change of basis Admin stuff 4 Image Pyramids Change of office hours on Wed 4 th April Mon 3 st March 9.3.3pm (right after class) Change of time/date t of last class Currently Mon 5 th May What about Thursday 8 th May?

More information

CONTENTS. Please note:

CONTENTS. Please note: CONTENTS Introduction...iv. Number Systems... 2. Algebraic Expressions.... Factorising...24 4. Solving Linear Equations...8. Solving Quadratic Equations...0 6. Simultaneous Equations.... Long Division

More information

Patterns in Pascal s Triangle

Patterns in Pascal s Triangle Pascal s Triangle Pascal s Triangle is an infinite triangular array of numbers beginning with a at the top. Pascal s Triangle can be constructed starting with just the on the top by following one easy

More information

Solution to Exercise 2.2. Both m and n are divisible by d, som = dk and n = dk. Thus m ± n = dk ± dk = d(k ± k ),som + n and m n are divisible by d.

Solution to Exercise 2.2. Both m and n are divisible by d, som = dk and n = dk. Thus m ± n = dk ± dk = d(k ± k ),som + n and m n are divisible by d. [Chap. ] Pythagorean Triples 6 (b) The table suggests that in every primitive Pythagorean triple, exactly one of a, b,orc is a multiple of 5. To verify this, we use the Pythagorean Triples Theorem to write

More information

160 CHAPTER 4. VECTOR SPACES

160 CHAPTER 4. VECTOR SPACES 160 CHAPTER 4. VECTOR SPACES 4. Rank and Nullity In this section, we look at relationships between the row space, column space, null space of a matrix and its transpose. We will derive fundamental results

More information

Solving Systems of Linear Equations

Solving Systems of Linear Equations LECTURE 5 Solving Systems of Linear Equations Recall that we introduced the notion of matrices as a way of standardizing the expression of systems of linear equations In today s lecture I shall show how

More information

Faster deterministic integer factorisation

Faster deterministic integer factorisation David Harvey (joint work with Edgar Costa, NYU) University of New South Wales 25th October 2011 The obvious mathematical breakthrough would be the development of an easy way to factor large prime numbers

More information