liesymm
determine
Find the determining equations for the isovectors of a PDE
Calling Sequence
Parameters
Description
Examples
determine(forms, Vname)
determine(eqns, Vname, fcns, Extd)
forms
-
list or set of differential forms
eqns
list or set of partial differential equations
Vname
name for constructing the names of the components of the isovector
fcns
list of functions and the dependent variables For example, u(t,x).
Extd
name or list of names for constructing the extended variable names
This routine is part of the liesymm package and is loaded via with(liesymm).
Given a set of differential forms and a name V this routine constructs the determining equations for the isovectors which are generators of the invariance group (isogroup) of the differential equations. These form a coupled set of linear first order differential equations for the components [V1,...,Vn].
If differential equations are given directly to determine() then the required differential forms are constructed automatically using makeforms(). Additional arguments are used to identify the dependent and independent variables (e.g. u⁡t,x), and to describe the extended variables.
If a set of forms is provided it must be closed. A method of automatically closing is provided through the routine close().
The components of the isovector V correspond to [wedgeset(0)]. Thus if [wedgeset(0)] = [x, y, z, w, p] then V1 corresponds to x, V2 to y, and so forth. This order can be established any time prior to using determine() by specifying the coordinates in the desired order as the arguments to setup().
The determining equations are constructed using an unevaluated Diff() and aliases for each of the components ( V1,...,Vn ). This is to suppress the functional arguments and to compress output. To force the unevaluated Diff() to evaluate, use value().
with⁡liesymm:
The Heat equation
equ≔Diff⁡h⁡t,x,x,x=Diff⁡h⁡t,x,t
equ≔∂2∂x2h⁡t,x=∂∂th⁡t,x
determine⁡equ,V,h⁡t,x,p,q
∂2∂h2V1⁡t,x,h=0,∂∂x∂∂hV1⁡t,x,h=−∂∂hV2⁡t,x,h,∂2∂x2V1⁡t,x,h=−2⁢∂∂xV2⁡t,x,h+∂∂tV1⁡t,x,h,∂2∂h2V2⁡t,x,h=0,∂2∂x2V2⁡t,x,h=2⁢∂∂x∂∂hV3⁡t,x,h+∂∂tV2⁡t,x,h,∂2∂h2V3⁡t,x,h=2⁢∂∂x∂∂hV2⁡t,x,h,∂2∂x2V3⁡t,x,h=∂∂tV3⁡t,x,h,∂∂hV1⁡t,x,h=0,∂∂xV1⁡t,x,h=0
or directly from the forms.
setup⁡t,x,h,p,q
t,x,h,p,q
f1≔d⁡u−p⁢d⁡t−q⁢d⁡x
f1≔−p⁢d⁡t−q⁢d⁡x
f2≔p⁢d⁡x&ˆd⁡t−d⁡q&ˆd⁡t
f2≔−d⁡q&ˆd⁡t−p⁢d⁡t&ˆd⁡x
close⁡f1,f2
−p⁢d⁡t−q⁢d⁡x,−d⁡q&ˆd⁡t−p⁢d⁡t&ˆd⁡x,−d⁡p&ˆd⁡t−d⁡q&ˆd⁡x
determine⁡,V
∂2∂h2V2⁡t,x,h=0,∂∂x∂∂hV2⁡t,x,h=−∂2∂h2V1⁡t,x,h⁢p+∂2∂h2V3⁡t,x,h,∂∂x∂∂hV3⁡t,x,h=p⁢∂∂x∂∂hV1⁡t,x,h,∂∂hV1⁡t,x,h=0,∂∂hV2⁡t,x,h=0,∂∂tV3⁡t,x,h=0,∂∂xV3⁡t,x,h=0
See Also
liesymm[&mod]
liesymm[close]
liesymm[hasclosure]
liesymm[makeforms]
liesymm[setup]
liesymm[wsubs]
with
Download Help Document