How to modify the ND procedure to handle derivatives with respect to more than three independent variables for higher-dimensional PDEs, it is work for [x,t] i want it work for [x,y,z,t] ,
> |

|
> |

|
> |

|
> |

|
> |

|
> |

|

|
(1) |
> |
alias(F=F(x, t), G=G(x, t))
|

|
(2) |
> |
with(PDEtools):
undeclare(prime):
|

|
(3) |
> |
ND := proc(F, G, U)
local v, w, f, g, a:
v := op(F):
if v[1] in U then w := -v[1] else w := v[1] end if:
if v[2] in U then w := w, -v[2] else w := w, v[2] end if:
f := op(0, F):
g := op(0, G):
a := diff(f(w)*g(v), U);
convert(subs([w]=~[v], a), diff)
end proc:
|
> |
ND(F, G, [x]);
ND(F, G, [t]);
|

|
(4) |
> |
ND(F, F, [x]);
ND(F, F, [x, x]);
|

|
(5) |

|
(6) |

|
(7) |
> |

|
> |

|
> |
#if i collect P1+P1+...+P7 it must get equation 26 in paper so i want define the up proc to open but is not for (3+1) dimesnion,
|
> |
![P1 := 9*ND(F, F, [x, t])](/view.aspx?sf=240269_question/)
|

|
(8) |
> |

|
> |
![P2 := -5*ND(F, F, [`$`(x, 3), y])](/view.aspx?sf=240269_question/)
|

|
(9) |
> |
![P3 := ND(F, F, [`$`(x, 6)])](/view.aspx?sf=240269_question/)
|

|
(10) |
> |
![P4 := -5*ND(F, F, [`$`(y, 2)])](/view.aspx?sf=240269_question/)
|

|
(11) |
> |
![P5 := alpha*ND(F, F, [`$`(x, 2)])](/view.aspx?sf=240269_question/)
|

|
(12) |
> |
![P6 := beta*ND(F, F, [x, y])](/view.aspx?sf=240269_question/)
|

|
(13) |
> |
![P7 := gamma*ND(F, F, [x, z])](/view.aspx?sf=240269_question/)
|

|
(14) |
|
Download define.mw