# CartanKuranishi(JB, D)¶

CartanKuranishi is a package for the completion of a given differential equation to an involutive equation. Procedures for Cartan characters and Hilbert polynomial are also provided. Based on the Cartan-Kuranishi theorem as it is used in formal theory.

alpha: (NonNegativeInteger, List NonNegativeInteger) -> List NonNegativeInteger
alpha(q, beta) computes the Cartan characters for a differential equation of order q and with characters beta.
alphaHilbert: SparseUnivariatePolynomial Fraction Integer -> List NonNegativeInteger
alphaHilbert(hp) computes the Cartan characters for the Hilbert polynomial hp.
arbFunctions: (NonNegativeInteger, Integer, List NonNegativeInteger) -> List Integer
arbFunctions(q, j, cc) uses the Cartan characters cc to compute the number of arbitrary functions of differentiation order j in the general solution of a differential equation of order q.
bound: (NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> NonNegativeInteger
bound(n, m, q) computes an upper bound for the number of prolongations needed to make the symbol of an equation of order q with n independent and m dependent variables involutive.
complete2: JetDifferentialEquation(JB, D) -> Record(IDe: JetDifferentialEquation(JB, D), ISys: List D, Order: NonNegativeInteger, NumProj: NonNegativeInteger, Dim: NonNegativeInteger, CarChar: List NonNegativeInteger)
complete2(de) is like complete but returns the involutive equation IDe, a basis ISys for the involutive system without prolongations, its order Order, the number NumProj of needed projections and the Cartan characters CarChar.
complete: JetDifferentialEquation(JB, D) -> Void
complete(de) completes de to an involutive equation. No result is returned; the display depends of the setting of the output flags with setOutput.
gauge: (NonNegativeInteger, Integer, List NonNegativeInteger) -> List Integer
gauge(q, j, gamma) computes the gauge corrections to the number of arbitrary functions of differentiation order j for a system of order q with gamma gauge functions.
gaugeHilbert: (NonNegativeInteger, List NonNegativeInteger) -> SparseUnivariatePolynomial Fraction Integer
gaugeHilbert(q, gamma) computes the gauge correction to the Hilbert polynomial for a system of order q with gamma gauge functions.
hilbert: List NonNegativeInteger -> SparseUnivariatePolynomial Fraction Integer
hilbert(cc) computes the Hilbert polynomial to the Cartan characters cc.
setOutMode: NonNegativeInteger -> NonNegativeInteger
setOutput(i) controls amount of generated output during the completion algorithm: i = 0 –> no display, i = 1 –> result is displayed, i = 2 –> Cartan characters are displayed, i = 3 –> integrability conditions are traced, i = 4 –> intermediate dimensions are traced, i = 5 –> all intermediate systems are traced, i = 6 –> all intermediate systems and symbols are traced, if i > 10 then TeX output is produced. Default is 0. The old value is returned.
setRedMode: NonNegativeInteger -> NonNegativeInteger
setRedMode(i) sets the flag for the reduction mode. Returns old value. Current values are: i = 0 –> No reduction of integrability conditions etc. i = 1 –> Autoreduction of complete system and reduction of all integrability conditions. Default is 0.
setSimpMode: NonNegativeInteger -> NonNegativeInteger
setSimpMode(i) sets the simplification mode used in JetDifferentialEquation. Returns old value.
stirling: (NonNegativeInteger, NonNegativeInteger, NonNegativeInteger) -> NonNegativeInteger
stirling(i, k, q) computes the corresponding modified Stirling number.