 GetIDBasis - Maple Help

GetIDBasis

get initial data basis as an IDBasis object from a LAVF object

SetIDBasis

set initial data basis as an IDBasis object in a LAVF object Calling Sequence GetIDBasis( obj) SetIDBasis( obj, B) SetIDBasis( obj, Vs) SetIDBasis( obj, str) Parameters

 obj - a LAVF object B - a IDBasis object Vs - a list of Vectors, a Matrix, a list of linear combinations of parametric derivatives of obj, or the string "standardBasis": representing a change-of-basis for the initial data of obj str - a string, which can be one of the following: "derivedAlgebra", "solvableRadical", "nilRadical", "nilpotentRadical", killingRadical", "centre", "derivedSeries", "lowerCentralSeries", "upperCentralSeries" Description

 • An LAVF object has ability to store a initial data (ID) basis within it. An ID basis that is stored in a LAVF object is also a Maple object named IDBasis (see Overview of the IDBasis object).
 • The GetIDBasis method returns the initial data basis for the determining system of a LAVF object, as an IDBasis object.
 • The SetIDBasis method sets the value of the IDBasis object in a LAVF object.
 • The first two calling sequences are front-ends to the corresponding methods of a LHPDE object. That is, let L be a LAVF object and S be its determining system, then the call GetIDBasis(L) is equivalent to GetIDBasis(S). And the call SetIDBasis(L, B) is equivalent to SetIDBasis(S, B) where B is a valid IDBasis object for L (and for S). See GetIDBasis and SetIDBasis of a LHPDE object for more detail.
 • The third calling sequence is a convenient special case for constructing and setting an IDBasis in a LAVF object in one go, without having to construct an IDBasis first. That is, let L be a LAVF object and S its determining system, then the call SetIDBasis(L,Vs) is equivalent to SetIDBasis(L, B) where B := IDBasis(S,Vs). See LieAlgebrasOfVectorFields[IDBasis] for constructing an IDBasis object.
 • In the fourth calling sequence, the call SetIDBasis(L, str) first chooses a good ID basis based on the Lie algebraic structure of L. It then sets the IDBasis in L.
 • The second input argument str can be one of the following: "derivedAlgebra", "solvableRadical", "nilRadical", "nilpotentRadical", "killingRadical", "centre", "derivedSeries", "lowerCentralSeries", "upperCentralSeries". It gives a hint to the method for how to choose a good IDBasis. That is, if str is the name of an ideal ("derivedAlgebra", "solvableRadical", "nilRadical", "nilpotentRadical", "killingRadical", "centre"), SetIDBasis first picks an IDBasis for that ideal, then extends it to a IDBasis of L. If str is the name of a series of ideals ("derivedSeries", "lowerCentralSeries", "upperCentralSeries"), the extension process is applied recursively.
 • For an IDBasis object to be eligible to be set in a LAVF object, the two objects' parametric derivatives must be the same. See example below.
 • These methods are associated with the LAVF object. For more detail, see Overview of the LAVF object. Examples

 > $\mathrm{with}\left(\mathrm{LieAlgebrasOfVectorFields}\right):$
 > $\mathrm{Typesetting}:-\mathrm{Settings}\left(\mathrm{userep}=\mathrm{true}\right):$
 > $\mathrm{Typesetting}:-\mathrm{Suppress}\left(\left[\mathrm{\xi }\left(x,y\right),\mathrm{\eta }\left(x,y\right)\right]\right):$

First, construct an indeterminate vector field and a determining system, then construct an LAVF object from them...

 > $X≔\mathrm{VectorField}\left(\mathrm{\xi }\left(x,y\right)\mathrm{D}\left[x\right]+\mathrm{\eta }\left(x,y\right)\mathrm{D}\left[y\right],\mathrm{space}=\left[x,y\right]\right)$
 ${X}{≔}{\mathrm{\xi }}{}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{+}{\mathrm{\eta }}{}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}$ (1)
 > $S≔\mathrm{LHPDE}\left(\left[\mathrm{\xi }\left(x,y\right)=-\frac{1}{5}x\left(3\mathrm{diff}\left(\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),x\right),y\right)x+2\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),y\right)\right),\mathrm{diff}\left(\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),x\right),x\right)=-\frac{-4\mathrm{diff}\left(\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),x\right),y\right)xy-2\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),y\right)y+4\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),x\right)x+2\mathrm{\eta }\left(x,y\right)}{{x}^{2}},\mathrm{diff}\left(\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),y\right),y\right)=0\right],\mathrm{indep}=\left[x,y\right],\mathrm{dep}=\left[\mathrm{\xi },\mathrm{\eta }\right]\right)$
 ${S}{≔}\left[{\mathrm{\xi }}{=}{-}\frac{{3}{}\left({{\mathrm{\eta }}}_{{x}{,}{y}}\right){}{{x}}^{{2}}}{{5}}{-}\frac{{2}{}\left({{\mathrm{\eta }}}_{{y}}\right){}{x}}{{5}}{,}{{\mathrm{\eta }}}_{{x}{,}{x}}{=}\frac{{4}{}{y}{}\left({{\mathrm{\eta }}}_{{x}{,}{y}}\right)}{{x}}{+}\frac{{2}{}{y}{}\left({{\mathrm{\eta }}}_{{y}}\right)}{{{x}}^{{2}}}{-}\frac{{4}{}\left({{\mathrm{\eta }}}_{{x}}\right)}{{x}}{-}\frac{{2}{}{\mathrm{\eta }}}{{{x}}^{{2}}}{,}{{\mathrm{\eta }}}_{{y}{,}{y}}{=}{0}\right]{,}{\mathrm{indep}}{=}\left[{x}{,}{y}\right]{,}{\mathrm{dep}}{=}\left[{\mathrm{\xi }}{,}{\mathrm{\eta }}\right]$ (2)
 > $L≔\mathrm{LAVF}\left(X,S\right)$
 ${L}{≔}\left[{\mathrm{\xi }}{}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{+}{\mathrm{\eta }}{}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}\right]\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{&where}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\left\{\left[{{\mathrm{\eta }}}_{{x}{,}{x}}{=}\frac{{-}{2}{}{y}{}\left({{\mathrm{\eta }}}_{{y}}\right){}{x}{-}{12}{}\left({{\mathrm{\eta }}}_{{x}}\right){}{{x}}^{{2}}{-}{20}{}{\mathrm{\xi }}{}{y}{-}{6}{}{\mathrm{\eta }}{}{x}}{{3}{}{{x}}^{{3}}}{,}{{\mathrm{\eta }}}_{{x}{,}{y}}{=}\frac{{-}{2}{}\left({{\mathrm{\eta }}}_{{y}}\right){}{x}{-}{5}{}{\mathrm{\xi }}}{{3}{}{{x}}^{{2}}}{,}{{\mathrm{\eta }}}_{{y}{,}{y}}{=}{0}{,}{{\mathrm{\xi }}}_{{x}}{=}\frac{{2}{}\left({{\mathrm{\eta }}}_{{y}}\right){}{x}{+}{8}{}{\mathrm{\xi }}}{{3}{}{x}}{,}{{\mathrm{\xi }}}_{{y}}{=}{0}\right]\right\}$ (3)
 > $\mathrm{ParametricDerivatives}\left(L\right)$
 $\left[{\mathrm{\eta }}{,}{\mathrm{\xi }}{,}{{\mathrm{\eta }}}_{{y}}{,}{{\mathrm{\eta }}}_{{x}}\right]$ (4)

If L's determining system has not set an IDBasis, then as default the Initial data basis of L is set to a standard IDBasis object (i.e. whose change-of-basis is the identity matrix).

 > $\mathrm{GetIDBasis}\left(L\right)$
 $\left[{\mathrm{\eta }}{,}{\mathrm{\xi }}{,}{{\mathrm{\eta }}}_{{y}}{,}{{\mathrm{\eta }}}_{{x}}\right]$ (5)

We can set the value of IDBasis in L by first constructing one...

 > $B≔\mathrm{IDBasis}\left(\mathrm{GetDeterminingSystem}\left(L\right),\left[\mathrm{\eta }\left(x,y\right)-y\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),y\right),\mathrm{\eta }\left(x,y\right)-x\mathrm{\xi }\left(x,y\right),-\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),x\right),\mathrm{\eta }\left(x,y\right)\right]\right)$
 ${B}{≔}\left[{\mathrm{\eta }}{-}\left({{\mathrm{\eta }}}_{{y}}\right){}{y}{,}{\mathrm{\eta }}{-}{x}{}{\mathrm{\xi }}{,}{-}{{\mathrm{\eta }}}_{{x}}{,}{\mathrm{\eta }}\right]$ (6)

.. and then setting it (this is the 2nd calling sequence).

 > $\mathrm{SetIDBasis}\left(L,B\right)$
 $\left[{\mathrm{\eta }}{-}\left({{\mathrm{\eta }}}_{{y}}\right){}{y}{,}{\mathrm{\eta }}{-}{x}{}{\mathrm{\xi }}{,}{-}{{\mathrm{\eta }}}_{{x}}{,}{\mathrm{\eta }}\right]$ (7)

Note here: for B to be eligible to be set on the LAVF object L, the parametric derivatives on both objects must be the same.

 > $\mathrm{ParametricDerivatives}\left(L\right)$
 $\left[{\mathrm{\eta }}{,}{\mathrm{\xi }}{,}{{\mathrm{\eta }}}_{{y}}{,}{{\mathrm{\eta }}}_{{x}}\right]$ (8)
 > $\mathrm{GetParametricDerivatives}\left(B\right)$
 $\left[{\mathrm{\eta }}{,}{\mathrm{\xi }}{,}{{\mathrm{\eta }}}_{{y}}{,}{{\mathrm{\eta }}}_{{x}}\right]$ (9)

Using the third calling sequence we can construct and set IDBasis in one go..

 > $\mathrm{SetIDBasis}\left(L,\mathrm{Matrix}\left(\left[\left[1,0,1,0\right],\left[0,1,0,0\right],\left[0,0,y,0\right],\left[x,0,0,z\right]\right]\right)\right)$
 $\left[{\mathrm{\eta }}{+}{{\mathrm{\eta }}}_{{y}}{,}{\mathrm{\xi }}{,}\left({{\mathrm{\eta }}}_{{y}}\right){}{y}{,}{\mathrm{\eta }}{}{x}{+}{z}{}\left({{\mathrm{\eta }}}_{{x}}\right)\right]$ (10)

or we can reset IDBasis in L to the default IDBasis

 > $\mathrm{SetIDBasis}\left(L,"standardBasis"\right)$
 $\left[{\mathrm{\eta }}{,}{\mathrm{\xi }}{,}{{\mathrm{\eta }}}_{{y}}{,}{{\mathrm{\eta }}}_{{x}}\right]$ (11)

We fetch the structure constants of L.

 > $\mathrm{Cijk}≔\mathrm{StructureConstants}\left(L\right)$
 ${\mathrm{Cijk}}{≔}\begin{array}{c}\left[\begin{array}{cccc}{0}& {0}& {1}& {0}\\ {0}& {0}& {0}& {1}\\ {-1}& {0}& {0}& {0}\\ {0}& {-1}& {0}& {0}\end{array}\right]\\ \hfill {\text{slice of 4 × 4 × 4 Array}}\end{array}$ (12)

Using the fourth calling sequence, the method chooses a good IDBasis based on the derived series of L.

 > $\mathrm{SetIDBasis}\left(L,"derivedSeries"\right)$
 $\left[{\mathrm{\eta }}{,}\frac{{\mathrm{\eta }}}{{x}}{+}{{\mathrm{\eta }}}_{{x}}{,}{\mathrm{\xi }}{,}\frac{{\mathrm{\xi }}}{{x}}{+}{{\mathrm{\eta }}}_{{y}}\right]$ (13)

The commutator table will now be displayed with respect to a better ID basis.

 > $\mathrm{DisplayStructure}\left(L,'Z'\right)$
 $\left[\begin{array}{cccc}{0}& {0}& {0}& {{Z}}_{{1}}\\ {0}& {0}& {-}{{Z}}_{{1}}& \frac{{{Z}}_{{2}}}{{3}}\\ {0}& {{Z}}_{{1}}& {0}& {-}\frac{{2}{}{y}{}{{Z}}_{{2}}}{{3}{}{{x}}^{{2}}}{+}\frac{{2}{}{{Z}}_{{3}}}{{3}}\\ {-}{{Z}}_{{1}}& {-}\frac{{{Z}}_{{2}}}{{3}}& \frac{{2}{}{y}{}{{Z}}_{{2}}}{{3}{}{{x}}^{{2}}}{-}\frac{{2}{}{{Z}}_{{3}}}{{3}}& {0}\end{array}\right]$ (14)

As the dimensions of the derived series are [4,3,1,0], here we can see the table is divided into ideals as 1x1,3x3,4x4. And this commutator table has much less dependencies on (x,y) and expressions are much simpler than the one with default IDBasis (as shown below):

 > $\mathrm{DisplayStructure}\left(\mathrm{Cijk},'Z'\right)$
 $\left[\begin{array}{cccc}{0}& \frac{{{Z}}_{{4}}}{{3}{}{{x}}^{{2}}}& {{Z}}_{{1}}{-}\frac{{2}{}{{Z}}_{{4}}}{{3}{}{x}}& {0}\\ {-}\frac{{{Z}}_{{4}}}{{3}{}{{x}}^{{2}}}& {0}& \frac{{2}{}{{Z}}_{{2}}}{{3}}{-}\frac{{2}{}{{Z}}_{{3}}}{{3}{}{x}}{-}\frac{{2}{}{y}{}{{Z}}_{{4}}}{{3}{}{{x}}^{{2}}}& {{Z}}_{{1}}{-}\frac{{4}{}{{Z}}_{{4}}}{{3}{}{x}}\\ {-}{{Z}}_{{1}}{+}\frac{{2}{}{{Z}}_{{4}}}{{3}{}{x}}& {-}\frac{{2}{}{{Z}}_{{2}}}{{3}}{+}\frac{{2}{}{{Z}}_{{3}}}{{3}{}{x}}{+}\frac{{2}{}{y}{}{{Z}}_{{4}}}{{3}{}{{x}}^{{2}}}& {0}& {-}\frac{{{Z}}_{{4}}}{{3}}\\ {0}& {-}{{Z}}_{{1}}{+}\frac{{4}{}{{Z}}_{{4}}}{{3}{}{x}}& \frac{{{Z}}_{{4}}}{{3}}& {0}\end{array}\right]$ (15) Compatibility

 • The GetIDBasis and SetIDBasis commands were introduced in Maple 2020.