algebra-simple
Safe HaskellNone
LanguageHaskell2010

Numeric.Algebra.Space.SemivectorSpace

Description

Provides the SemivectorSpace typeclass.

Since: 0.1

Synopsis

Documentation

class (PseudoSemivectorSpace v k, Semimodule v k, Semifield k) => SemivectorSpace v k | v -> k Source #

Defines a SemivectorSpace over a Semifield.

Examples:

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

Since: 0.1

Instances

Instances details
Semifield k => SemivectorSpace (k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k, k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k, k, k, k, k, k) k Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace