Lecture 4: Basic Arithmetic Algorithms

Date:  Jan. 26

Background Material and Further Resources



  1. Go over assignment 3
  2. Maple programs for computing the probability that two Gaussian integers are relatively prime and the average number of division steps in the Euclidean algorithm for Gaussian integers.
  3. Introduction to the SACLIB computer algebra library (A library of C callable algorithms for computing with polynomials and related structures. See Using SACLIB for a brief introduction on how to use SACLIB.
  4. Elementary data structures and algorithms in SACLIB.
    1. list processing
    2. representation of integers and polynomials
    3. algorithms for basic arithmetic (DPR, DQR, IPROD, IQR, ISUM)
    4. Computing time analysis of these functions.
  5. Relating empirical computing times to theoretical computing times. E.G. Classical algorithm for integer multiplication.
  6. Computing time analysis of two methods for computing modular inverses in Z_m, where m is a beta digit (fits in a single word). See MDINV from the SACLIB library for an approach using the half-extended Euclidean algorithm. The second approach uses Fermat's theorem and a fast algorithm for computing modular powers (see MDEXP for the fast powering algorithm).

Maple Worksheet


Created: Jan. 27, 2000 by jjohnson@mcs.drexel.edu