c97f81b277
# 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
19 lines
880 B
Markdown
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 |