DMatrixContext

value class DMatrixContext<T : Any, out A : Ring<T>>(context: LinearSpace<T, A>)

Basic operations on dimension-safe matrices. Operates on Matrix

Constructors

Link copied to clipboard
fun <T : Any, out A : Ring<T>> DMatrixContext(context: LinearSpace<T, A>)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
inline fun <R : Dimension, C : Dimension> Matrix<T>.coerce(): DMatrix<T, R, C>
Link copied to clipboard
infix inline fun <R1 : Dimension, C1 : Dimension, C2 : Dimension> DMatrix<T, R1, C1>.dot(other: DMatrix<T, C1, C2>): DMatrix<T, R1, C2>
infix inline fun <R : Dimension, C : Dimension> DMatrix<T, R, C>.dot(vector: DPoint<T, C>): DPoint<T, R>
Link copied to clipboard
inline operator fun <R : Dimension, C : Dimension> DMatrix<T, C, R>.minus(other: DMatrix<T, C, R>): DMatrix<T, C, R>
Link copied to clipboard
inline operator fun <R : Dimension, C : Dimension> DMatrix<T, C, R>.plus(other: DMatrix<T, C, R>): DMatrix<T, C, R>
Link copied to clipboard
inline fun <D : Dimension> point(noinline initializer: A.(Int) -> T): DPoint<T, D>
Link copied to clipboard
inline fun <R : Dimension, C : Dimension> produce(noinline initializer: A.(i: Int, j: Int) -> T): DMatrix<T, R, C>

Produce a matrix with this context and given dimensions

Link copied to clipboard
inline operator fun <R : Dimension, C : Dimension> T.times(m: DMatrix<T, R, C>): DMatrix<T, R, C>
inline operator fun <R : Dimension, C : Dimension> DMatrix<T, R, C>.times(value: T): DMatrix<T, R, C>
Link copied to clipboard
inline fun <R : Dimension, C : Dimension> DMatrix<T, C, R>.transpose(): DMatrix<T, R, C>
Link copied to clipboard
inline operator fun <R : Dimension, C : Dimension> DMatrix<T, C, R>.unaryMinus(): DMatrix<T, C, R>

Properties

Link copied to clipboard
val context: LinearSpace<T, A>

Extensions

Link copied to clipboard
inline fun <D : Dimension> DMatrixContext<Double, DoubleField>.one(): DMatrix<Double, D, D>

A square unit matrix

Link copied to clipboard
inline fun <R : Dimension, C : Dimension> DMatrixContext<Double, DoubleField>.zero(): DMatrix<Double, R, C>

Sources

Link copied to clipboard