----------------------------------------------------------------------------- -- | -- Module : Numeric.LinearAlgebra.Vector.ST -- Copyright : Copyright (c) , Patrick Perry -- License : BSD3 -- Maintainer : Patrick Perry -- Stability : experimental -- -- Mutable vectors in the ST monad. module Numeric.LinearAlgebra.Vector.ST ( -- * Mutable vectors STVector, IOVector, create, -- * Read-only vectors RVector(..), -- * Creating new vectors new_, new, -- * Copying vectors newCopy, copyTo, swap, -- * Reading and writing vector elements read, write, modify, getIndices, getElems, getElems', getAssocs, getAssocs', setElems, setAssocs, clear, -- * List-like operations mapTo, zipWithTo, -- * Vector linear algebra getSumAbs, getNorm2, getWhichMaxAbs, getDot, scaleM_, addWithScaleM_, kroneckerTo, -- * Vector views withSlice, withDrop, withTake, withSplitAt, withSliceM, withDropM, withTakeM, withSplitAtM, -- * Vector math operations -- ** Num addTo, subTo, mulTo, negateTo, conjugateTo, absTo, signumTo, -- ** Fractional divTo, recipTo, -- ** Floating sqrtTo, expTo, logTo, powTo, sinTo, cosTo, tanTo, asinTo, acosTo, atanTo, sinhTo, coshTo, tanhTo, asinhTo, acoshTo, atanhTo, -- * Conversions between mutable and immutable vectors freeze, -- * Unsafe operations unsafeCopyTo, unsafeSwap, unsafeRead, unsafeWrite, unsafeModify, unsafeMapTo, unsafeZipWithTo, unsafeAddWithScaleM_, unsafeGetDot, ) where import Prelude() import Numeric.LinearAlgebra.Vector.STBase