Mathematical Rings
and Matrices

An implementation of mathematical ring operations for
multiple data types such as integers, polynomials, and
matrices.

Packages Overview

This project is organized into three packages: MatrixPackage, RingsPackage, and TestingPackage. The MatrixPackage defines a map-based implementation of a matrix data type within an interface hierarchy, and creates support for instantiation, addition, and multiplication operations. It also includes an implementation of a sparse matrix, which computes more efficiently for matrices that are mostly empty.

The RingsPackage defines a hierarchy of Ring types, which are designed to allow for computation of addition and multiplication operations on a range of different data types. This package also defines an additional data type, Polynomial, for usage in mathematical operations. The additional TestingPackage includes JUnit testing that provides full code and branch coverage of both the matrix and ring elements of the project.