29 if (!(Result is
null))
33 if (!(Result is
null))
Base class for all types of abelian groups.
Base class for all types of rings.
abstract bool IsCommutative
If the ring * operator is commutative or not.
virtual IRingElement RightDivide(IRingElement Left, IRingElement Right)
Divides the right ring element from the left one: Left*(1/Right)
virtual IRingElement LeftDivide(IRingElement Left, IRingElement Right)
Divides the left ring element from the right one: (1/Left)*Right.
virtual IRingElement Multiply(IRingElement Left, IRingElement Right)
Multiplies two ring elements, if possible.
Ring()
Base class for all types of rings.
Basic interface for all types of ring elements.
IRingElement MultiplyRight(IRingElement Element)
Tries to multiply an element to the current element, from the right.
IRingElement Invert()
Inverts the element, if possible.
IRingElement MultiplyLeft(IRingElement Element)
Tries to multiply an element to the current element, from the left.
Basic interface for all types of rings.