KMath provides a way to work with uni- and multivariate polynomials and rational functions. It includes full support of arithmetic operations on integers, constants (elements of the ring that polynomials are built over), variables (for certain multivariate implementations), polynomials and rational functions encapsulated in the so-called polynomial space and rational function space and some other utilities, such as algebraic differentiation and substitution.
Note
This library is not actively maintained. At the moment, all the improvement is carried out in my Kone library which looks similar to KMath but is not compatible with it.
If you need polynomials in your project, you can inform me in Kotlin Slack. Then I'll try to move here all the features from Kone.
The project is created and maintained by Gleb Minaev.
Implementation note can be found in docs
- polynomial abstraction : Abstraction for polynomial spaces.
- rational function abstraction : Abstraction for rational function spaces.
- "list" polynomials : List implementation of univariate polynomials.
- "list" rational functions : List implementation of univariate rational functions.
- "list" polynomials' and rational functions' constructors : Constructors for list polynomials and rational functions.
- "list" polynomials' and rational functions' utilities : Utilities for list polynomials and rational functions.
- "numbered" polynomials : Numbered implementation of multivariate polynomials.
- "numbered" rational functions : Numbered implementation of multivariate rational functions.
- "numbered" polynomials' and rational functions' constructors : Constructors for numbered polynomials and rational functions.
- "numbered" polynomials' and rational functions' utilities : Utilities for numbered polynomials and rational functions.
- "labeled" polynomials : Labeled implementation of multivariate polynomials.
- "labeled" rational functions : Labeled implementation of multivariate rational functions.
- "labeled" polynomials' and rational functions' constructors : Constructors for labeled polynomials and rational functions.
- "labeled" polynomials' and rational functions' utilities : Utilities for labeled polynomials and rational functions.
The Maven coordinates of this project are space.kscience:kmath-polynomial:1.0.0-kmath-0.3.1-dev-5
.
Gradle Groovy:
repositories {
maven { url 'https://repo.kotlin.link' }
mavenCentral()
}
dependencies {
implementation 'space.kscience:kmath-polynomial:1.0.0-kmath-0.3.1-dev-5'
}
Gradle Kotlin DSL:
repositories {
maven("https://repo.kotlin.link")
mavenCentral()
}
dependencies {
implementation("space.kscience:kmath-polynomial:1.0.0-kmath-0.3.1-dev-5")
}