-
-
Notifications
You must be signed in to change notification settings - Fork 209
Quaternions and Abstract Algebra
The org.ojalgo.algebra package contain a collection of interfaces related to abstract algebra: Group, Field, Ring, VectorSpace... The definition of these concepts are very abstract, but they've been turned into Java interfaces that are actually used throughout ojAlgo. For instance the concept of multiplication is defined in the Operation.Multiplication interface. Any/everything in ojAlgo that can be multiplied implements that interface.
There is a org.ojalgo.scalar.Quaternion class that can used with all the "arrays", vectors, matrices and whatever, just like any other number/scalar/field. Essentially everything in ojAlgo, except the optimisation model and solvers, can be used with Quaternion "elements".
The interface org.ojalgo.scalar.Scalar defines a few methods that one may wish all java.lang.Number classes would implement: add, subtract, multiply, divide and a few other.