github.com/meirizarrygelpi/numbers (go): Package numbers is a collection of packages that implement arithmetic for many number systems. Each individual package implements five numeric types:  The type of the components in these five types can be understood as a number system in 2⁰ = 1 dimension. There are packages that implement number systems in 2¹ = 2, 2² = 4, and 2³ = 8 dimensions.  The two-dimensional packages are:  The four-dimensional packages are:  The eight-dimensional packages are:  The sixteen-dimensional packages are:  All three two-dimensional systems include a binary multiplication operation that is commutative and associative (for non-floats). Both the nilplex and perplex numbers include non-trivial zero divisors.  Five of the ten four-dimensional systems include a binary multiplication operation that is non-commutative but associative (for non-floats). These are the Hamilton quaternions, Cockle quaternions, two-dimensional Grassmann numbers, super-complex numbers, and super-perplex numbers.  The other five four-dimensional numbers systems are plexifications of the three two-dimensional number systems. Here the binary multiplication operation is commutative and associative (for non-floats).  Except for the Hamilton quaternions, all other four-dimensional number systems include non-trivial zero divisors.  Seven of the seventeen eight-dimensional systems include a binary multiplication operation that is non-commutative and non-associative. These are the Cayley octonions, Zorn octonions, three-dimensional Grassmann numbers, super-Hamilton quaternions, super-Cockle quaternions, ultra-complex numbers, and ultra-perplex numbers.  The other ten eight-dimensional number systems are plexifications of four-dimensional number systems. For dual-Hamilton quaternions, dual-Cockle quaternions, complex-Hamilton quaternions, perplex-Hamilton quaternions and perplex-Cockle quaternions, the multiplication operation is non-commutative but associative (for non-floats). For tri-complex numbers, tri-perplex numbers, tri-nilplex numbers, hyper-complex numbers, and hyper-perplex numbers the multiplication operation is commutative and associative (for non-floats).
Keywords: complex-numbers|dual-numbers|perplex-numbers|quaternion