Some content is protected. Please go to: MY > Lecture > MAT007 / Aspects of Computer Algebra
Lecture notes
Python modules from the lecture notes and exercises
gcd.py
(functions simple_gcd
, extended_gcd
as a module from Section 2.2.2)vector.py
(class Vector
from Listing 2.1; updated 26.02.2013)rings.py
(classes Integers
and Rationals
for Exercises 2, 3 and 7; updated 05.03.2013)polynomials.py
(classes Polynomial
and PolynomialRing
for Exercises 4, 6, 7, 10, 15 and 18; updated 21.03.2013)polynomialstiming.py
(timing tests for the Polynomial
class for Exercises 10 and 15; updated 12.03.2013)bits.py
(Exercise 11; updated 03.05.2013 with a ceil_log2()
function)binaryexp.py
(Exercise 12)benor.py
(Exercise 13)exercise_14.py
(Exercise 14)exercise_17.py
(Exercise 17)taylor.py
(Exercise 19)radix.py
(Exercise 20)exercise_21.py
(Exercise 21)heap.py
(an implementation of a binary heap, compare Chapter 4)integerroot.py
(Exercises 23 and 24)huffman.py
(an implementation of a Huffman tree creator, compare Chapter 4)exercise_26.py
(Exercise 26)fasteuclidean.py
(Exercise 27)section_5_2.py
(code from Section 5.2)fft.py
(Exercises 33, 34 and 35)exercise_36.py
(Exercise 36)matrix.py
(matrix library for Chapter 6; updated 06.08.2013)permutation.py
(Exercises 44 and 46; updated 14.05.2013)exercise_40.py
(Exercise 40)exercise_41.py
(Exercise 41)primes.py
(algorithms from Section 6.5)exercise_45.py
(Exercise 45)exercise_46.py
(Exercise 46)groups.py
(some abelian groups)exercise_47.py
(Exercise 47)exercise_48.py
(Exercise 48)exercise_49.py
(Exercise 49)exercise_50.py
(Exercise 50)smith.py
(Smith Normal Form computation, see Section 6.11)hnf.py
(HNF algorithm; Exercises 51 to 54)groupstest.py
(simple example for groups.py
)groupsorder.py
(computes order of elements)groupsexp.py
(computes exponent of group)groupsstructure.py
(computes structure of subgroup generated by two elements)groupsstructure2.py
(computes structure of generated subgroup)
Exercises
—
ringstest.py
(for Exercise 3)—
moduloint.py
(for Exercise 9; updated 21.03.2013)
The following document contains solutions to certain exercises. It will be updated with new solutions throughout the semester.
Slides from the lectures
—
Lecture 1, practical part—
Python code (26.02.2013)
Corrections of the lecture notes
for
loop should range from s = 1 to s = k (and not from 3 to k+2). (21.05.2013)for
loop should range from s = 1 to s = k (and not from 3 to k+2). (21.05.2013)
Exercise classes in April and May
Exam
The projects will be handed out and have to be returned and presented during August 2013. Alternatively, it is possible to pass a written exam instead of working on a project.
Document is being generated. Please wait.
In progress..