-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Haskell Numeric Library with pure functionality, R & MATLAB Syntax.
--
-- Please see the README on GitHub at
-- https://github.com/Axect/HNumeric#readme
@package HNumeric
@version 0.2.1.0
module HNum.Vector
newtype Vector a
Vector :: [a] -> Vector a
vector :: [a] -> Vector a
class List m
toList :: List m => m a -> [a]
fromList :: List m => [a] -> m a
-- | Definition of Matrix
data Matrix a
Matrix :: Vector a -> Int -> Int -> Bool -> Matrix a
[val] :: Matrix a -> Vector a
[row] :: Matrix a -> Int
[col] :: Matrix a -> Int
[byRow] :: Matrix a -> Bool
-- | matrix is syntactic sugar to create Matrix
matrix :: [[a]] -> Matrix a
-- | Matrices is necessary class for Matrix
class Matrices m
matForm :: Matrices m => m a -> [[a]]
formMat :: Matrices m => [[a]] -> m a
-- | (.ops) is an operation Vector(or Matrix) with Constant. Dot
-- means position of Vector. Example: a .* 2 = twice whole elements of a
-- a .*. b = Dot product
class Functor f => VecOps f
(.+) :: (VecOps f, Num a) => f a -> a -> f a
(.-) :: (VecOps f, Num a) => f a -> a -> f a
(.*) :: (VecOps f, Num a) => f a -> a -> f a
(./) :: (VecOps f, Fractional a) => f a -> a -> f a
(.^) :: (VecOps f, Floating a) => f a -> a -> f a
(.*.) :: (VecOps f, Num a) => f a -> f a -> a
norm :: (VecOps f, Floating a) => f a -> a
class Functor f => MatOps f
(%*%) :: (MatOps f, Num a) => f a -> f a -> f a
(%/%) :: (MatOps f, Fractional a) => f a -> f a -> f a
det :: (MatOps f, Fractional a) => f a -> a
inv :: (MatOps f, Fractional a) => f a -> f a
transpose :: MatOps f => f a -> f a
-- | Block Partitioning
bp :: Int -> Matrix a -> Matrix a
class Functor f => Concatable f
hcat :: Concatable f => f a -> f a -> f a
vcat :: Concatable f => f a -> f a -> Matrix a
-- | (.:) inserts vector to head of matrix.
(.:) :: Vector a -> Matrix a -> Matrix a
transposeMat :: [[a]] -> [[a]]
indexMat :: [[a]] -> [[(Int, Int)]]
dropAtMat :: Int -> Int -> [[a]] -> [[a]]
postSplitAt :: () => ([a], [a]) -> [a]
dropAt :: Int -> [a] -> [a]
dropAtMat' :: Int -> [[a]] -> [[a]]
bpMat :: Int -> [[a]] -> [[a]]
(%-+-%) :: Num a => [[a]] -> [[a]] -> [[a]]
negMap :: Num a => [[a]] -> [[a]]
(%---%) :: Num a => [[a]] -> [[a]] -> [[a]]
(%-*-%) :: Num a => [[a]] -> [[a]] -> [[a]]
zerosVec :: Int -> [Int]
eyeMat :: Int -> [[Int]]
basisVec :: Int -> Int -> [Int]
permMat :: Int -> Int -> [[a]] -> [[Int]]
whichMax :: Ord a => [a] -> Int
colMat :: [[a]] -> Int -> [a]
colMaxIdx :: Ord a => [[a]] -> Int -> Int
-- | Another Block Partitioning
bpMat' :: Int -> [[a]] -> [[a]]
-- | Determinant for Double List - Order ~ 4^n
detMat :: Fractional a => [[a]] -> a
-- | Inverse for Double List - Order ~ n * 2^n
invMat :: Fractional a => [[a]] -> [[a]]
instance GHC.Classes.Eq a => GHC.Classes.Eq (HNum.Vector.Matrix a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (HNum.Vector.Vector a)
instance GHC.Show.Show a => GHC.Show.Show (HNum.Vector.Vector a)
instance HNum.Vector.Concatable HNum.Vector.Vector
instance HNum.Vector.Concatable HNum.Vector.Matrix
instance HNum.Vector.MatOps HNum.Vector.Matrix
instance HNum.Vector.VecOps HNum.Vector.Vector
instance HNum.Vector.VecOps HNum.Vector.Matrix
instance HNum.Vector.Matrices HNum.Vector.Matrix
instance GHC.Show.Show a => GHC.Show.Show (HNum.Vector.Matrix a)
instance GHC.Base.Functor HNum.Vector.Matrix
instance GHC.Base.Applicative HNum.Vector.Matrix
instance GHC.Num.Num a => GHC.Num.Num (HNum.Vector.Matrix a)
instance GHC.Real.Fractional a => GHC.Real.Fractional (HNum.Vector.Matrix a)
instance GHC.Float.Floating a => GHC.Float.Floating (HNum.Vector.Matrix a)
instance Data.Foldable.Foldable HNum.Vector.Matrix
instance HNum.Vector.List HNum.Vector.Vector
instance GHC.Base.Functor HNum.Vector.Vector
instance GHC.Base.Applicative HNum.Vector.Vector
instance GHC.Num.Num a => GHC.Num.Num (HNum.Vector.Vector a)
instance GHC.Real.Fractional a => GHC.Real.Fractional (HNum.Vector.Vector a)
instance GHC.Float.Floating a => GHC.Float.Floating (HNum.Vector.Vector a)
instance Data.Foldable.Foldable HNum.Vector.Vector
module HNum.Stats
type Coeff a = (a, a)
-- | Expectation Value
mean :: Fractional a => Vector a -> a
-- | Covariance (Single-Valued)
cov' :: Floating a => Vector a -> Vector a -> a
-- | Variance
var :: Floating a => Vector a -> a
-- | Standard Deviation
std :: Floating a => Vector a -> a
-- | Covariance Matrix
cov :: Floating a => Vector a -> Vector a -> Matrix a
-- | Least Square Method - (Intercept, Slope)
lm :: Floating a => Vector a -> Vector a -> Coeff a
-- | Line Fitting with (Intercept, Slope) & Range of x
lineFit :: Floating a => Coeff a -> Vector a -> Vector a
-- | Residual Sum of Squares
rss :: Floating a => Vector a -> Vector a -> a
-- | Relative Standard Error
rse :: Floating a => Vector a -> Vector a -> a