DifferentialAlgebra
NormalForm
computes normal forms modulo regular differential chains
Calling Sequence
Parameters
Options
Description
Handling splittings
Examples
NormalForm (p, ideal, opts)
NormalForm (L, ideal, opts)
p
-
a differential rational fraction
ideal
a differential polynomial ideal or ring
L
a list or a set of differential rational fractions
opts (optional)
a sequence of options
notation = jet, tjet, diff or Diff. Specifies the notation used for the result of the function call. If not specified, the notation of the first argument, p or L, is used.
memout = nonnegative. Specifies a memory limit, in MB, for the computation. Default is zero (no memory out).
Assume ideal is a regular differential chain and denote R its embedding differential polynomial ring, and I the differential ideal that it defines. The function call NormalForm (p, ideal) returns a rational differential fraction, which is a normal form of p in R/I. See the DifferentialAlgebra Glossary for further definitions.
The function call NormalForm (L, ideal) returns the list or the set of the normal forms of the elements of L with respect to ideal.
If ideal is a list of regular differential chains, then the function call NormalForm (p, ideal) returns the list of the normal forms of p with respect to all the chains, and, the function call NormalForm (L, ideal) returns the list of the normal forms of L with respect to all the chains.
If ideal is a differential polynomial ring, then the function call NormalForm (p, ideal) returns p, and, the function call NormalForm (L, ideal) returns L.
In the case of rational differential fractions, the computation may fail, making the function raise an error. These cases can completely be handled by using the casesplit=true option, documented below.
This command is part of the DifferentialAlgebra package. It can be called using the form NormalForm(...) after executing the command with(DifferentialAlgebra). It can also be directly called using the form DifferentialAlgebra[NormalForm](...).
The option casesplit = true permits to handle the cases which raise an error. There are, in this case, some restrictions on the function arguments:
The first argument, p, is restricted to a single rational differential fraction (lists and sets are not allowed).
The second argument, ideal is restricted to a single regular differential chain (lists of chains are not allowed).
The function call NormalForm (p, ideal, casesplit=true) returns a list [[[F1, C1], ..., [Fn, Cn]], [Cn+1, ..., Cn+p]]. The Ci are regular differential chains. The intersection of the ideals that they define is equal to I, in the differential case, and, more generally, whenever I is radical.
The denominator of p is regular modulo the ideals defined by the chains C1, ..., Cn and, for each i in the range 1,n, the rational differential fraction Fi is the normal form of p modulo Ci.
The denominator of p is zero modulo the ideals defined by the chains Cn+1, ..., Cn+p: these cases correspond to cases where the normal form does not exist.
with⁡DifferentialAlgebra:
R≔DifferentialRing⁡derivations=t,blocks=u
R≔differential_ring
The normal form, with respect to a differential ring.
NormalForm⁡u−1⁢u+1,R
u2−1
ideal≔RosenfeldGroebner⁡ut2−4⁢u,R
ideal≔regular_differential_chain,regular_differential_chain
Equations⁡ideal
ut2−4⁢u,u
The normal forms of ut with respect to each regular differential chain.
NormalForm⁡ut,ideal
ut,0
This example shows that the function can be used to compute normal forms of rational differential fractions, thus, to compute algebraic inverses of rational differential fractions, modulo the differential ideals defined by regular differential chains.
F≔uut+ut,t
nf_F≔NormalForm⁡F,ideal1
nf_F≔u⁢ut−2⁢u4⁢u−4
nf_one_over_F≔NormalForm⁡1F,ideal1
nf_one_over_F≔ut+2u
one≔normal⁡nf_F⁢nf_one_over_F
one≔ut−2⁢ut+24⁢u−1
NormalForm⁡one,ideal1
1
This example illustrates the casesplit = true option.
ideal≔Tools:-PretendRegularDifferentialChain⁡ut2−u2,R
ideal≔regular_differential_chain
The denominator of the input rational differential fraction is zero modulo ideal. Only one regular differential chain is returned, in the second list.
res≔NormalForm⁡1ut2−u2,ideal,casesplit=true
res≔,regular_differential_chain
Equations⁡res2,1
−u2+ut2
The denominator of the input rational differential fraction is a zero-divisor modulo ideal. The input chain is thus split into two regular differential chains. The normal form can be computed modulo the differential ideal defined by the first one. The denominator of the input rational differential fraction is zero modulo the differential ideal defined by the second one.
res≔NormalForm⁡1ut−u,ideal,casesplit=true
res≔−12⁢u,regular_differential_chain,regular_differential_chain
Equations⁡res1,1,2
ut+u
ut−u
See Also
RosenfeldGroebner
ReducedForm
DifferentialPrem
Download Help Document