nuha-0.3.0.0: Multidimensional arrays, Linear algebra, Numerical analysis
Copyright(c) Johannes Kropp
LicenseBSD 3-Clause
MaintainerJohannes Kropp <jodak932@gmail.com>
Safe HaskellNone
LanguageHaskell2010

Math.Nuha.Numeric

Description

 
Synopsis

Constructions

diag :: (Unbox a, Num a) => [a] -> Holor a Source #

diagonalizes a list of values as a square matrix

zeros :: (Unbox a, Num a) => [Int] -> Holor a Source #

holor with all entries zero

ones :: (Unbox a, Num a) => [Int] -> Holor a Source #

holor with all entries one

eye :: (Unbox a, Num a) => Int -> Holor a Source #

identity matrix

linSpace :: (Unbox a, Fractional a, Enum a) => a -> a -> Int -> Holor a Source #

creates a column vector with points in linear sequence

>>> linSpace 1 3 5
  1.0
  1.5
  2.0
  2.5
  3.0

Operators

(|+) :: (Unbox a, Num a) => Holor a -> a -> Holor a infixl 6 Source #

Add a scalar from the right to each element of a holor

(+|) :: (Unbox a, Num a) => a -> Holor a -> Holor a infixl 6 Source #

Add a scalar from the left to each element of a holor

(|-) :: (Unbox a, Num a) => Holor a -> a -> Holor a infixl 6 Source #

Subtract a scalar from the right to each element of a holor

(-|) :: (Unbox a, Num a) => a -> Holor a -> Holor a infixl 6 Source #

A single scalar is subtracted by each element of a holor

(|*) :: (Unbox a, Num a) => Holor a -> a -> Holor a infixr 7 Source #

Holor multiplied by a scalar from right

(*|) :: (Unbox a, Num a) => a -> Holor a -> Holor a infixl 7 Source #

Holor multiplied by a scalar from left

(|/) :: (Unbox a, Fractional a) => Holor a -> a -> Holor a infixr 7 Source #

Holor divided by a scalar

(/|) :: (Unbox a, Fractional a) => a -> Holor a -> Holor a infixr 7 Source #

A single scalar is divided by each element of a holor

(|+|) :: (Unbox a, Num a) => Holor a -> Holor a -> Holor a infixl 6 Source #

elementwise holor addition

(|-|) :: (Unbox a, Num a) => Holor a -> Holor a -> Holor a infixl 6 Source #

elementwise holor subtraction

(|*|) :: (Unbox a, Num a) => Holor a -> Holor a -> Holor a infixl 7 Source #

elementwise holor multiplication

(|.|) :: (Unbox a, Num a) => Holor a -> Holor a -> Holor a infixl 7 Source #

Holor multiplication, last dimension of left holor has to match first dimension of right holor

(|**) :: (Unbox a, Floating a) => Holor a -> a -> Holor a infixr 8 Source #

Holor to a power elementwise

(|^) :: (Unbox a, Num a) => Holor a -> Int -> Holor a infixr 8 Source #

Holor multiplied with itself elementwise n-times

Operations

negate :: (Unbox a, Num a) => Holor a -> Holor a Source #

additive inverse of a holor

abs :: (Unbox a, Num a) => Holor a -> Holor a Source #

absolute values ​​by holor elements

signum :: (Unbox a, Num a) => Holor a -> Holor a Source #

signum by holor elements

maximum :: (Unbox a, Ord a) => Holor a -> a Source #

maximum of all holor elements

minimum :: (Unbox a, Ord a) => Holor a -> a Source #

minimum of all holor elements

sum :: (Unbox a, Num a) => Holor a -> a Source #

sum all element of a holor

trace :: (Unbox a, Num a) => Holor a -> a Source #

trace of a matrix

norm :: (Unbox a, Real a, Unbox b, Floating b) => a -> Holor a -> b Source #

p-norm of a holor

norm1 :: (Unbox a, Num a) => Holor a -> a Source #

manhattan norm of a holor (p = 1)

norm2 :: (Unbox a, Real a, Unbox b, Floating b) => Holor a -> b Source #

frobenius norm of a holor. If the holor has vector form it's equal to the euclidian norm

normM :: (Unbox a, Num a, Ord a) => Holor a -> a Source #

maximum norm of a holor (p = inf)

normalize :: (Unbox a, Real a, Floating a) => a -> Holor a -> Holor a Source #

normalize a holor to unit-length in p-norm

normalize1 :: (Unbox a, Fractional a) => Holor a -> Holor a Source #

normalize a holor to unit-length in 1-norm

normalize2 :: (Unbox a, Real a, Floating a) => Holor a -> Holor a Source #

normalize a holor to unit-length in 2-norm

normalizeM :: (Unbox a, Fractional a, Ord a) => Holor a -> Holor a Source #

normalize a holor to unit-length in maximum-norm

dot :: (Unbox a, Num a) => Holor a -> Holor a -> a Source #

dot product for holors with shape n,1 or 1,n

cross :: (Unbox a, Num a) => Holor a -> Holor a -> Holor a Source #

cross product for holors with shape 3,1 or 1,3

adjugate22 :: (Unbox a, Num a) => Holor a -> Holor a Source #

adjugate of 2x2 matrix

adjugate33 :: (Unbox a, Num a) => Holor a -> Holor a Source #

adjugate of 3x3 matrix

adjugate44 :: (Unbox a, Num a) => Holor a -> Holor a Source #

adjugate of 4x4 matrix

det22 :: (Unbox a, Num a) => Holor a -> a Source #

determinant of 2x2 matrix

det33 :: (Unbox a, Num a) => Holor a -> a Source #

determinant of 3x3 matrix

det44 :: (Unbox a, Num a) => Holor a -> a Source #

determinant of 4x4 matrix

inv22 :: (Unbox a, Fractional a) => Holor a -> Holor a Source #

inverse of 2x2 matrix

inv33 :: (Unbox a, Fractional a) => Holor a -> Holor a Source #

inverse of 3x3 matrix

inv44 :: (Unbox a, Fractional a) => Holor a -> Holor a Source #

inverse of 4x4 matrix

selectNonzero :: (Unbox a, Num a, Eq a) => Holor a -> [[Int]] Source #

select all indices of a holor with nonzero elements

countNonzero :: (Unbox a, Num a, Eq a) => Holor a -> Int Source #

number of nonzero elements