algebra-simple
Safe HaskellNone
LanguageHaskell2010

Numeric.Algebra.Space.VectorSpace

Description

Provides the VectorSpace typeclass.

Since: 0.1

Synopsis

Documentation

class (Field k, Module v k, SemivectorSpace v k) => VectorSpace v k | v -> k Source #

Defines a VectorSpace over a Field.

Examples:

Expand
  • \( \mathbb{Q} \times \mathbb{Q} \), the two-dimensional rationals.
>>> :{
  -- Addition
  f1 :: (VectorSpace v k) => v -> v
  f1 v = v .+. v
:}
>>> f1 (8,4)
(16,8)
>>> :{
  -- Zero
  f2 :: (VectorSpace v k) => v -> v
  f2 v = v .+. zero
:}
>>> f2 (8,4)
(8,4)
>>> :{
  -- Subtraction
  f3 :: (VectorSpace v k) => v -> v
  f3 v = v .-. v
:}
>>> f3 (8,4)
(0,0)
>>> :{
  -- Scalar multiplication
  f4 :: (VectorSpace v k, Num k) => v -> v
  f4 v = v .* 6
:}
>>> f4 (8,4)
(48,24)
>>> :{
  -- Scalar division
  f5 :: (VectorSpace v k, Num k) => v -> v
  f5 v = v .% 2
:}
>>> f5 (8,4)
(4,2)

Since: 0.1

Instances

Instances details
Field k => VectorSpace (k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.VectorSpace

Field k => VectorSpace (k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.VectorSpace

Field k => VectorSpace (k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.VectorSpace

Field k => VectorSpace (k, k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.VectorSpace

Field k => VectorSpace (k, k, k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.VectorSpace

Field k => VectorSpace (k, k, k, k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.VectorSpace

Field k => VectorSpace (k, k, k, k, k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.VectorSpace

Field k => VectorSpace (k, k, k, k, k, k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.VectorSpace