cifl-math-library-2.0.0.0: Math libraries
Safe HaskellSafe
LanguageHaskell2010

Math.Matrix.Vector4

Synopsis

Documentation

data Vector4 s Source #

Constructors

Vector4 

Fields

Instances

Instances details
MonadZip Vector4 Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

mzip :: Vector4 a -> Vector4 b -> Vector4 (a, b) #

mzipWith :: (a -> b -> c) -> Vector4 a -> Vector4 b -> Vector4 c #

munzip :: Vector4 (a, b) -> (Vector4 a, Vector4 b) #

Foldable Vector4 Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

fold :: Monoid m => Vector4 m -> m #

foldMap :: Monoid m => (a -> m) -> Vector4 a -> m #

foldMap' :: Monoid m => (a -> m) -> Vector4 a -> m #

foldr :: (a -> b -> b) -> b -> Vector4 a -> b #

foldr' :: (a -> b -> b) -> b -> Vector4 a -> b #

foldl :: (b -> a -> b) -> b -> Vector4 a -> b #

foldl' :: (b -> a -> b) -> b -> Vector4 a -> b #

foldr1 :: (a -> a -> a) -> Vector4 a -> a #

foldl1 :: (a -> a -> a) -> Vector4 a -> a #

toList :: Vector4 a -> [a] #

null :: Vector4 a -> Bool #

length :: Vector4 a -> Int #

elem :: Eq a => a -> Vector4 a -> Bool #

maximum :: Ord a => Vector4 a -> a #

minimum :: Ord a => Vector4 a -> a #

sum :: Num a => Vector4 a -> a #

product :: Num a => Vector4 a -> a #

Traversable Vector4 Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

traverse :: Applicative f => (a -> f b) -> Vector4 a -> f (Vector4 b) #

sequenceA :: Applicative f => Vector4 (f a) -> f (Vector4 a) #

mapM :: Monad m => (a -> m b) -> Vector4 a -> m (Vector4 b) #

sequence :: Monad m => Vector4 (m a) -> m (Vector4 a) #

Applicative Vector4 Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

pure :: a -> Vector4 a #

(<*>) :: Vector4 (a -> b) -> Vector4 a -> Vector4 b #

liftA2 :: (a -> b -> c) -> Vector4 a -> Vector4 b -> Vector4 c #

(*>) :: Vector4 a -> Vector4 b -> Vector4 b #

(<*) :: Vector4 a -> Vector4 b -> Vector4 a #

Functor Vector4 Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

fmap :: (a -> b) -> Vector4 a -> Vector4 b #

(<$) :: a -> Vector4 b -> Vector4 a #

Monad Vector4 Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

(>>=) :: Vector4 a -> (a -> Vector4 b) -> Vector4 b #

(>>) :: Vector4 a -> Vector4 b -> Vector4 b #

return :: a -> Vector4 a #

UpdateableMatrixDimension Vector4 Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

writeRow :: Applicative h => h a -> Vector4 ((Vector4 :*: h) a -> (Vector4 :*: h) a) Source #

writeColumn :: Applicative h => h a -> Vector4 ((h :*: Vector4) a -> (h :*: Vector4) a) Source #

DifferentialOperator Vector4 Source # 
Instance details

Defined in Math.Matrix.LinearOperations

Methods

partial :: DifferentiallyClosed a => (Vector4 a -> a) -> Vector4 a -> Vector4 a Source #

Comonad Vector4 Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

extract :: Vector4 a -> a Source #

duplicate :: Vector4 a -> Vector4 (Vector4 a) Source #

extend :: (Vector4 a -> b) -> Vector4 a -> Vector4 b Source #

(=>>) :: Vector4 a -> (Vector4 a -> b) -> Vector4 b Source #

(.>>) :: Vector4 a -> b -> Vector4 b Source #

PpShowF Vector4 Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

ppf :: PpShow a => Vector4 a -> Doc Source #

PpShowVerticalF Vector4 Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

ppfVertical :: PpShow a => Vector4 a -> Doc Source #

Unfoldable Vector4 Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

unfoldF :: forall (m :: Type -> Type) s a. Monad m => StateT s m a -> StateT s m (Vector4 a) Source #

StreamBuilder str => AppendableVector Vector4 str Source # 
Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Vector4 :+: str :: Type -> Type Source #

Methods

(||>>) :: Vector4 a -> str a -> (Vector4 :+: str) a Source #

CodiagonalMatrix Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

Associated Types

data Codiagonal Vector4 a Source #

type Vector4 \\ a Source #

Diagonalizable Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

Indexable Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

(ConjugateSymmetric a, Num a) => InnerProductSpaceFunctor Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

innerProductF :: Vector4 a -> Vector4 a -> a Source #

Fractional a => Invertible Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

Num a => Traceable Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

HasIdentityLinear Vector4 LinearMap Source # 
Instance details

Defined in Math.Matrix.Linear

(ConjugateSymmetric a, Fractional a, Ord a) => LinearInvertible LinearMap Vector4 a Source # 
Instance details

Defined in Math.Matrix.Linear

(ConjugateSymmetric a, Num a, Ord a) => LinearTraceable LinearMap Vector4 a Source # 
Instance details

Defined in Math.Matrix.Linear

(Ord a, Num a, ConjugateSymmetric a) => LinearTransform Vector1 Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

(Num a, ConjugateSymmetric a) => LinearTransform Vector2 Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

(Num a, ConjugateSymmetric a) => LinearTransform Vector3 Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

(Num a, ConjugateSymmetric a) => LinearTransform Vector4 Vector1 a Source # 
Instance details

Defined in Math.Matrix.Vector4

(Num a, ConjugateSymmetric a) => LinearTransform Vector4 Vector2 a Source # 
Instance details

Defined in Math.Matrix.Vector4

(Num a, ConjugateSymmetric a) => LinearTransform Vector4 Vector3 a Source # 
Instance details

Defined in Math.Matrix.Vector4

LinearTransform Vector4 Vector4 Float Source # 
Instance details

Defined in Math.Matrix.SIMD

(Num a, ConjugateSymmetric a) => LinearTransform Vector4 Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

(Num a, ConjugateSymmetric a) => ProjectionDual Vector4 Dual a Source # 
Instance details

Defined in Math.Matrix.LinearOperations

Transposable Vector1 Vector4 a Source #

1 x 4 matrices:

Instance details

Defined in Math.Matrix.Vector4

Transposable Vector2 Vector4 a Source #

2 x 4 matrices:

Instance details

Defined in Math.Matrix.Vector4

Transposable Vector3 Vector4 a Source #

3 x 4 matrices

Instance details

Defined in Math.Matrix.Vector4

Transposable Vector4 Vector1 a Source #

4 x 1 matrices:

Instance details

Defined in Math.Matrix.Vector4

Transposable Vector4 Vector2 a Source #

4 x 2 matrices

Instance details

Defined in Math.Matrix.Vector4

Transposable Vector4 Vector3 a Source #

4 x 3 matrices:

Instance details

Defined in Math.Matrix.Vector4

Transposable Vector4 Vector4 a Source #

4 x 4 matrices

Instance details

Defined in Math.Matrix.Vector4

Transposable Stream Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

(Scalar a ~ a, Num a, ConjugateSymmetric a) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Dual Vector4 (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

(Num a, ConjugateSymmetric a) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Vector1 Vector4 (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

(Num a, ConjugateSymmetric a) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Vector2 Vector4 (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

(Num a, ConjugateSymmetric a) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Vector3 Vector4 (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

(Num a, ConjugateSymmetric a) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Vector4 Vector1 (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

(Num a, ConjugateSymmetric a) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Vector4 Vector2 (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

(Num a, ConjugateSymmetric a) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Vector4 Vector3 (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

(Num a, ConjugateSymmetric a) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Vector4 Vector4 (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

(Num a, ConjugateSymmetric a, InnerProductSpaceFunctor Stream a) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Vector4 Stream (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

(Num a, ConjugateSymmetric a, InnerProductSpaceFunctor Stream a) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Stream Vector4 (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

(Num a, ConjugateSymmetric a) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Vector4 Dual (f a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

Methods

fromLinear :: LinearMap (Vector4 (f a)) (Dual (f a)) -> (Vector4 :*: Dual) (f a) Source #

linear :: (Vector4 :*: Dual) (f a) -> LinearMap (Vector4 (f a)) (Dual (f a)) Source #

(InnerProductSpaceFunctor ((->) col) a, ConjugateSymmetric a, Universe col) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) Vector4 ((->) col :: Type -> Type) (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

Methods

fromLinear :: LinearMap (Vector4 a) (col -> a) -> (Vector4 :*: (->) col) a Source #

linear :: (Vector4 :*: (->) col) a -> LinearMap (Vector4 a) (col -> a) Source #

(InnerProductSpaceFunctor ((->) row) a, ConjugateSymmetric a, Universe row) => Linearizable LinearMap ((:*:) :: (Type -> Type) -> (Type -> Type) -> Type -> Type) ((->) row :: Type -> Type) Vector4 (a :: Type) Source # 
Instance details

Defined in Math.Matrix.Linear

Methods

fromLinear :: LinearMap (row -> a) (Vector4 a) -> ((->) row :*: Vector4) a Source #

linear :: ((->) row :*: Vector4) a -> LinearMap (row -> a) (Vector4 a) Source #

Limiting Stream a => Limiting Stream (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Associated Types

data Closure Stream (Vector4 a) Source #

Lift a => Lift (Vector4 a :: Type) Source # 
Instance details

Defined in Math.Matrix.QuasiQuoter

Methods

lift :: Quote m => Vector4 a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Vector4 a -> Code m (Vector4 a) #

(Closed a, Ord a, ConjugateSymmetric a, LinearTransform Vector4 Vector1 a) => VectorLaplacian (Vector4 a :: Type) LinearMap Source # 
Instance details

Defined in Math.Matrix.LinearOperations

(Universe col, Num a) => LinearTransform Vector4 ((->) col) a Source # 
Instance details

Defined in Math.Matrix.Simple

Methods

(<*>>) :: (col -> a) -> (Vector4 :*: (->) col) a -> Vector4 a Source #

(<<*>) :: (Vector4 :*: (->) col) a -> Vector4 a -> col -> a Source #

Transposable Vector4 ((->) row) a Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

transposeImpl :: (Vector4 :*: (->) row) a -> ((->) row :*: Vector4) a Source #

Data a => Data (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Vector4 a -> c (Vector4 a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Vector4 a) #

toConstr :: Vector4 a -> Constr #

dataTypeOf :: Vector4 a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Vector4 a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Vector4 a)) #

gmapT :: (forall b. Data b => b -> b) -> Vector4 a -> Vector4 a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Vector4 a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Vector4 a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Vector4 a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Vector4 a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Vector4 a -> m (Vector4 a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Vector4 a -> m (Vector4 a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Vector4 a -> m (Vector4 a) #

Applicative (Codiagonal Vector4) Source # 
Instance details

Defined in Math.Matrix.Vector4

Functor (Codiagonal Vector4) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

fmap :: (a -> b) -> Codiagonal Vector4 a -> Codiagonal Vector4 b #

(<$) :: a -> Codiagonal Vector4 b -> Codiagonal Vector4 a #

Num s => Monoid (Vector4 s) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

mempty :: Vector4 s #

mappend :: Vector4 s -> Vector4 s -> Vector4 s #

mconcat :: [Vector4 s] -> Vector4 s #

Num s => Semigroup (Vector4 s) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

(<>) :: Vector4 s -> Vector4 s -> Vector4 s #

sconcat :: NonEmpty (Vector4 s) -> Vector4 s #

stimes :: Integral b => b -> Vector4 s -> Vector4 s #

Generic a => Generic (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Rep (Vector4 a) :: Type -> Type #

Methods

from :: Vector4 a -> Rep (Vector4 a) x #

to :: Rep (Vector4 a) x -> Vector4 a #

Num a => Num (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

(+) :: Vector4 a -> Vector4 a -> Vector4 a #

(-) :: Vector4 a -> Vector4 a -> Vector4 a #

(*) :: Vector4 a -> Vector4 a -> Vector4 a #

negate :: Vector4 a -> Vector4 a #

abs :: Vector4 a -> Vector4 a #

signum :: Vector4 a -> Vector4 a #

fromInteger :: Integer -> Vector4 a #

Read a => Read (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Show a => Show (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

showsPrec :: Int -> Vector4 a -> ShowS #

show :: Vector4 a -> String #

showList :: [Vector4 a] -> ShowS #

Binary s => Binary (Vector4 s) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

put :: Vector4 s -> Put #

get :: Get (Vector4 s) #

putList :: [Vector4 s] -> Put #

ConjugateSymmetric a => ConjugateSymmetric (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

conj :: Vector4 a -> Vector4 a Source #

Num a => CoordinateSpace (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Coordinate (Vector4 a) Source #

InnerProductSpace (Vector4 Float) Source # 
Instance details

Defined in Math.Matrix.SIMD

(Num a, ConjugateSymmetric a) => InnerProductSpace (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

(MetricSpace a, Floating (Distance a)) => MetricSpace (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Distance (Vector4 a) Source #

Methods

distance :: Vector4 a -> Vector4 a -> Distance (Vector4 a) Source #

(Ord a, Floating a, ConjugateSymmetric a) => NormedSpace (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Num a => StandardBasis (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

unitVectors :: [Vector4 a] Source #

Num a => VectorSpace (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Scalar (Vector4 a) Source #

Optimal (Vector4 Int32) Source # 
Instance details

Defined in Math.Matrix.SIMD

Associated Types

type Optimized (Vector4 Int32) Source #

Optimal (Vector4 Float) Source # 
Instance details

Defined in Math.Matrix.SIMD

Associated Types

type Optimized (Vector4 Float) Source #

ShowPrecision s => ShowPrecision (Vector4 s) Source # 
Instance details

Defined in Math.Matrix.Vector4

MedianAlgebra s => MedianAlgebra (Vector4 s) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

med :: Vector4 s -> Vector4 s -> Vector4 s -> Vector4 s Source #

PpShow a => PpShow (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

pp :: Vector4 a -> Doc Source #

Universe a => Universe (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

allElements :: [Vector4 a] Source #

IdVisitor (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

idFold :: Fold (Vector4 a) (Vector4 a) Source #

Visitor (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Associated Types

data Fold (Vector4 a) :: Type -> Type Source #

Methods

visit :: Fold (Vector4 a) a0 -> Vector4 a -> a0 Source #

Eq a => Eq (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

(==) :: Vector4 a -> Vector4 a -> Bool #

(/=) :: Vector4 a -> Vector4 a -> Bool #

Ord a => Ord (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

compare :: Vector4 a -> Vector4 a -> Ordering #

(<) :: Vector4 a -> Vector4 a -> Bool #

(<=) :: Vector4 a -> Vector4 a -> Bool #

(>) :: Vector4 a -> Vector4 a -> Bool #

(>=) :: Vector4 a -> Vector4 a -> Bool #

max :: Vector4 a -> Vector4 a -> Vector4 a #

min :: Vector4 a -> Vector4 a -> Vector4 a #

(ConjugateSymmetric a, Num a) => Dualizable (Vector4 a) Dual Source # 
Instance details

Defined in Math.Matrix.Linear

Methods

covector :: (Vector4 a -> Scalar (Vector4 a)) -> Dual (Vector4 a) Source #

bracket :: Dual (Vector4 a) -> Vector4 a -> Scalar (Vector4 a) Source #

(Num a, Closed a, ConjugateSymmetric a, LinearTransform Vector4 Vector1 a) => VectorDerivative (Vector4 a) Dual LinearMap Source # 
Instance details

Defined in Math.Matrix.LinearOperations

Num a => DecomposableVectorSpace (Vector4 a) ((->) FourD) Source # 
Instance details

Defined in Math.Matrix.Simple

Methods

decompose :: (Scalar (Vector4 a) -> res) -> Vector4 a -> FourD -> res Source #

project :: Vector4 a -> FourD -> Scalar (Vector4 a) Source #

Show a => Show (Codiagonal Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Optimal (Vector4 Int16, Vector4 Int16) Source # 
Instance details

Defined in Math.Matrix.SIMD

Associated Types

type Optimized (Vector4 Int16, Vector4 Int16) Source #

(Universe row, Num a) => LinearTransform ((->) row) Vector4 a Source # 
Instance details

Defined in Math.Matrix.Simple

Methods

(<*>>) :: Vector4 a -> ((->) row :*: Vector4) a -> row -> a Source #

(<<*>) :: ((->) row :*: Vector4) a -> (row -> a) -> Vector4 a Source #

Transposable ((->) row) Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

transposeImpl :: ((->) row :*: Vector4) a -> (Vector4 :*: (->) row) a Source #

SupportsMatrixMultiplication Vector4 Vector4 Vector4 a => Monoid ((Vector4 :*: Vector4) a) Source #

see "Lawvere,Rosebrugh: Sets for mathematics", pg. 167.

Instance details

Defined in Math.Matrix.Vector4

SupportsMatrixMultiplication Vector4 Vector4 Vector4 a => Semigroup ((Vector4 :*: Vector4) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

SupportsMatrixMultiplication Vector4 Vector4 Vector4 a => Num ((Vector4 :*: Vector4) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Show (f a) => Show ((Vector4 :*: f) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

showsPrec :: Int -> (Vector4 :*: f) a -> ShowS #

show :: (Vector4 :*: f) a -> String #

showList :: [(Vector4 :*: f) a] -> ShowS #

ConjugateSymmetric a => ConjugateSymmetric ((Vector4 :*: Vector4) a) Source #

https://en.wikipedia.org/wiki/Conjugate_transpose

Instance details

Defined in Math.Matrix.Vector4

(Floating a, ConjugateSymmetric a) => InnerProductSpace ((Vector4 :*: Vector4) a) Source #

4 x 4 matrices

Instance details

Defined in Math.Matrix.Vector4

(Num a, ConjugateSymmetric a) => LieAlgebra ((Vector4 :*: Vector4) a) Source # 
Instance details

Defined in Math.Matrix.Matrix

(Floating a, ConjugateSymmetric a) => NormedSpace ((Vector4 :*: Vector4) a) Source #

4 x 4 matrices

Instance details

Defined in Math.Matrix.Vector4

Num a => VectorSpace ((Vector1 :*: Vector4) a) Source #

1 x 4 matrices:

Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Scalar ((Vector1 :*: Vector4) a) Source #

Num a => VectorSpace ((Vector2 :*: Vector4) a) Source #

2 x 4 matrices

Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Scalar ((Vector2 :*: Vector4) a) Source #

Num a => VectorSpace ((Vector3 :*: Vector4) a) Source #

3 x 4 matrices

Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Scalar ((Vector3 :*: Vector4) a) Source #

Num a => VectorSpace ((Vector4 :*: Vector1) a) Source #

4 x 1 matrices:

Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Scalar ((Vector4 :*: Vector1) a) Source #

Num a => VectorSpace ((Vector4 :*: Vector2) a) Source #

4 x 2 matrices

Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Scalar ((Vector4 :*: Vector2) a) Source #

Num a => VectorSpace ((Vector4 :*: Vector3) a) Source #

4 x 3 matrices:

Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Scalar ((Vector4 :*: Vector3) a) Source #

Num a => VectorSpace ((Vector4 :*: Vector4) a) Source #

4 x 4 matrices

Instance details

Defined in Math.Matrix.Vector4

Associated Types

type Scalar ((Vector4 :*: Vector4) a) Source #

Num a => VectorSpace ((Vector4 :*: (->) col) a) Source # 
Instance details

Defined in Math.Matrix.Simple

Associated Types

type Scalar ((Vector4 :*: (->) col) a) Source #

Methods

vzero :: (Vector4 :*: (->) col) a Source #

vnegate :: (Vector4 :*: (->) col) a -> (Vector4 :*: (->) col) a Source #

(%+) :: (Vector4 :*: (->) col) a -> (Vector4 :*: (->) col) a -> (Vector4 :*: (->) col) a Source #

(%*) :: Scalar ((Vector4 :*: (->) col) a) -> (Vector4 :*: (->) col) a -> (Vector4 :*: (->) col) a Source #

Num a => VectorSpace (((->) row :*: Vector4) a) Source # 
Instance details

Defined in Math.Matrix.Simple

Associated Types

type Scalar (((->) row :*: Vector4) a) Source #

Methods

vzero :: ((->) row :*: Vector4) a Source #

vnegate :: ((->) row :*: Vector4) a -> ((->) row :*: Vector4) a Source #

(%+) :: ((->) row :*: Vector4) a -> ((->) row :*: Vector4) a -> ((->) row :*: Vector4) a Source #

(%*) :: Scalar (((->) row :*: Vector4) a) -> ((->) row :*: Vector4) a -> ((->) row :*: Vector4) a Source #

Optimal ((Vector2 :*: Vector4) Int16) Source # 
Instance details

Defined in Math.Matrix.SIMD

Associated Types

type Optimized ((Vector2 :*: Vector4) Int16) Source #

Optimal ((Vector4 :*: Vector2) Int16) Source # 
Instance details

Defined in Math.Matrix.SIMD

Associated Types

type Optimized ((Vector4 :*: Vector2) Int16) Source #

Optimal ((Vector4 :*: Vector4) Int8) Source # 
Instance details

Defined in Math.Matrix.SIMD

Associated Types

type Optimized ((Vector4 :*: Vector4) Int8) Source #

(SupportsMatrixMultiplication Vector4 Vector4 Vector4 a, Fractional a) => Group ((Vector4 :*: Vector4) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

PpShow (f a) => PpShow ((Vector4 :*: f) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

Methods

pp :: (Vector4 :*: f) a -> Doc Source #

data Codiagonal Vector4 a Source # 
Instance details

Defined in Math.Matrix.Vector4

type Vector4 :+: str Source # 
Instance details

Defined in Math.Matrix.Vector4

type Vector4 :+: str = str
type Vector4 \\ a Source # 
Instance details

Defined in Math.Matrix.Vector4

type Vector4 \\ a = Vector3 a
data Closure Stream (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Rep (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Rep (Vector4 a) = D1 ('MetaData "Vector4" "Math.Matrix.Vector4" "cifl-math-library-2.0.0.0-K3Wcv1zXOBxvFThQyThI4" 'False) (C1 ('MetaCons "Vector4" 'PrefixI 'True) ((S1 ('MetaSel ('Just "tcoord4") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Just "xcoord4") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :*: (S1 ('MetaSel ('Just "ycoord4") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Just "zcoord4") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))
type Coordinate (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Distance (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Scalar (Vector4 a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Scalar (Vector4 a) = a
type Optimized (Vector4 Int32) Source # 
Instance details

Defined in Math.Matrix.SIMD

type Optimized (Vector4 Float) Source # 
Instance details

Defined in Math.Matrix.SIMD

data Fold (Vector4 a) b Source # 
Instance details

Defined in Math.Matrix.Vector4

data Fold (Vector4 a) b = Vector4Fold (a -> a -> a -> a -> b)
type Optimized (Vector4 Int16, Vector4 Int16) Source # 
Instance details

Defined in Math.Matrix.SIMD

type Scalar ((Vector1 :*: Vector4) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Scalar ((Vector1 :*: Vector4) a) = a
type Scalar ((Vector2 :*: Vector4) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Scalar ((Vector2 :*: Vector4) a) = a
type Scalar ((Vector3 :*: Vector4) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Scalar ((Vector3 :*: Vector4) a) = a
type Scalar ((Vector4 :*: Vector1) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Scalar ((Vector4 :*: Vector1) a) = a
type Scalar ((Vector4 :*: Vector2) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Scalar ((Vector4 :*: Vector2) a) = a
type Scalar ((Vector4 :*: Vector3) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Scalar ((Vector4 :*: Vector3) a) = a
type Scalar ((Vector4 :*: Vector4) a) Source # 
Instance details

Defined in Math.Matrix.Vector4

type Scalar ((Vector4 :*: Vector4) a) = a
type Scalar ((Vector4 :*: (->) col) a) Source # 
Instance details

Defined in Math.Matrix.Simple

type Scalar ((Vector4 :*: (->) col) a) = a
type Scalar (((->) row :*: Vector4) a) Source # 
Instance details

Defined in Math.Matrix.Simple

type Scalar (((->) row :*: Vector4) a) = a
type Optimized ((Vector2 :*: Vector4) Int16) Source # 
Instance details

Defined in Math.Matrix.SIMD

type Optimized ((Vector4 :*: Vector2) Int16) Source # 
Instance details

Defined in Math.Matrix.SIMD

type Optimized ((Vector4 :*: Vector4) Int8) Source # 
Instance details

Defined in Math.Matrix.SIMD

x4 :: Num a => Vector4 a Source #

y4 :: Num a => Vector4 a Source #

z4 :: Num a => Vector4 a Source #

t4 :: Num a => Vector4 a Source #

dx4 :: forall {str :: Type -> Type} {a}. (Infinitesimal str a, Num (Closure str a)) => Vector4 (Closure str a) Source #

dy4 :: forall {str :: Type -> Type} {a}. (Infinitesimal str a, Num (Closure str a)) => Vector4 (Closure str a) Source #

dz4 :: forall {str :: Type -> Type} {a}. (Infinitesimal str a, Num (Closure str a)) => Vector4 (Closure str a) Source #

dt4 :: forall {str :: Type -> Type} {a}. (Infinitesimal str a, Num (Closure str a)) => Vector4 (Closure str a) Source #

setx4 :: s -> Vector4 s -> Vector4 s Source #

sety4 :: s -> Vector4 s -> Vector4 s Source #

setz4 :: s -> Vector4 s -> Vector4 s Source #

sett4 :: s -> Vector4 s -> Vector4 s Source #

updateRow4 :: g a -> Vector4 ((Vector4 :*: g) a -> (Vector4 :*: g) a) Source #

updateColumn4 :: Applicative f => f a -> Vector4 ((f :*: Vector4) a -> (f :*: Vector4) a) Source #

vector4 :: [a] -> Vector4 a Source #

unzipV4 :: Vector4 (a, b) -> (Vector4 a, Vector4 b) Source #

rightMultiply4Gen :: (VectorSpace (f a), ConjugateSymmetric a, Scalar (f a) ~ a) => (Vector4 :*: f) a -> Vector4 a -> f a Source #

dot4 :: (Num a, ConjugateSymmetric a) => Vector4 a -> Vector4 a -> a Source #

index4 :: Int -> Vector4 a -> a Source #

dt_4 :: Num s => s -> Vector4 s -> Vector4 s Source #

dx_4 :: Num s => s -> Vector4 s -> Vector4 s Source #

dy_4 :: Num s => s -> Vector4 s -> Vector4 s Source #

dz_4 :: Num s => s -> Vector4 s -> Vector4 s Source #

trace4 :: Num a => Matrix4 a -> a Source #

cross4 :: Num a => Vector4 a -> Vector4 a -> Vector4 a -> Vector4 a Source #

Generalization of cross product to four dimensions This is computed using formal determinant representation of cross product expanded to four dimensions https://en.wikipedia.org/wiki/Cross_product This computes vector that is linearly independent of all three vectors given in four dimensional space.

coordDeterminance4 :: Num a => (forall c. Vector4 c -> c) -> (forall d. Vector4 d -> d) -> Determinance Vector4 Vector4 Vector3 Vector3 Vector3 a a a Source #

Orphan instances

AppendableVector Vector1 Vector3 Source # 
Instance details

Associated Types

type Vector1 :+: Vector3 :: Type -> Type Source #

Methods

(||>>) :: Vector1 a -> Vector3 a -> (Vector1 :+: Vector3) a Source #

AppendableVector Vector2 Vector2 Source # 
Instance details

Associated Types

type Vector2 :+: Vector2 :: Type -> Type Source #

Methods

(||>>) :: Vector2 a -> Vector2 a -> (Vector2 :+: Vector2) a Source #

AppendableVector Vector3 Vector1 Source # 
Instance details

Associated Types

type Vector3 :+: Vector1 :: Type -> Type Source #

Methods

(||>>) :: Vector3 a -> Vector1 a -> (Vector3 :+: Vector1) a Source #

SplittableVector Vector1 Vector3 Source # 
Instance details

Methods

vsplit :: (Vector1 :+: Vector3) a -> (Vector1 a, Vector3 a) Source #

SplittableVector Vector2 Vector2 Source # 
Instance details

Methods

vsplit :: (Vector2 :+: Vector2) a -> (Vector2 a, Vector2 a) Source #

SplittableVector Vector3 Vector1 Source # 
Instance details

Methods

vsplit :: (Vector3 :+: Vector1) a -> (Vector3 a, Vector1 a) Source #