Undergraduate Course: Computer Algebra (INFR11111)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Year 4 Undergraduate)
||Availability||Available to all students
|Summary||Computer graphics uses various shapes such as ellipsoids for modelling. Consider the following problem: we are given an ellipsoid, a point from which to view it, and a plane on which the viewed image is to appear. The problem is to find the contour of the image as an equation (a numerical solution is not good enough for many applications). The problem does not involve particularly difficult mathematics, but a solution by hand is very difficult in general. This is an example of a problem which can be solved fairly easily with a computer algebra system. These systems have a very wide range of applications and are useful both for routine work and research. From a computer science point of view they also give rise to interesting problems in implementation and the design of algorithms. The considerations here are not only theoretical but also pragmatic: for example there is an algorithm for polynomial factorization which runs in polynomial time; however systems do not use this since other (potentially exponential time) methods work faster in practice. The design of efficient algorithms in this area involves various novel techniques. The material of the course will be related whenever possible to the computer algebra system Maple, leading to a working knowledge of the system.
* Maple: general design principles, user facilities, data structures, use of hashing, etc.
* Brief comparison of systems.
* Algebraic structures: overview, basic concepts and algorithms.
* Arbitrary precision operations on integers, rationals, reals, polynomials and rational expressions.
* Importance of greatest common divisors and their efficient computation for integers and univariate polynomials (using modular methods).
* Multivariate polynomial systems: solution of sets of equations over the complex numbers; construction and use of Groebner bases; relevant algebraic structures and results.
* Reliable solution of systems of polynomial equations in one variable; Sturm sequences, continued fractions method.
Relevant QAA Computing Curriculum Sections: Data Structures and Algorithms, Simulation and Modelling, Theoretical Computing
Entry Requirements (not applicable to Visiting Students)
|| It is RECOMMENDED that students have passed
Discrete Mathematics and Mathematical Reasoning (INFR08023)
|Prohibited Combinations|| Students MUST NOT also be taking
Computer Algebra (INFR10009)
||Other requirements|| It is recommended that students have passed Discrete Mathematics and Mathematical Reasoning or a course providing equivalent practice at mathematical reasoning.