-- 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