blas-0.6: Bindings to the BLAS librarySource codeContentsIndex
Data.Matrix.Banded.Class
Stabilityexperimental
MaintainerPatrick Perry <patperry@stanford.edu>
Contents
The banded matrix type classes
Banded matrix shape
Bandwidth
Creating banded matrices
Reading and writing matrix elements
Special banded matrices
Row and column views
Copying Banded matrices
Low-level functions
Description
Synopsis
class (BaseMatrix a, BaseVector x) => BaseBanded a x | a -> x where
bandedViewArray :: ForeignPtr e -> Ptr e -> Int -> Int -> Int -> Int -> Int -> Bool -> a mn e
arrayFromBanded :: a mn e -> (ForeignPtr e, Ptr e, Int, Int, Int, Int, Int, Bool)
class (UnsafeIOToM m, ReadTensor a (Int, Int) m, BaseBanded a x, ReadVector x m) => ReadBanded a x m | a -> x
class (WriteTensor a (Int, Int) m, WriteVector x m, ReadBanded a x m) => WriteBanded a x m | a -> m, m -> a, a -> x
module BLAS.Tensor.Base
module BLAS.Matrix.Base
coerceBanded :: BaseBanded a x => a mn e -> a mn' e
numLower :: BaseBanded a x => a mn e -> Int
numUpper :: BaseBanded a x => a mn e -> Int
bandwidth :: BaseBanded a x => a mn e -> (Int, Int)
newBanded :: (WriteBanded a x m, Elem e) => (Int, Int) -> (Int, Int) -> [((Int, Int), e)] -> m (a mn e)
newListsBanded :: (WriteBanded a x m, Elem e) => (Int, Int) -> (Int, Int) -> [[e]] -> m (a mn e)
unsafeNewBanded :: (WriteBanded a x m, Elem e) => (Int, Int) -> (Int, Int) -> [((Int, Int), e)] -> m (a mn e)
module BLAS.Tensor.Read
module BLAS.Tensor.Write
newZeroBanded :: (WriteBanded a x m, Elem e) => (Int, Int) -> (Int, Int) -> m (a mn e)
setZeroBanded :: (WriteBanded a x m, Elem e) => a mn e -> m ()
newConstantBanded :: (WriteBanded a x m, Elem e) => (Int, Int) -> (Int, Int) -> e -> m (a mn e)
setConstantBanded :: (WriteBanded a x m, Elem e) => e -> a mn e -> m ()
diagViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> x k e
rowViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> (Int, x k e, Int)
colViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> (Int, x k e, Int)
unsafeDiagViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> x k e
unsafeRowViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> (Int, x k e, Int)
unsafeColViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> (Int, x k e, Int)
newCopyBanded :: (BLAS1 e, ReadBanded a x m, WriteBanded b y m) => a mn e -> m (b mn e)
copyBanded :: (BLAS1 e, WriteBanded b y m, ReadBanded a x m) => b mn e -> a mn e -> m ()
unsafeCopyBanded :: (BLAS1 e, WriteBanded b y m, ReadBanded a x m) => b mn e -> a mn e -> m ()
ldaOfBanded :: BaseBanded a x => a mn e -> Int
isHermBanded :: BaseBanded a x => a mn e -> Bool
withBandedPtr :: (BaseBanded a x, Storable e) => a mn e -> (Ptr e -> IO b) -> IO b
withBandedElemPtr :: (BaseBanded a x, Storable e) => a mn e -> (Int, Int) -> (Ptr e -> IO b) -> IO b
The banded matrix type classes
class (BaseMatrix a, BaseVector x) => BaseBanded a x | a -> x whereSource
Methods
bandedViewArray :: ForeignPtr e -> Ptr e -> Int -> Int -> Int -> Int -> Int -> Bool -> a mn eSource
arrayFromBanded :: a mn e -> (ForeignPtr e, Ptr e, Int, Int, Int, Int, Int, Bool)Source
show/hide Instances
class (UnsafeIOToM m, ReadTensor a (Int, Int) m, BaseBanded a x, ReadVector x m) => ReadBanded a x m | a -> xSource
show/hide Instances
class (WriteTensor a (Int, Int) m, WriteVector x m, ReadBanded a x m) => WriteBanded a x m | a -> m, m -> a, a -> xSource
show/hide Instances
Banded matrix shape
module BLAS.Tensor.Base
module BLAS.Matrix.Base
coerceBanded :: BaseBanded a x => a mn e -> a mn' eSource
Cast the shape type of the matrix.
Bandwidth
numLower :: BaseBanded a x => a mn e -> IntSource
numUpper :: BaseBanded a x => a mn e -> IntSource
bandwidth :: BaseBanded a x => a mn e -> (Int, Int)Source
Creating banded matrices
newBanded :: (WriteBanded a x m, Elem e) => (Int, Int) -> (Int, Int) -> [((Int, Int), e)] -> m (a mn e)Source
newListsBanded :: (WriteBanded a x m, Elem e) => (Int, Int) -> (Int, Int) -> [[e]] -> m (a mn e)Source
unsafeNewBanded :: (WriteBanded a x m, Elem e) => (Int, Int) -> (Int, Int) -> [((Int, Int), e)] -> m (a mn e)Source
Reading and writing matrix elements
module BLAS.Tensor.Read
module BLAS.Tensor.Write
Special banded matrices
newZeroBanded :: (WriteBanded a x m, Elem e) => (Int, Int) -> (Int, Int) -> m (a mn e)Source
Create a zero banded matrix of the specified shape and bandwidths.
setZeroBanded :: (WriteBanded a x m, Elem e) => a mn e -> m ()Source
newConstantBanded :: (WriteBanded a x m, Elem e) => (Int, Int) -> (Int, Int) -> e -> m (a mn e)Source
Create a constant banded matrix of the specified shape and bandwidths.
setConstantBanded :: (WriteBanded a x m, Elem e) => e -> a mn e -> m ()Source
Row and column views
diagViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> x k eSource
rowViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> (Int, x k e, Int)Source
colViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> (Int, x k e, Int)Source
unsafeDiagViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> x k eSource
unsafeRowViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> (Int, x k e, Int)Source
unsafeColViewBanded :: (BaseBanded a x, Storable e) => a mn e -> Int -> (Int, x k e, Int)Source
Copying Banded matrices
newCopyBanded :: (BLAS1 e, ReadBanded a x m, WriteBanded b y m) => a mn e -> m (b mn e)Source
copyBanded :: (BLAS1 e, WriteBanded b y m, ReadBanded a x m) => b mn e -> a mn e -> m ()Source
unsafeCopyBanded :: (BLAS1 e, WriteBanded b y m, ReadBanded a x m) => b mn e -> a mn e -> m ()Source
Low-level functions
ldaOfBanded :: BaseBanded a x => a mn e -> IntSource
isHermBanded :: BaseBanded a x => a mn e -> BoolSource
withBandedPtr :: (BaseBanded a x, Storable e) => a mn e -> (Ptr e -> IO b) -> IO bSource
withBandedElemPtr :: (BaseBanded a x, Storable e) => a mn e -> (Int, Int) -> (Ptr e -> IO b) -> IO bSource
Produced by Haddock version 2.3.0