Welcome to mset

mset is a Java library for dealing with mathematical sets. This goes far beyond the scope of java.util.Set by allowing uncountable sets such as the set of all real numbers.

One of the most useful sets is an interval - a subset of a set paired with a total order defined by an upper and a lower boundary. Boundaries may be open or closed. For example, the interval [0,1) in the set of all real numbers is all real numbers between 0 and 1, not including 1. Intervals can also be open or half open. For example (0,inf) in the set of all real numbers is all real numbers greater than 0.

Often, you'll want to perform standard set operations (e.g. union, intersection, difference, etc.). The library provides implementations of basic set types and the operations between them. However, it is expected that users will often require implementations of other set types. To facilitate the implementation of operations with various set types, a functional programming style is used.

The library targets Java 5 - making use of generics to allow the creation of different types of sets. For example, Interval<Integer>, Interval<BigDecimal>, Interval<Date>, etc.

mset is available under an Apache open source license.

Latest News

25 July 2008: Project Initialization

This site is produced using Maven 2. Please send any feedback to the team.