Package-level declarations

Types

Link copied to clipboard

Marks declarations that give access to internal entities of polynomials delicate structure. Thus, it allows optimizing performance a bit by skipping standard steps, but such skips may cause critical errors if something is implemented badly. Make sure you fully read and understand documentation and don't break internal contracts.

Link copied to clipboard
class DSL1LabeledPolynomialBuilder<C>(add: (C, C) -> C, initialCapacity: Int? = null)
Link copied to clipboard
class DSL1NumberedPolynomialBuilder<C>(add: (C, C) -> C, initialCapacity: Int? = null)
Link copied to clipboard
class DSL2LabeledPolynomialBuilder<C>(ring: Ring<C>, initialCapacity: Int? = null)
Link copied to clipboard
typealias LabeledMonomialSignature = Map<Symbol, UInt>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class ListPolynomial<C>(val coefficients: List<C>) : Polynomial<C>
Link copied to clipboard
open class ListPolynomialSpace<C, out A : Ring<C>>(val ring: A) : PolynomialSpaceWithRing<C, ListPolynomial<C>, A>
Link copied to clipboard
data class ListRationalFunction<C>(val numerator: ListPolynomial<C>, val denominator: ListPolynomial<C>) : RationalFunction<C, ListPolynomial<C>>

Represents univariate rational function that stores its numerator and denominator as ListPolynomials.

Link copied to clipboard

Arithmetic context for univariate rational functions with numerator and denominator represented as ListPolynomials.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface Polynomial<C>
Link copied to clipboard
interface PolynomialSpace<C, P : Polynomial<C>> : Ring<P>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Properties

Link copied to clipboard

Creates a ListPolynomialSpaceOverField over a received field.

Creates a ListPolynomialSpace over a received ring.

Functions

Link copied to clipboard

Returns algebraic antiderivative of received polynomial.

Link copied to clipboard

Represent this polynomial as a regular context-less function.

Represent this rational function as a regular context-less function.

fun <C> NumberedPolynomial<C>.asFunctionOfConstantOver(ring: Ring<C>): (Buffer<C>) -> C
Link copied to clipboard

Represent this polynomial as a regular context-less function.

Represent this rational function as a regular context-less function.

Link copied to clipboard
fun <C> ListPolynomial<C>.asFunctionOver(ring: Ring<C>): (C) -> C

Represent this polynomial as a regular context-less function.

Represent this rational function as a regular context-less function.

fun <C> NumberedPolynomial<C>.asFunctionOver(ring: Ring<C>): (Buffer<C>) -> C
fun <C> NumberedRationalFunction<C>.asFunctionOver(ring: Field<C>): (Buffer<C>) -> C
Link copied to clipboard
Link copied to clipboard

Represents this constant as a ListPolynomial.

Link copied to clipboard

Represents this constant as a rational function.

Link copied to clipboard
Link copied to clipboard

Returns algebraic derivative of received polynomial.

Link copied to clipboard

Computes a definite integral of this polynomial in the specified range.

Link copied to clipboard
fun <C> ListPolynomial(vararg coefficients: C, reverse: Boolean = false): ListPolynomial<C>
fun <C> ListPolynomial(coefficients: List<C>, reverse: Boolean = false): ListPolynomial<C>

Constructs a ListPolynomial instance with provided coefficients. The collection of coefficients will be reversed if reverse parameter is true.

Link copied to clipboard
fun <C> ListRationalFunction(numeratorCoefficients: List<C>, denominatorCoefficients: List<C>, reverse: Boolean = false): ListRationalFunction<C>

Constructs ListRationalFunction instance with numerator and denominator constructed with provided numeratorCoefficients and denominatorCoefficients. The both collections of coefficients will be reversed if reverse parameter is true.

Link copied to clipboard

Constructs ListRationalFunction instance with provided numerator and unit denominator.

fun <C> Ring<C>.ListRationalFunction(numeratorCoefficients: List<C>, reverse: Boolean = false): ListRationalFunction<C>
fun <C> ListRationalFunctionSpace<C, *, *>.ListRationalFunction(numeratorCoefficients: List<C>, reverse: Boolean = false): ListRationalFunction<C>

Constructs ListRationalFunction instance with numerator constructed with provided numeratorCoefficients and unit denominator. The collection of numerator coefficients will be reversed if reverse parameter is true.

Link copied to clipboard

Returns algebraic antiderivative of received polynomial of specified order. The order should be non-negative integer.

Link copied to clipboard

Returns algebraic derivative of received polynomial of specified order. The order should be non-negative integer.

Link copied to clipboard
inline fun LabeledPolynomial<Double>.substitute(vararg inputs: Pair<Symbol, Double>): LabeledPolynomial<Double>
inline fun <C> LabeledPolynomial<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Symbol, C>): LabeledPolynomial<C>
@JvmName(name = "substitutePolynomial")
inline fun <C> LabeledPolynomial<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Symbol, LabeledPolynomial<C>>): LabeledPolynomial<C>
@JvmName(name = "substituteRationalFunction")
inline fun <C> LabeledPolynomial<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Symbol, LabeledRationalFunction<C>>): LabeledRationalFunction<C>
fun <C> LabeledPolynomial<C>.substitute(ring: Ring<C>, args: Map<Symbol, C>): LabeledPolynomial<C>
@JvmName(name = "substitutePolynomial")
fun <C> LabeledPolynomial<C>.substitute(ring: Ring<C>, args: Map<Symbol, LabeledPolynomial<C>>): LabeledPolynomial<C>
@JvmName(name = "substituteRationalFunction")
fun <C> LabeledPolynomial<C>.substitute(ring: Ring<C>, args: Map<Symbol, LabeledRationalFunction<C>>): LabeledRationalFunction<C>
inline fun <C> LabeledRationalFunction<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Symbol, C>): LabeledRationalFunction<C>
@JvmName(name = "substitutePolynomial")
inline fun <C> LabeledRationalFunction<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Symbol, LabeledPolynomial<C>>): LabeledRationalFunction<C>
@JvmName(name = "substituteRationalFunction")
inline fun <C> LabeledRationalFunction<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Symbol, LabeledRationalFunction<C>>): LabeledRationalFunction<C>
@JvmName(name = "substitutePolynomial")
fun <C> LabeledRationalFunction<C>.substitute(ring: Ring<C>, args: Map<Symbol, LabeledPolynomial<C>>): LabeledRationalFunction<C>
@JvmName(name = "substituteRationalFunction")
fun <C> LabeledRationalFunction<C>.substitute(ring: Ring<C>, args: Map<Symbol, LabeledRationalFunction<C>>): LabeledRationalFunction<C>
inline fun <C> NumberedPolynomial<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Int, C>): NumberedPolynomial<C>
@JvmName(name = "substitutePolynomial")
inline fun <C> NumberedPolynomial<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Int, NumberedPolynomial<C>>): NumberedPolynomial<C>
@JvmName(name = "substituteRationalFunction")
inline fun <C> NumberedPolynomial<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Int, NumberedRationalFunction<C>>): NumberedRationalFunction<C>
@JvmName(name = "substitutePolynomial")
fun <C> NumberedPolynomial<C>.substitute(ring: Ring<C>, args: Map<Int, NumberedPolynomial<C>>): NumberedPolynomial<C>
@JvmName(name = "substituteRationalFunction")
fun <C> NumberedPolynomial<C>.substitute(ring: Ring<C>, args: Map<Int, NumberedRationalFunction<C>>): NumberedRationalFunction<C>
fun <C> NumberedPolynomial<C>.substitute(ring: Ring<C>, args: Buffer<C>): NumberedPolynomial<C>
@JvmName(name = "substitutePolynomial")
fun <C> NumberedPolynomial<C>.substitute(ring: Ring<C>, args: Buffer<NumberedPolynomial<C>>): NumberedPolynomial<C>
@JvmName(name = "substituteRationalFunction")
fun <C> NumberedPolynomial<C>.substitute(ring: Ring<C>, args: Buffer<NumberedRationalFunction<C>>): NumberedRationalFunction<C>
inline fun <C> NumberedRationalFunction<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Int, C>): NumberedRationalFunction<C>
@JvmName(name = "substitutePolynomial")
inline fun <C> NumberedRationalFunction<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Int, NumberedPolynomial<C>>): NumberedRationalFunction<C>
@JvmName(name = "substituteRationalFunction")
inline fun <C> NumberedRationalFunction<C>.substitute(ring: Ring<C>, vararg inputs: Pair<Int, NumberedRationalFunction<C>>): NumberedRationalFunction<C>
@JvmName(name = "substitutePolynomial")
fun <C> NumberedRationalFunction<C>.substitute(ring: Ring<C>, args: Map<Int, NumberedPolynomial<C>>): NumberedRationalFunction<C>
@JvmName(name = "substituteRationalFunction")
fun <C> NumberedRationalFunction<C>.substitute(ring: Ring<C>, args: Map<Int, NumberedRationalFunction<C>>): NumberedRationalFunction<C>
@JvmName(name = "substitutePolynomial")
fun <C> NumberedRationalFunction<C>.substitute(ring: Ring<C>, args: Buffer<NumberedPolynomial<C>>): NumberedRationalFunction<C>
@JvmName(name = "substituteRationalFunction")
fun <C> NumberedRationalFunction<C>.substitute(ring: Ring<C>, args: Buffer<NumberedRationalFunction<C>>): NumberedRationalFunction<C>

Evaluates value of this Double polynomial on provided Double argument.

Evaluates value of this Double rational function in provided Double argument.

fun <C> ListPolynomial<C>.substitute(ring: Ring<C>, arg: C): C

Evaluates value of this polynomial on provided argument.

Substitutes provided polynomial arg into this polynomial.

Substitutes provided rational function arg into this polynomial.

fun <C> ListRationalFunction<C>.substitute(ring: Field<C>, arg: C): C

Evaluates value of this polynomial for provided argument.

Substitutes provided polynomial arg into this rational function.

Substitutes provided rational function arg into this rational function.

Link copied to clipboard