api / koma.matrix / MatrixFactory
MatrixFactory
interface MatrixFactory<out T :Matrix<*>>
A set of constructors that must be implemented by a koma backend. Generates various types of matrices. Generic parameter is the type of element, i.e. T=Matrix or T=Matrix, etc.
Functions
| Name | Summary |
|---|---|
| arange | abstract fun arange(start:Double, stop:Double, increment:Double):Tabstract fun arange(start:Int, stop:Int, increment:Int):TCreates a row-vector with the first value of start and the last value of stop, with increment steps between each value. abstract fun arange(start:Double, stop:Double):Tabstract fun arange(start:Int, stop:Int):TCreates a row-vector with the first value of start and the last value of stop, with unit steps between each value. |
| create | abstract fun create(data:IntRange):TCreates a row-vector with initial values pulled from an int range, e.g. 1..45 abstract fun create(data:DoubleArray):TCreates a row-vector with initial values pulled from a double array abstract fun create(data:Array<DoubleArray>):TCreates a matrix from an array of arrays (row-major) |
| eye | abstract fun eye(size:Int):TCreates an identity matrix of the requested shape abstract fun eye(rows:Int, cols:Int):TCreates an identity matrix of the requested shape, with zero padding if the axis lengths arent equal. |
| ones | abstract fun ones(rows:Int, cols:Int):TCreates a one initialized matrix of the requested shape |
| rand | abstract fun rand(rows:Int, cols:Int):TCreates a matrix of uniform 0-1 random samples |
| randn | abstract fun randn(rows:Int, cols:Int):TCreates a matrix of unit-normal random samples |
| zeros | abstract fun zeros(rows:Int, cols:Int):TGenerate a zero initialized matrix of the requested shape. |
Inheritors
| Name | Summary |
|---|---|
| DefaultDoubleMatrixFactory | class DefaultDoubleMatrixFactory :MatrixFactory<Matrix<Double>> |
| DefaultFloatMatrixFactory | class DefaultFloatMatrixFactory :MatrixFactory<Matrix<Float>> |
| DefaultIntMatrixFactory | class DefaultIntMatrixFactory :MatrixFactory<Matrix<Int>> |
| DoubleFactoryBase | abstract class DoubleFactoryBase<T :Matrix<Double>> :MatrixFactory<T>Some functionality to help more easily implement double based koma backends. Feel free to not use if your backend has fast implementations of these functions. |