noether-0.0.1: Math in Haskell.

Safe HaskellNone
LanguageHaskell2010

Noether.Algebra.Single.Cancellative

Documentation

class CancellativeK op a s where Source #

Minimal complete definition

cancelK

Methods

cancelK :: Proxy op -> Proxy s -> a -> a Source #

Instances

Num a => CancellativeK BinaryNumeric Add a CancellativeNum Source # 
Fractional a => CancellativeK BinaryNumeric Mul a CancellativeFractional Source # 
(KnownSymbol sym, CancellativeK k op a s) => CancellativeK k op a (CancellativeNamed sym s) Source # 
CancellativeK k op a s => CancellativeK k op (i -> a) (CancellativeTagged FunctionLift s) Source # 
(Unbox v, KnownNat n, CancellativeK k op v s) => CancellativeK k op (UVector n v) (CancellativeTagged UVectorLift s) Source #

Pointwise negation and inversion.

Note that v^n has (a lot of) nontrivial zerodivisors even if v does not. The zerodivisors are all elements with a zero(divisor) in some coordinate, e.g. (1,0) and (0,1) are zerodivisors in R^2.

(This corresponds to the idea that the Spec of a product ring is disconnected!)

CancellativeK k1 op v s => CancellativeK k1 op (BVector k n v) (CancellativeTagged BVectorLift s) Source #

Pointwise negation and inversion.

Note that v^n has (a lot of) nontrivial zerodivisors even if v does not. The zerodivisors are all elements with a zero(divisor) in some coordinate, e.g. (1,0) and (0,1) are zerodivisors in R^2.

(This corresponds to the idea that the Spec of a product ring is disconnected!)

type family CancellativeS (op :: k) (a :: Type) = (r :: CancellativeE) Source #

Instances

type CancellativeS BinaryNumeric Add Double Source # 
type CancellativeS BinaryNumeric Add Float Source # 
type CancellativeS BinaryNumeric Add Int Source # 
type CancellativeS BinaryNumeric Add Integer Source # 
type CancellativeS BinaryNumeric Add Rational Source # 
type CancellativeS BinaryNumeric Add Rational Source # 
type CancellativeS BinaryNumeric Mul Double Source # 
type CancellativeS BinaryNumeric Mul Float Source # 
type CancellativeS BinaryNumeric Mul Rational Source # 
type CancellativeS BinaryNumeric Mul Rational Source # 
type CancellativeS BinaryNumeric Add (Ratio Int8) Source # 
type CancellativeS BinaryNumeric Add (Ratio Int8) Source # 
type CancellativeS BinaryNumeric Add (Ratio Int16) Source # 
type CancellativeS BinaryNumeric Add (Ratio Int32) Source # 
type CancellativeS BinaryNumeric Add (Ratio Int64) Source # 
type CancellativeS BinaryNumeric Add (Complex a) Source # 
type CancellativeS BinaryNumeric Mul (Ratio Int8) Source # 
type CancellativeS BinaryNumeric Mul (Ratio Int8) Source # 
type CancellativeS BinaryNumeric Mul (Ratio Int16) Source # 
type CancellativeS BinaryNumeric Mul (Ratio Int32) Source # 
type CancellativeS BinaryNumeric Mul (Ratio Int64) Source # 
type CancellativeS BinaryNumeric Mul (Complex a) Source # 
type CancellativeS BinaryNumeric Add (UVector n a) Source # 
type CancellativeS BinaryNumeric Add (BVector k n a) Source #