import * as Auto from './Automorphism'; import * as Inf from './infix'; import * as IO from 'fp-ts/IO'; import * as M from './Matrix'; import * as Poly from './Polynomial'; import * as V from './Vector'; /** * @since 1.0.0 * @category Constructors */ export declare const zero = 0; /** * @since 1.0.0 * @category Constructors */ export declare const one = 1; /** * Uniform random variable in the interval: `[low, high)` * * @since 1.0.0 * @category Constructors */ export declare const randNumber: (low: number, high: number) => IO.IO; /** * Exponential random variable with parameter `λ` * * @since 1.1.0 * @category Constructors */ export declare const randExp: (λ: number) => IO.IO; /** * Normal random variable with mean `μ` and standard deviation `σ`. Uses the Box-Muller transform * * @since 1.1.0 * @category Constructors */ export declare const randNorm: (μ?: number, σ?: number) => IO.IO; /** * @since 1.0.0 * @category Instances */ export declare const Eq: import("fp-ts/lib/Eq").Eq; /** * @since 1.0.0 * @category Instances */ export declare const Ord: import("fp-ts/lib/Ord").Ord; /** * @since 1.0.0 * @category Instances */ export declare const Bounded: import("fp-ts/lib/Bounded").Bounded; /** * @since 1.0.0 * @category Instances */ export declare const MagmaSub: import("fp-ts/lib/Magma").Magma; /** * @since 1.0.0 * @category Instances */ export declare const SemigroupSum: import("fp-ts/lib/Semigroup").Semigroup; /** * @since 1.0.0 * @category Instances */ export declare const SemigroupProduct: import("fp-ts/lib/Semigroup").Semigroup; /** * @since 1.0.0 * @category Instances */ export declare const MonoidSum: import("fp-ts/lib/Monoid").Monoid; /** * @since 1.0.0 * @category Instances */ export declare const MonoidProduct: import("fp-ts/lib/Monoid").Monoid; /** * @since 1.0.0 * @category Instances */ export declare const Field: import("fp-ts/lib/Field").Field; /** * @since 1.0.0 * @category Instances */ export declare const Show: import("fp-ts/lib/Show").Show; /** * @since 1.0.0 * @category Infix */ export declare const _: (a: number, s: Inf.FieldSymbol, b: number) => number; /** * @since 1.0.0 * @category Infix */ export declare const $_: (s: Inf.FieldSymbol, x: number, y: number) => number; /** * @since 1.0.0 * @category Infix */ export declare const _$: (a: number, b: number, s: Inf.FieldSymbol) => number; /** * @since 1.0.0 * @category Model */ export declare type Vec = V.Vec; /** * @since 1.1.0 * @category Constructors */ export declare const onesN: (n: N) => Vec; /** * @since 1.1.0 * @category Constructors */ export declare const zerosN: (n: N) => Vec; /** * @since 1.0.0 * @category Instances */ export declare const AdditiveAbGrpN: (n: N) => import("./typeclasses").AbelianGroup>; /** * @since 1.0.0 * @category Instances */ export declare const BiModN: (n: N) => import("./typeclasses").Bimodule, number, number>; /** * Add two vectors * * @since 1.1.0 * @category Matrix Operations */ export declare const addV: (x: V.Vec, y: V.Vec) => V.Vec; /** * Subtract two vectors * * @since 1.1.0 * @category Matrix Operations */ export declare const subV: (x: V.Vec, y: V.Vec) => V.Vec; /** * @since 1.0.0 * @category Instances */ export declare const get2dRotation: (theta: number) => Auto.Automorphism>; /** * @since 1.0.0 * @category Instances */ export declare const get3dXRotation: (theta: number) => Auto.Automorphism>; /** * @since 1.0.0 * @category Instances */ export declare const get3dYRotation: (theta: number) => Auto.Automorphism>; /** * @since 1.0.0 * @category Instances */ export declare const get3dZRotation: (theta: number) => Auto.Automorphism>; /** * @since 1.0.0 * @category Vector Operations */ export declare const dot: (x: V.Vec, y: V.Vec) => number; /** * @since 1.0.0 * @category Vector Operations */ export declare const cross: (x: V.Vec<3, number>, y: V.Vec<3, number>) => V.Vec<3, number>; /** * @since 1.0.0 * @category Vector Operations */ export declare const outerProduct: (v1: V.Vec, v2: V.Vec) => M.Mat; /** * @since 1.0.0 * @category Vector Operations */ export declare const l1Norm: (x: V.Vec) => number; /** * @since 1.0.0 * @category Vector Operations */ export declare const l2Norm: (x: V.Vec) => number; /** * @since 1.0.0 * @category Vector Operations */ export declare const lpNorm: (p: number) => (v: V.Vec) => number; /** * @since 1.0.0 * @category Vector Operations */ export declare const lInfNorm: (x: V.Vec) => number; /** * @since 1.0.0 * @category Vector Operations */ export declare const projection: (u: V.Vec, v: V.Vec) => V.Vec; /** * @since 1.0.0 * @category Model */ export declare type Mat = M.Mat; /** * @since 1.1.0 * @category Instances */ export declare const MonoidProductMM: (m: M) => import("fp-ts/lib/Monoid").Monoid>; /** * @since 1.0.0 * @category Instances */ export declare const AdditiveAbGrpMN: (m: M, n: N) => import("./typeclasses").AbelianGroup>; /** * @since 1.0.0 * @category Instances */ export declare const BiModMN: (m: M, n: N) => import("./typeclasses").Bimodule, number, number>; /** * @since 1.0.0 * @category Matrix Operations */ export declare const idMat: (m: M) => M.Mat; /** * Multiply two matricies with matching inner dimensions * * ```math * (A ∈ R_mn) (B ∈ R_np) = C ∈ R_mp * ``` * * Efficiency: `2mpn` flops * * @since 1.0.0 * @category Matrix Operations */ export declare const mulM: (x: M.Mat, y: M.Mat) => M.Mat; /** * Add two matricies * * @since 1.1.0 * @category Matrix Operations */ export declare const addM: (x: M.Mat, y: M.Mat) => M.Mat; /** * Subtract two matricies * * @since 1.1.0 * @category Matrix Operations */ export declare const subM: (x: M.Mat, y: M.Mat) => M.Mat; /** * Transform a column vector `x` into vector `b` by matrix `A` * * ```math * Ax = b * ``` * * Efficiency: `2mn` flops * * @since 1.0.0 * @category Matrix Operations */ export declare const linMap: (A: M.Mat, x: V.Vec) => V.Vec; /** * Transform a row-vector `x` into vector `b` by matrix `A` * * ```math * xA = b * ``` * * Efficiency: `2mn` flops * * @since 1.1.0 * @category Matrix Operations */ export declare const linMapR: (x: V.Vec, A: M.Mat) => V.Vec; /** * The sum of the diagonal elements * * Efficiency: `m` flops (for numeric Ring) * * @since 1.0.0 * @category Matrix Operations */ export declare const trace: (fa: M.Mat) => number; /** * @since 1.0.0 * @category Instances */ export declare const PolynomialAdditiveAbelianGroup: import("./typeclasses").AbelianGroup>; /** * @since 1.0.0 * @category Instances */ export declare const PolynomialBimodule: import("./typeclasses").Bimodule, number, number>; /** * @since 1.0.0 * @category Instances */ export declare const PolynomialRing: import("./typeclasses").CommutativeRing>; /** * @since 1.0.0 * @category Instances */ export declare const PolynomialEuclidianRing: import("./typeclasses").EuclidianRing>; /** * @since 1.0.0 * @category Instances */ export declare const getDifferentialAutomorphism: (constantTerm: number) => Auto.Automorphism>; /** * @since 1.0.0 * @category Polynomial Operations */ export declare const evaluatePolynomial: (p: Poly.Polynomial) => (x: number) => number; /** * @since 1.0.0 * @category Polynomial Operations */ export declare const derivative: (coeffs: Poly.Polynomial) => Poly.Polynomial; /** * @since 1.0.0 * @category Polynomial Operations */ export declare const integrate: (lower: number, upper: number) => (p: Poly.Polynomial) => number; /** * @since 1.0.0 * @category Polynomial Operations */ export declare const getAntiderivative: (constantTerm: number) => (p: Poly.Polynomial) => Poly.Polynomial; /** * @since 1.0.0 * @category Polynomial Operations */ export declare const polynomialInnerProduct: (p: Poly.Polynomial, q: Poly.Polynomial) => number; /** * @since 1.0.0 * @category Polynomial Operations */ export declare const polynomialNorm: (p: Poly.Polynomial) => number; /** * @since 1.0.0 * @category Polynomial Operations */ export declare const polynomialProjection: (p: Poly.Polynomial, q: Poly.Polynomial) => Poly.Polynomial; /** * @since 1.0.0 * @category Aliases */ export declare const add: (x: number, y: number) => number; /** * @since 1.0.0 * @category Aliases */ export declare const sub: (x: number, y: number) => number; /** * @since 1.0.0 * @category Aliases */ export declare const mul: (x: number, y: number) => number; /** * @since 1.0.0 * @category Aliases */ export declare const div: (x: number, y: number) => number; /** * @since 1.0.0 * @category Aliases */ export declare const mod: (x: number, y: number) => number; /** * @since 1.0.0 * @category Aliases */ export declare const degree: (a: number) => number; //# sourceMappingURL=number.d.ts.map