diff_table - Maple Help

PDEtools

 diff_table
 set up a convenient representation for a function or expression and its derivatives

 Calling Sequence diff_table(expr)

Parameters

 expr - any valid Maple expression of type algebraic, typically an unknown function - say u(t)

Description

 • The diff_table command is basically the inverse facility of PDEtools[declare]: it permits entering (input) expressions and their derivatives using compact mathematical notation without using macros or aliases. The notation implemented by diff_table is the jet notation also used by the DifferentialAlgebra package and represents a remarkable saving in redundant typing on input. diff_table also works with anticommutative variables set using the Physics package.

Examples

 > $\mathrm{with}\left(\mathrm{PDEtools},\mathrm{diff_table}\right):$

Let U and V be the "differentiation tables" of $u\left(x,y,t\right)$ and $v\left(x,y,t\right)$, that is, handy representations for these objects and their derivatives.

 > $U≔\mathrm{diff_table}\left(u\left(x,y,t\right)\right):$
 > $V≔\mathrm{diff_table}\left(v\left(x,y,t\right)\right):$

You can now input the functions $u\left(x,y,t\right)$ or $v\left(x,y,t\right)$ or any of its partial derivatives using mathematical notation directly, resulting in the expected expression on output.

 > $\mathrm{e1}≔U\left[y,t\right]+V\left[x,x\right]+U\left[x\right]U\left[y\right]+U\left[\right]U\left[x,y\right]$
 ${\mathrm{e1}}{≔}{u}{}\left({x}{,}{y}{,}{t}\right){}\left(\frac{{{\partial }}^{{2}}}{{\partial }{x}{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}{,}{t}\right)\right){+}\left(\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}{,}{t}\right)\right){}\left(\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}{,}{t}\right)\right){+}\frac{{{\partial }}^{{2}}}{{\partial }{t}{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}{,}{t}\right){+}\frac{{{\partial }}^{{2}}}{{\partial }{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}{,}{t}\right)$ (1)

diff_table can be used simultaneously with PDEtools[declare] so that both input and output are simplified while the actual contents of the expressions generated is the standard expected one. For example, calling declare with $u\left(x,y,t\right),v\left(x,y,t\right)$,

 > $\mathrm{PDEtools}\left[\mathrm{declare}\right]\left(u\left(x,y,t\right),v\left(x,y,t\right)\right)$
 ${u}{}\left({x}{,}{y}{,}{t}\right){}{\mathrm{will now be displayed as}}{}{u}$
 ${v}{}\left({x}{,}{y}{,}{t}\right){}{\mathrm{will now be displayed as}}{}{v}$ (2)

the output corresponding to input entered using $V,U$ is displayed using the same mathematical notation

 > $\mathrm{e2}≔V\left[t\right]+U\left[x\right]+U\left[x,x,y\right]+U\left[x\right]V\left[\right]+U\left[\right]V\left[x\right]$
 ${\mathrm{e2}}{≔}{u}{}{{v}}_{{x}}{+}{{u}}_{{x}}{}{v}{+}{{u}}_{{x}}{+}{{u}}_{{x}{,}{x}{,}{y}}{+}{{v}}_{{t}}$ (3)

The actual contents of this expression is the expected one. (See lprint and show.)

 > $\mathrm{lprint}\left(\right)$
 u(x,y,t)*diff(v(x,y,t),x)+diff(u(x,y,t),x)*v(x,y,t)+diff(u(x,y,t),x)+diff(diff(diff(u(x,y,t),x),x),y)+diff(v(x,y,t),t)
 > $\mathrm{show}$
 ${u}{}\left({x}{,}{y}{,}{t}\right){}\left(\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}{,}{t}\right)\right){+}\left(\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}{,}{t}\right)\right){}{v}{}\left({x}{,}{y}{,}{t}\right){+}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}{,}{t}\right){+}\frac{{{\partial }}^{{3}}}{{\partial }{y}{\partial }{{x}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{y}{,}{t}\right){+}\frac{{\partial }}{{\partial }{t}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({x}{,}{y}{,}{t}\right)$ (4)