BufferedLinearSpace

class BufferedLinearSpace<T, out A : Ring<T>>(bufferAlgebra: BufferAlgebra<T, A>) : LinearSpace<T, A>

Functions

Link copied to clipboard
open override fun buildMatrix(rows: Int, columns: Int, initializer: A.(i: Int, j: Int) -> T): Matrix<T>

Produces a matrix with this context and given dimensions.

Link copied to clipboard
open override fun buildVector(size: Int, initializer: A.(Int) -> T): Point<T>

Produces a point compatible with matrix space (and possibly optimized for it).

Link copied to clipboard
open fun <F : StructureFeature> computeFeature(structure: Matrix<T>, type: KClass<out F>): F?

Compute a feature of the structure in this scope. Structure features take precedence other context features.

Link copied to clipboard
open infix override fun Matrix<T>.dot(other: Matrix<T>): Matrix<T>

Computes the dot product of this matrix and another one.

open infix override fun Matrix<T>.dot(vector: Point<T>): Point<T>

Computes the dot product of this matrix and a vector.

Link copied to clipboard
open operator override fun Matrix<T>.minus(other: Matrix<T>): Matrix<T>

Matrix subtraction

open operator fun Point<T>.minus(other: Point<T>): Point<T>

Vector subtraction

Link copied to clipboard
open operator override fun Matrix<T>.plus(other: Matrix<T>): Matrix<T>

Matrix sum

open operator fun Point<T>.plus(other: Point<T>): Point<T>

Vector sum

Link copied to clipboard
open operator override fun Matrix<T>.times(value: T): Matrix<T>

Multiplies a matrix by its element.

open operator fun T.times(m: Matrix<T>): Matrix<T>

Multiplies an element by a matrix of it.

open operator fun T.times(v: Point<T>): Point<T>

Multiplies an element by a vector of it.

open operator fun Point<T>.times(value: T): Point<T>

Multiplies a vector by its element.

Link copied to clipboard
open operator override fun Matrix<T>.unaryMinus(): Matrix<T>
open operator fun Point<T>.unaryMinus(): Point<T>

Properties

Link copied to clipboard
open override val elementAlgebra: A

Sources

Link copied to clipboard