BSc in Computing/Mathematical Science: Final Year Projects

Please do drop in (room 437 IT Building) or send an email (michael.mcgettrick@nuigalway.ie) for more info on any of the projects.



1. ALGORITHM(S) FOR RANK CALCULATIONS IN NxM POLYNOMIAL MATRICES
This project will develop efficient algorithms for the calculation of the rank of an n by m matrix A with polynomial entries. The polynomials are multivariate with coefficients in Q (the rationals). We calculate the rank as the number of linearly independent rows/columns, or the dimension of the Image/Kernel of the matrix A. Project will implement the algorithm online using the GNU multiple precision library GMP (http://www.swox.com/gmp/), and will also discuss termination, complexity, correctness, extensibility etc. Some knowledge of/interest in mathematics would be essential. The project will be entered for the Computer Algebra Nederland Prize (see http://www-math.sci.kun.nl/can/canprijs.html)

2. "SECURE" INTERNET TRANSACTIONS: THE SEARCH FOR LARGE MERSENNE PRIMES
Finding large prime numbers is crucial in modern cryptography, since "secure" internet transactions rely on calculating the product of two such numbers. Currently a widely used method is the Lucas-Lehmer primality test for Mersenne Primes. The main aim of this project is to calculate the complexity of this test, and hopefully develop modifications which improve its efficiency. These modifications can be added to the existing freely available source code (see http://www.mersenne.org/) or indeed a separate web interface built using arbitrary precision numerical libraries (e.g. GMP). Some knowledge of/interest in mathematics would be essential. See also http://godel.nuigalway.ie/mersenne/

3. EFFICIENT ALGORITHMS FOR SPARSE MATRICES
The objective is to write efficient algorithms for the calculation of A\B and B/A (left and right residuation) and STAR(A) for matrices A, B in max-plus algebra. These calculations are fundamental to many scheduling problems that appear in traffic modelling, production lines, modelling of multi-processor architectures, etc. An interface will be built to run the algorithms online. Another possible addition is the representation of results using a directed graph, which may give more intuition to the user. For further background see http://amadeus.inria.fr/gaubert/introductive.html, students taking this project should have some knowledge of/interest in mathematics.

4. CONSTRAINED OPTIMIZATION USING LAGRANGE MULTIPLIERS
Symbolic computing methods (such as Grobner Basis calculation) will be used to find the critical points of a function (max, min, saddle points etc.) subject to a constraint. While the symbolic code has already been written (see http://grobner.nuigalway.ie/) this project will specialize the code to the Lagrange Multiplier Problem, one of the main methods in Constrained Optimization. A User friendly interface will be built from which to run the solver.Some knowledge of/interest in mathematics/optimization would be essential.

5. QUANTUM COMPUTERS USING QUANTUM QUTRITS
For spin 1 particles, we can (in principle) build a quantum computer using three fundamental states (rather than the qubit or quantum bit, which uses two fundamental states analogous to the 0,1 of classical computing. This project will investigate what such a computer could do and how it differs from a computer built using qubits. This could be extended to investigation of generalized computers built using spin s particles, that have 2s+1 fundamental states. See e.g. http://planck.thphys.may.ie/QIPDDF/ or http://www.qubit.org/, for this project students would benefit from some background knowledge or interest in physics and/or mathematics.

6. THE HOWARD POLICY ITERATION ALGORITHM
In discrete event systems, a graph or petri net is often used to show the dependence of various events. Such events could be the production of a "unit" in a factory production line, or the departure of a car on a road trip. Discrete event systems generally correspond loosely to "man-made" systems, as opposed to natural systems which seem to be based more on the mathematics of differential equations and chaos theory. In such a system, IF its operation eventually becomes periodic (as turns out in most cases), the Howard Policy Iteration Algorithm calculates this cycle time. It is also an algorithm used in the general context of solving Markov Decision Processes (see http://victoria.mindmaker.hu/~szepes/research/Summary.htm ). This project would focus on an understanding of the algorithm, its implementation in some programming language, its application to some sample cases and a comparison to other algorithms that tackle this problem. Knowledge of/interest in programming and/or mathematics would benefit in this work.