| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Noether.Algebra.Vector.Boxed
- 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.
Instances
| 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 #