kmath/docs/linear.md
Iaroslav Postovalov c97f81b277
Merge remote-tracking branch 'origin/dev' into even-more-docs
# Conflicts:
#	build.gradle.kts
#	kmath-core/src/commonMain/kotlin/kscience/kmath/operations/Complex.kt
#	kmath-memory/src/commonMain/kotlin/kscience/kmath/memory/Memory.kt
#	kmath-memory/src/commonMain/kotlin/kscience/kmath/memory/MemorySpec.kt
#	kmath-memory/src/commonMain/kotlin/kscience/memory/Memory.kt
#	kmath-memory/src/commonMain/kotlin/kscience/memory/MemorySpec.kt
#	kmath-memory/src/commonMain/kotlin/scientifik/memory/Memory.kt
#	kmath-memory/src/commonMain/kotlin/scientifik/memory/MemorySpec.kt
#	kmath-memory/src/jsMain/kotlin/kscience/kmath/memory/DataViewMemory.kt
#	kmath-memory/src/jsMain/kotlin/kscience/memory/DataViewMemory.kt
#	kmath-memory/src/jsMain/kotlin/scientifik/memory/DataViewMemory.kt
#	kmath-memory/src/jvmMain/kotlin/kscience/kmath/memory/ByteBufferMemory.kt
#	kmath-memory/src/jvmMain/kotlin/kscience/memory/ByteBufferMemory.kt
#	kmath-memory/src/jvmMain/kotlin/scientifik/memory/ByteBufferMemory.kt
2020-09-28 03:10:24 +07:00

19 lines
880 B
Markdown

## Basic linear algebra layout
KMath support for linear algebra organized in a context-oriented way. Meaning that operations are in most cases declared
in context classes, and are not the members of classes that store data. This allows more flexible approach to maintain multiple
back-ends. The new operations added as extensions to contexts instead of being member functions of data structures.
Two major contexts used for linear algebra and hyper-geometry:
* `VectorSpace` forms a mathematical space on top of array-like structure (`Buffer` and its type alias `Point` used for geometry).
* `MatrixContext` forms a space-like context for 2d-structures. It does not store matrix size and therefore does not implement
`Space` interface (it is impossible to create zero element without knowing the matrix size).
## Vector spaces
## Matrix operations
## Back-end overview