Ring encapsulates the mathematical structure of a (not necessarily commutative) ring, with the laws
a * (b * c) === (a * b) * c
one * a === a
a * one === a
a * (b + c) === a * b + a * c
Typical examples include integers, polynomials, matrices, and quaternions.
Minimal definition: *, (one or fromInteger)
Instances43C, …
C IntegerDefined in numeric-prelude-0.4.4 · Algebra.RingC Int16Defined in numeric-prelude-0.4.4 · Algebra.RingC Int32Defined in numeric-prelude-0.4.4 · Algebra.RingC Int64Defined in numeric-prelude-0.4.4 · Algebra.RingC Int8Defined in numeric-prelude-0.4.4 · Algebra.RingC Word16Defined in numeric-prelude-0.4.4 · Algebra.RingC Word32Defined in numeric-prelude-0.4.4 · Algebra.RingC Word64Defined in numeric-prelude-0.4.4 · Algebra.RingC Word8Defined in numeric-prelude-0.4.4 · Algebra.RingC DoubleDefined in numeric-prelude-0.4.4 · Algebra.RingC FloatDefined in numeric-prelude-0.4.4 · Algebra.RingC IntDefined in numeric-prelude-0.4.4 · Algebra.RingC WordDefined in numeric-prelude-0.4.4 · Algebra.RingC TDefined in numeric-prelude-0.4.4 · Number.FixedPoint.CheckC TDefined in numeric-prelude-0.4.4 · Number.GaloisField2p32m5C TDefined in numeric-prelude-0.4.4 · Number.PeanoC TDefined in numeric-prelude-0.4.4 · Number.Positional.CheckRealFloat a => C (Complex a)Defined in numeric-prelude-0.4.4 · Algebra.RingNum a => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.Wrapper.Haskell98Integral a => C (Ratio a)Defined in numeric-prelude-0.4.4 · Algebra.RingC a => C (T a)Defined in numeric-prelude-0.4.4 · Number.ResidueClass.FuncC a => C (T a)Defined in numeric-prelude-0.4.4 · Number.RatioC a => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.LaurentPolynomialC a => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.MatrixProperty genIntMatrix /\ \a -> Laws.leftIdentity (*) (Matrix.one (Matrix.numRows a)) aProperty genIntMatrix /\ \a -> Laws.rightIdentity (*) (Matrix.one (Matrix.numColumns a)) aProperty genIntMatrix /\ \a -> genFactorMatrix a /\ \b -> Laws.homomorphism Matrix.transpose (*) (flip (*)) a bProperty genIntMatrix /\ \a -> genFactorMatrix a /\ \b -> genFactorMatrix b /\ \c -> Laws.associative (*) a b cProperty genIntMatrix /\ \b -> genSameMatrix b /\ \c -> genFactorMatrix b /\ \a -> Laws.leftDistributive (*) (+) a b cProperty genIntMatrix /\ \a -> genFactorMatrix a /\ \b -> genSameMatrix b /\ \c -> Laws.rightDistributive (*) (+) a b cProperty QC.choose (0,10) /\ \k -> genDimension /\ \n -> genMatrixFor n n /\ \a -> a^k == nest (fromInteger k) ((a::Matrix.T Integer)*) (Matrix.one n)C a => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.PolynomialC a => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.PowerSeriesProperty QC.choose (1,10) /\ \expon (QC.Positive x) xs -> let xt = x:xs in equalTrunc 15 (PS.pow (const x) (1 % expon) (PST.coeffs (PST.fromCoeffs xt ^ expon)) ++ repeat zero) (xt ++ repeat zero)C a => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.PowerSeries2C a => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.PowerSumC a => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.Wrapper.NumericPreludeC a => C (T a)Defined in numeric-prelude-0.4.4 · Number.ComplexC a => C (T a)Defined in numeric-prelude-0.4.4 · Number.PartiallyTranscendentalC a => C (T a)Defined in numeric-prelude-0.4.4 · Number.Quaternion(Eq a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.ResidueClass.Check(Eq a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.ResidueClass.Maybe(Ord a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan(C a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.RootSet(C a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · MathObj.PartialFraction(C a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegativeChunkyC v => C (T a v)Defined in numeric-prelude-0.4.4 · Number.OccasionallyScalarExpressionC v => C (T a v)Defined in numeric-prelude-0.4.4 · Number.SI(Ord a, C a, C b) => C (T a b)Defined in numeric-prelude-0.4.4 · MathObj.Algebra(Ord i, C a) => C (T i a)Defined in numeric-prelude-0.4.4 · Number.Physical(IsScalar u, C a) => C (T u a)Defined in numeric-prelude-0.4.4 · Number.DimensionTerm