Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype UVector n v = UVector (Vector v)
- v :: UVector 10 Double
- w :: UVector 10 Double
- f :: (MagmaK BinaryNumeric Mul a (MagmaS BinaryNumeric Mul a), MagmaK BinaryNumeric Add a (MagmaS BinaryNumeric Add a), CancellativeK BinaryNumeric Add a (CancellativeS BinaryNumeric Add a)) => a -> a
- g :: [UVector 10 Double]
Documentation
UVector n v ≅ v^n for Unbox
types v
.
(Unbox b, KnownNat n, ActsK k lr op a b s) => ActsK k lr op a (UVector n b) (ActsTagged UVectorLift s) Source # | Actions of a on b extend to actions of a on 'UVector n b'. |
(Unbox v, KnownNat n, NeutralK k op v s) => NeutralK k op (UVector n v) (NeutralTagged UVectorLift s) Source # | Neutral elements for addition and multiplication. |
(Unbox v, MagmaK k op v s) => MagmaK k op (UVector n v) (MagmaTagged UVectorLift s) Source # | Lifting addition and multiplication coordinatewise (Hadamard?) |
(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!) |
(Unbox v, Show v) => Show (UVector n v) Source # | |
type ActorLinearS BinaryNumeric BinaryNumeric BinaryNumeric lr Mul Add a Add (UVector n a) Source # | |
type CompatibleS BinaryNumeric BinaryNumeric lr Mul Mul a (UVector n b) Source # | |
type ActeeLinearS BinaryNumeric BinaryNumeric lr Mul a Add (UVector n a) Source # | |
type ActsS BinaryNumeric lr Mul a (UVector n b) Source # | |
type NeutralS BinaryNumeric op (UVector n a) Source # | |
type MagmaS BinaryNumeric op (UVector n a) Source # | |
type SemigroupS BinaryNumeric op (UVector n a) Source # | |
type MonoidS BinaryNumeric op (UVector n a) Source # | |
type CommutativeS BinaryNumeric op (UVector n a) Source # | |
type CancellativeS BinaryNumeric Add (UVector n a) Source # | |
type GroupS BinaryNumeric Add (UVector n a) Source # | |
type AbelianGroupS BinaryNumeric Add (UVector n a) Source # | |
f :: (MagmaK BinaryNumeric Mul a (MagmaS BinaryNumeric Mul a), MagmaK BinaryNumeric Add a (MagmaS BinaryNumeric Add a), CancellativeK BinaryNumeric Add a (CancellativeS BinaryNumeric Add a)) => a -> a Source #