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