DifferentialGeometry/WorkingWithAbstractForms - Help

Working with abstract differential forms

Description

 • This worksheet provides additional information for working with abstract differential forms, that is, differential forms which are defined abstractly without reference to any underlying system of coordinates. This new functionality of DifferentialGeometry is intended to supercede the difforms package.
 • There are 2 different ways of using DifferentialGeometry to calculate with abstract differential forms.  The first way mirrors the scenario current provided by difforms -- one defines a list of forms (using DGsetup) by simply specifying their degrees. Then one can calculate wedge products and exterior derivatives of these forms. Equations for exterior derivatives can be specified. For the second method one indicates which of the 1-forms being defined constitute a co-frame for the underlying manifold.  In this setting, the vector fields dual to the given 1-forms are automatically created by DGsetup.  Wedge products, interior products, exterior derivatives and Lie derivatives can all be computed.
 • The functionalities provided by DGzip, GetComponents, Annihilator, DGbasis and DGinfo are available as appropriate.

Examples

 > $\mathrm{with}\left(\mathrm{DifferentialGeometry}\right):$$\mathrm{with}\left(\mathrm{Tools}\right):$

Example 1.

Create an abstract manifold $M$ with a function 1-forms  and a 2-form ${\mathrm{σ}}_{}$.

 > $\mathrm{DGsetup}\left('\left[f=\mathrm{dgform}\left(0\right),\mathrm{\alpha }=\mathrm{dgform}\left(1\right),\mathrm{\beta }=\mathrm{dgform}\left(1\right),\mathrm{\sigma }=\mathrm{dgform}\left(2\right)\right]',\left[\right],M\right)$
 ${\mathrm{frame name: M}}$ (1)

The command DGinfo gives the names all scalars and forms which are defined.

 > $\mathrm{DGinfo}\left("AbstractForms"\right)$
 $\left[{f}{,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{2}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right)\right]$ (2)

Scalar products, wedge products and sums of abstract forms can be defined.

 > $\mathrm{\omega }≔\mathrm{evalDG}\left(2\mathrm{\alpha }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&wedge\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{\beta }+4\mathrm{\sigma }\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{2}\right]{,}\left[\left[\left[{3}\right]{,}{4}\right]{,}\left[\left[{1}{,}{2}\right]{,}{2}\right]\right]\right]\right)$ (3)

The command DGinfo can also be used to extract information about the form ${\mathrm{ω}}_{}$.

 > $\mathrm{DGinfo}\left(\mathrm{\omega },"CoefficientSet"\right)$
 $\left\{{2}{,}{4}\right\}$ (4)
 > $\mathrm{DGinfo}\left(\mathrm{\omega },"CoefficientList",\left[\mathrm{\sigma }\right]\right)$
 $\left[{4}\right]$ (5)

New forms can be defined on M.

 > $\mathrm{DGinfo}\left("AbstractForms"\right)$
 $\left[{f}{,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{2}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right)\right]$ (6)

We can use the DGzip and GetComponents commands with abstract forms.

 > $\mathrm{\Omega }≔\mathrm{evalDG}\left(\left[\mathrm{\alpha }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&w\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{\beta },\mathrm{\sigma }\right]\right)$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{2}\right]{,}\left[\left[\left[{1}{,}{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{2}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right)\right]$ (7)
 > $\mathrm{zeta}≔\mathrm{DGzip}\left(\left[3,5\right],\mathrm{\Omega },"plus"\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{2}\right]{,}\left[\left[\left[{3}\right]{,}{5}\right]{,}\left[\left[{1}{,}{2}\right]{,}{3}\right]\right]\right]\right)$ (8)
 > $\mathrm{GetComponents}\left(\mathrm{zeta},\mathrm{\Omega }\right)$
 $\left[{3}{,}{5}\right]$ (9)

We can take the exterior derivative of a form.

 > $\mathrm{\rho }≔\mathrm{ExteriorDerivative}\left(\mathrm{\alpha }\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{2}\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right)$ (10)

The 2-form dalpha has been added to list of defined forms and is now available for subsequent computations.

 > $\mathrm{DGinfo}\left("AbstractForms"\right)$
 $\left[{f}{,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{2}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{2}{,}{"d"}{,}{1}\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right)\right]$ (11)
 > $\mathrm{ExteriorDerivative}\left(\mathrm{\rho }\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{3}\right]{,}\left[\left[\left[{1}{,}{3}\right]{,}{0}\right]\right]\right]\right)$ (12)

Exterior derivatives of defined forms can be specified.

 > $\mathrm{DGsetup}\left(M,\left[\right],\left[d\left(f\right)=f\mathrm{\alpha },d\left(\mathrm{\beta }\right)=4\mathrm{\sigma }+5\mathrm{\alpha }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&wedge\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{\beta }\right]\right)$
 ${\mathrm{updated frame: M}}$ (13)
 > $\mathrm{ExteriorDerivative}\left(f\mathrm{\beta }\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{2}\right]{,}\left[\left[\left[{3}\right]{,}{4}{}{f}\right]{,}\left[\left[{1}{,}{2}\right]{,}{6}{}{f}\right]\right]\right]\right)$ (14)

Example 2.

In this example we illustrate calculations using the second calling sequence for working with abstract forms. The 1-forms defining the co-frame are enclosed in separate list (the degrees of the forms defining the co-frame need not be given).

 > $\mathrm{RemoveFrame}\left(M\right)$
 ${0}$ (15)
 > $\mathrm{DGsetup}\left(\left[f=\mathrm{dgform}\left(0\right),g=\mathrm{dgform}\left(0\right),\left[\mathrm{ω1},\mathrm{ω2},\mathrm{ω3}\right],'\mathrm{\alpha }'=\mathrm{dgform}\left(2\right),'\mathrm{\beta }'=\mathrm{dgform}\left(3\right)\right],\left[d\left(\mathrm{ω1}\right)=\mathrm{ω2}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&w\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{ω3}\right],N\right)$
 ${\mathrm{frame name: N}}$ (16)

All the functionality of Example 1  is retained but now the manifold  is taken to have dimension 3. The 1-forms  define a co-frame on  and the dual vector fields { have been initialized.

 > $\mathrm{DGinfo}\left("AbstractForms"\right)$
 $\left[{f}{,}{g}{,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{3}\right]{,}\left[\left[\left[{5}\right]{,}{1}\right]\right]\right]\right)\right]$ (17)
 > $\mathrm{DGinfo}\left("FrameBaseVectors"\right)$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{N}{,}\left[{}\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{N}{,}\left[{}\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{N}{,}\left[{}\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right)\right]$ (18)
 > $\mathrm{DGinfo}\left("FrameBaseForms"\right)$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right)\right]$ (19)

We can define vector fields on $N$.

 > $X≔\mathrm{evalDG}\left(a\mathrm{D_omega1}+b\mathrm{D_omega2}+c\mathrm{D_omega3}\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{N}{,}\left[{}\right]\right]{,}\left[\left[\left[{1}\right]{,}{a}\right]{,}\left[\left[{2}\right]{,}{b}\right]{,}\left[\left[{3}\right]{,}{c}\right]\right]\right]\right)$ (20)

We can calculate the interior products of vectors and forms.

 > $\mathrm{Hook}\left(X,\mathrm{ω1}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&w\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{ω3}\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{-}{c}\right]{,}\left[\left[{3}\right]{,}{a}\right]\right]\right]\right)$ (21)

The interior products of {} with the 2-form alpha are automatically defined as new forms on $N.$

 > $\mathrm{Hook}\left(\mathrm{D_omega1},\mathrm{\beta }\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}\right]{,}\left[\left[\left[{6}\right]{,}{1}\right]\right]\right]\right)$ (22)
 > $\mathrm{Hook}\left(\mathrm{D_omega2},\mathrm{\beta }\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}\right]{,}\left[\left[\left[{7}\right]{,}{1}\right]\right]\right]\right)$ (23)
 > $\mathrm{Hook}\left(\mathrm{D_omega3},\mathrm{\beta }\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}\right]{,}\left[\left[\left[{8}\right]{,}{1}\right]\right]\right]\right)$ (24)
 > $\mathrm{DGinfo}\left("AbstractForms"\right)$
 $\left[{f}{,}{g}{,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{3}\right]{,}\left[\left[\left[{5}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}{,}{"hook"}{,}\left[\left[{1}\right]{,}{5}\right]\right]{,}\left[\left[\left[{6}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}{,}{"hook"}{,}\left[\left[{2}\right]{,}{5}\right]\right]{,}\left[\left[\left[{7}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}{,}{"hook"}{,}\left[\left[{3}\right]{,}{5}\right]\right]{,}\left[\left[\left[{8}\right]{,}{1}\right]\right]\right]\right)\right]$ (25)
 > $\mathrm{Hook}\left(X,\mathrm{\alpha }\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{9}\right]{,}{a}\right]{,}\left[\left[{10}\right]{,}{b}\right]{,}\left[\left[{11}\right]{,}{c}\right]\right]\right]\right)$ (26)

Iterated interior products are known to be skew-symmetric:

 > $\mathrm{Hook}\left(\mathrm{D_omega1},\mathrm{i_1beta}\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{0}\right]\right]\right]\right)$ (27)
 > $\mathrm{Hook}\left(\mathrm{D_omega1},\mathrm{i_2beta}\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{12}\right]{,}{-}{1}\right]\right]\right]\right)$ (28)
 > $\mathrm{Hook}\left(\mathrm{D_omega3},\mathrm{i_2beta}\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{13}\right]{,}{1}\right]\right]\right]\right)$ (29)

The forms are taken to be independent so the commands such as Annihilator and DGbasis will work in this setting.

 > $\mathrm{Annihilator}\left(\left[\mathrm{D_omega1}+\mathrm{D_omega3}\right]\right)$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{-}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right)\right]$ (30)

The Lie derivative of forms are computed from the Cartan formula.

 > $\mathrm{LieDerivative}\left(\mathrm{D_omega2},\mathrm{\beta }\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{3}\right]{,}\left[\left[\left[{15}\right]{,}{1}\right]{,}\left[\left[{16}\right]{,}{1}\right]\right]\right]\right)$ (31)

Here both terms in this equation are new forms which are added to the list of defined forms on $N$.

 > $\mathrm{DGinfo}\left("AbstractForms"\right)$
 $\left[{f}{,}{g}{,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{3}\right]{,}\left[\left[\left[{5}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}{,}{"hook"}{,}\left[\left[{1}\right]{,}{5}\right]\right]{,}\left[\left[\left[{6}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}{,}{"hook"}{,}\left[\left[{2}\right]{,}{5}\right]\right]{,}\left[\left[\left[{7}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{2}{,}{"hook"}{,}\left[\left[{3}\right]{,}{5}\right]\right]{,}\left[\left[\left[{8}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}{,}{"hook"}{,}\left[\left[{1}\right]{,}{4}\right]\right]{,}\left[\left[\left[{9}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}{,}{"hook"}{,}\left[\left[{2}\right]{,}{4}\right]\right]{,}\left[\left[\left[{10}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}{,}{"hook"}{,}\left[\left[{3}\right]{,}{4}\right]\right]{,}\left[\left[\left[{11}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}{,}{"hook"}{,}\left[\left[{1}{,}{2}\right]{,}{5}\right]\right]{,}\left[\left[\left[{12}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{1}{,}{"hook"}{,}\left[\left[{2}{,}{3}\right]{,}{5}\right]\right]{,}\left[\left[\left[{13}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{4}{,}{"d"}{,}{5}\right]{,}\left[\left[\left[{14}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{3}{,}{"hook"}{,}\left[\left[{2}\right]{,}{14}\right]\right]{,}\left[\left[\left[{15}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{3}{,}{"d"}{,}{7}\right]{,}\left[\left[\left[{16}\right]{,}{1}\right]\right]\right]\right)\right]$ (32)

Equations for both exterior derivatives and interior products can be specified.

 > $\mathrm{DGsetup}\left(N,\left[\right],\left[d\left(\mathrm{ω3}\right)=0,d\left(\mathrm{\beta }\right)=\mathrm{\alpha }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&w\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{\alpha },\mathrm{hook}\left(\mathrm{D_omega2},\mathrm{\beta }\right)=\mathrm{\alpha }\right]\right)$
 ${\mathrm{updated frame: N}}$ (33)
 > $\mathrm{LieDerivative}\left(\mathrm{D_omega2},\mathrm{\beta }\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{N}{,}{3}\right]{,}\left[\left[\left[{17}\right]{,}{1}\right]{,}\left[\left[{4}{,}{10}\right]{,}{2}\right]\right]\right]\right)$ (34)

The Lie bracket can also be computed.

 > $\mathrm{LieBracket}\left(\mathrm{D_omega2},\mathrm{D_omega3}\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{N}{,}\left[{}\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{1}\right]{,}\left[\left[{2}\right]{,}{-}{\mathrm{i_2_3domega2}}\right]\right]\right]\right)$ (35)
 > $\mathrm{DGsetup}\left(N,\left[q=\mathrm{dgform}\left(0\right)\right],\left[\mathrm{hook}\left(\left[\mathrm{D_omega2},\mathrm{D_omega3}\right],\mathrm{domega2}\right)=q\right]\right)$
 ${\mathrm{updated frame: N}}$ (36)
 > $\mathrm{LieBracket}\left(\mathrm{D_omega2},\mathrm{D_omega3}\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{N}{,}\left[{}\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{1}\right]{,}\left[\left[{2}\right]{,}{-}{q}\right]\right]\right]\right)$ (37)
 N >