Defines an algebraic structure known as a ring.

  • Type Parameters

    • T

    Parameters

    • set: ChalkboardSet<T>

      The set of the ring

    • add: (a: T, b: T) => T

      The additive operation of the ring

    • mul: (a: T, b: T) => T

      The multiplicative operation of the ring

    • OptionaladdIdentity: T

      The additive identity element of the ring (optional if the set is Z, Q, R, C, or M)

    • OptionalmulIdentity: T

      The multiplicative identity element of the ring (optional if the set is Z, Q, R, C, or M)

    • OptionaladdInverter: (a: T) => T

      The function to calculate the additive inverse of an element of the ring (optional if the set is Z, Q, R, C, or M)

    Returns ChalkboardStructure<T>