massiv-0.3.0.0: Massiv (Массив) is an Array Library.

Copyright(c) Alexey Kuleshevich 2018-2019
LicenseBSD3
MaintainerAlexey Kuleshevich <lehins@yandex.ru>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Massiv.Array.Numeric

Contents

Description

 
Synopsis

Num

(.+) :: (Source r1 ix e, Source r2 ix e, Num e) => Array r1 ix e -> Array r2 ix e -> Array D ix e infixl 6 Source #

(.-) :: (Source r1 ix e, Source r2 ix e, Num e) => Array r1 ix e -> Array r2 ix e -> Array D ix e infixl 6 Source #

(.*) :: (Source r1 ix e, Source r2 ix e, Num e) => Array r1 ix e -> Array r2 ix e -> Array D ix e infixl 7 Source #

(.^) :: (Source r ix e, Num e, Integral b) => Array r ix e -> b -> Array D ix e infixr 8 Source #

(|*|) :: (Mutable r Ix2 e, Source r' Ix2 e, OuterSlice r Ix2 e, Source (EltRepr r Ix2) Ix1 e, Num e) => Array r Ix2 e -> Array r' Ix2 e -> Array r Ix2 e Source #

Perform matrix multiplication. Inner dimensions must agree, otherwise SizeMismatchException.

multiplyTransposed :: (Manifest r Ix2 e, OuterSlice r Ix2 e, Source (EltRepr r Ix2) Ix1 e, Num e) => Array r Ix2 e -> Array r Ix2 e -> Array D Ix2 e Source #

It is quite often that second matrix gets transposed before multiplication (eg. A * A'), but due to layout of data in memory it is more efficient to transpose the second array again.

negateA :: (Source r ix e, Num e) => Array r ix e -> Array D ix e Source #

absA :: (Source r ix e, Num e) => Array r ix e -> Array D ix e Source #

signumA :: (Source r ix e, Num e) => Array r ix e -> Array D ix e Source #

fromIntegerA :: (Index ix, Num e) => Integer -> Array D ix e Source #

Integral

quotA :: (Source r1 ix e, Source r2 ix e, Integral e) => Array r1 ix e -> Array r2 ix e -> Array D ix e infixl 7 Source #

remA :: (Source r1 ix e, Source r2 ix e, Integral e) => Array r1 ix e -> Array r2 ix e -> Array D ix e infixl 7 Source #

divA :: (Source r1 ix e, Source r2 ix e, Integral e) => Array r1 ix e -> Array r2 ix e -> Array D ix e infixl 7 Source #

modA :: (Source r1 ix e, Source r2 ix e, Integral e) => Array r1 ix e -> Array r2 ix e -> Array D ix e infixl 7 Source #

quotRemA :: (Source r1 ix e, Source r2 ix e, Integral e) => Array r1 ix e -> Array r2 ix e -> (Array D ix e, Array D ix e) Source #

divModA :: (Source r1 ix e, Source r2 ix e, Integral e) => Array r1 ix e -> Array r2 ix e -> (Array D ix e, Array D ix e) Source #

Fractional

(./) :: (Source r1 ix e, Source r2 ix e, Fractional e) => Array r1 ix e -> Array r2 ix e -> Array D ix e infixl 7 Source #

(.^^) :: (Source r ix e, Fractional e, Integral b) => Array r ix e -> b -> Array D ix e infixr 8 Source #

recipA :: (Source r ix e, Fractional e) => Array r ix e -> Array D ix e Source #

Floating

piA :: (Index ix, Floating e) => Array D ix e Source #

expA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

logA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

sqrtA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

(.**) :: (Source r1 ix e, Source r2 ix e, Floating e) => Array r1 ix e -> Array r2 ix e -> Array D ix e Source #

logBaseA :: (Source r1 ix e, Source r2 ix e, Floating e) => Array r1 ix e -> Array r2 ix e -> Array D ix e Source #

sinA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

cosA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

tanA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

asinA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

acosA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

atanA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

sinhA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

coshA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

tanhA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

asinhA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

acoshA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

atanhA :: (Source r ix e, Floating e) => Array r ix e -> Array D ix e Source #

RealFrac

truncateA :: (Source r ix a, RealFrac a, Integral b) => Array r ix a -> Array D ix b Source #

roundA :: (Source r ix a, RealFrac a, Integral b) => Array r ix a -> Array D ix b Source #

ceilingA :: (Source r ix a, RealFrac a, Integral b) => Array r ix a -> Array D ix b Source #

floorA :: (Source r ix a, RealFrac a, Integral b) => Array r ix a -> Array D ix b Source #

RealFloat

atan2A :: (Source r ix e, RealFloat e) => Array r ix e -> Array r ix e -> Array D ix e Source #