Physics[PerformOnAnticommutativeSystem] - Perform a Maple command originally programmed to work only with commutative variables, in a system of equations with anticommutative variables
Calling Sequence
PerformOnAnticommutativeSystem(command, list_of_arguments, other_arguments)
Parameters
command
-
a Maple command (not part of the Physics package) that is programmed to work only with commutative variables
list_of_arguments
a list with one or many algebraic expressions or relations, possibly including sets or lists of them, involving anticommutative variables, these are the arguments that command cannot handle directly
other_arguments
the rest of the arguments to be sent to command and that command can handle regardless of the presence of anticommutative variables in list_of_arguments
Description
The PerformOnAnticommutativeSystem command performs, in a system of of expressions/relations involving anticommutative variables, an operation (Maple command) originally programmed to work only with commutative variables.
For Maple 16, only commands having a syntax similar to the Maple differential equation solvers dsolve or pdsolve are handled properly, although PerformOnAnticommutativeSystem will accept any other command and operation, and attempt to perform the operation as described below.
The first argument is the command that will perform the operation. The second argument is a list of arguments that will be sent to command after being pre-processed as explained in the itemization below. The remaining arguments will also be sent to command but are not supposed to require any pre-processing; command is expected to handle them regardless of the presence of anticommutative variables within them or in list_of_arguments.
The output of PerformOnAnticommutativeSystem is then what would be the output of command if it were capable of handling anticommutative variables. In this sense PerformOnAnticommutativeSystem extends the ability of existing Maple commands, originally programmed only to work on commutative domains, to handle extended domains involving anticommutative variables. The strategy used in PerformOnAnticommutativeSystem is as follows:
The list_of_arguments involving anticommutative variables is viewed as a system of relations (equations would be a special case of them) where each relation is expanded as a polynomial in its anticommutative variables (see ToFieldComponents).
Each polynomial is split into the Coefficients of the anticommutative variables transforming each relation into a system of relations, now involving only commutative variables. At this point the given problem got mapped into one that command is expected to handle.
The resulting system in step 2 is sent to command that performs the operation.
The result of step 3 is processed to reconstruct the original functions of anticommutative variables departing from its commutative components (see ToSuperfields), and the result returned.
PerformOnAnticommutativeSystem was written as an experimental command by the research team at Maplesoft, aiming at bridging the gap between thousands of programs originally written for commutative domains, and the computational needs of noncommutative geometry and its applications in Mathematics and Physics. There is a great deal of scope for changing and improving things in PerformOnAnticommutativeSystem. You are welcome to contribute your ideas by email to support@maplesoft.com.
Examples
with⁡Physics:
Setup⁡mathematicalnotation=true
mathematicalnotation=true
Set first θ and Q as prefixes for variables of type/anticommutative (see Setup)
Setup⁡anticommutativepre=Q,θ
* Partial match of 'anticommutativepre' against keyword 'anticommutativeprefix'
_______________________________________________________
anticommutativeprefix=Q,θ
Consider this partial differential equation for the anticommutative function Q of commutative and anticommutative variables x,θ
diff⁡Q⁡x,y,θ,x,θ=0
∂2∂x∂θQ⁡x,y,θ=0
Its solution using pdsolve, originally written to handle problems in a commutative domain
PerformOnAnticommutativeSystem⁡pdsolve,
Q⁡x,y,θ=_F1⁡x,y⁢_λ1+f__3⁡y⁢θ
Note the presence of the anticommutative arbitrary constant _lambda2, introduced by dsolve when solving intermediate ordinary differential equations. In fact both dsolve and pdsolve in Maple 16 have this approach calling PerformOnAnticommutativeSystem coded within them so they can tackle the problem directly:
pdsolve⁡
Q⁡x,y,θ=f__4⁡x,y⁢_λ1+f__3⁡y⁢θ
To avoid redundant typing in the input that follows and redundant display of information on the screen let's use PDEtools:-diff_table PDEtools:-declare
PDEtools:-declare⁡Q⁡x,y,θ1,θ2
Q⁡x,y,θ1,θ2⁢will now be displayed as⁢Q
q≔PDEtools:-diff_table⁡Q⁡x,y,θ1,θ2:
Now you can enter derivatives directly as the function's name indexed by the differentiation variables and see the display the same way; two PDEs
pde1≔qx,y,θ1+qx,y,θ2−qy,θ1,θ2=0
pde1≔Qx,y,θ1+Qx,y,θ2−Qy,θ1,θ2=0
pde2≔qθ1=0
pde2≔Qθ1=0
Reduce pde[1] using pde[2] (see PDEtools:-ReducedForm)
PerformOnAnticommutativeSystem⁡PDEtools:-ReducedForm,pde1,pde2
Qx,y,θ2where
Set ϒ and Κ to also be prefixes for anticommutative names
Setup⁡anticommutativepre=Κ,ϒ,additionally
anticommutativeprefix=Κ,Q,ϒ,_λ,θ
Declare the anticommutative functions ϒ⁡x,y,θ1,θ2 and Κ⁡x,y,θ1,θ2 as well as the commutative function Ξ⁡x,y,θ1,θ2 and Τ⁡x,y,θ1,θ2, and use corresponding diff_table for all of them
PDEtools:-declare⁡ϒ,Κ,Ξ,Τ⁡x,y,θ1,θ2
ϒ⁡x,y,θ1,θ2⁢will now be displayed as⁢ϒ
Κ⁡x,y,θ1,θ2⁢will now be displayed as⁢Κ
Ξ⁡x,y,θ1,θ2⁢will now be displayed as⁢Ξ
Τ⁡x,y,θ1,θ2⁢will now be displayed as⁢Τ
U≔PDEtools:-diff_table⁡ϒ⁡x,y,θ1,θ2:
K≔PDEtools:-diff_table⁡Κ⁡x,y,θ1,θ2:
X≔PDEtools:-diff_table⁡Ξ⁡x,y,θ1,θ2:
T≔PDEtools:-diff_table⁡Τ⁡x,y,θ1,θ2:
A large PDE system involving these four anticommutative and commutative functions ϒ,Κ,Ξ,Τ
sys≔Ux,x,x−Uy+a⁢θ2⁢θ1⁢Ux,x+a⁢Ux,θ1⁢θ2=0,−Tx,x,x−3⁢Xx+Ty−a⁢θ2⁢Tx,θ1−a⁢Tx,x⁢θ2⁢θ1=0,−Kx,x,x+Ky+6⁢Ux−3⁢a⁢Ux+a⁢Kx,θ1⁢θ2−a⁢θ2⁢θ1⁢Kx,x+a⁢Ux,θ2⁢θ2=0,−6⁢Tx+3⁢a⁢Tx−a⁢θ2⁢Tx,θ2=0,−6⁢Kx+a⁢Kx,θ2⁢θ2+3⁢a⁢Kx=0,−Xx,x,x+3⁢Ux,x,θ2+Xy+6⁢Uθ1+a⁢θ2⁢Uθ2,θ1−3⁢a⁢Uθ1−a⁢θ2⁢Xx,θ1−a⁢Xx,x⁢θ2⁢θ1+2⁢a⁢Ux,θ2⁢θ2⁢θ1=0,−3⁢Tx,x,θ2−3⁢Xθ2−a⁢Tθ2,θ1⁢θ2−6⁢Tθ1+3⁢a⁢Tθ1−2⁢a⁢θ2⁢θ1⁢Tx,θ2=0,−3⁢Kx,x,θ2+6⁢Uθ2+12⁢Xx−6⁢Kθ1−3⁢a⁢Uθ2−6⁢a⁢Xx+3⁢a⁢Kθ1+a⁢θ2⁢Kθ2,θ1−2⁢a⁢Kx,θ2⁢θ2⁢θ1−a⁢θ2⁢Xx,θ2=0,−6⁢Tθ2+3⁢a⁢Tθ2=0,−6⁢Kθ2+3⁢a⁢Kθ2=0,−a⁢Tx⁢θ2=0,a⁢θ2⁢Tθ2=0,−3⁢Tx,x−2⁢a⁢Tx⁢θ2⁢θ1−a⁢θ2⁢Tθ1=0,−a⁢θ2⁢Tθ2=0,6⁢Tx,θ2+2⁢a⁢θ2⁢θ1⁢Tθ2=0,−3⁢Kx,x−2⁢a⁢θ2⁢θ1⁢Kx+a⁢Kθ1⁢θ2+a⁢U+2⁢a⁢Xx⁢θ2=0,a⁢Kθ2⁢θ2=0,−6⁢Kx,θ2−2⁢a⁢θ2⁢Xθ2−2⁢a⁢Kθ2⁢θ2⁢θ1=0,−a⁢θ2⁢K+3⁢Ux,θ2−3⁢Xx,x−a⁢θ2⁢Xθ1−a⁢θ1⁢U+a⁢Xx⁢θ2⁢θ1=0,−3⁢Tx,θ2=0,−3⁢Kx,θ2−a⁢θ2⁢Xθ2=0,3⁢Xx,θ2−a⁢θ2⁢θ1⁢Xθ2=0,−3⁢Tθ2=0,−3⁢Kθ2=0,−3⁢Tx=0,3⁢Tθ2=0
sys≔ϒx,x,x−ϒy−a⁢θ1⁢θ2⁢ϒx,x+a⁢ϒx,θ1⁢θ2=0,−Τx,x,x−3⁢Ξx+Τy−a⁢θ2⁢Τx,θ1+a⁢Τx,x⁢θ1⁢θ2=0,−Κx,x,x+Κy+6⁢ϒx−3⁢a⁢ϒx+a⁢Κx,θ1⁢θ2+a⁢θ1⁢θ2⁢Κx,x+a⁢ϒx,θ2⁢θ2=0,−6⁢Τx+3⁢a⁢Τx−a⁢θ2⁢Τx,θ2=0,−6⁢Κx+a⁢Κx,θ2⁢θ2+3⁢a⁢Κx=0,−Ξx,x,x+3⁢ϒx,x,θ2+Ξy+6⁢ϒθ1+a⁢θ2⁢ϒθ1,θ2−3⁢a⁢ϒθ1−a⁢θ2⁢Ξx,θ1+a⁢Ξx,x⁢θ1⁢θ2−2⁢a⁢ϒx,θ2⁢θ1⁢θ2=0,−3⁢Τx,x,θ2−3⁢Ξθ2−a⁢Τθ1,θ2⁢θ2−6⁢Τθ1+3⁢a⁢Τθ1+2⁢a⁢θ1⁢θ2⁢Τx,θ2=0,−3⁢Κx,x,θ2+6⁢ϒθ2+12⁢Ξx−6⁢Κθ1−3⁢a⁢ϒθ2−6⁢a⁢Ξx+3⁢a⁢Κθ1+a⁢θ2⁢Κθ1,θ2+2⁢a⁢Κx,θ2⁢θ1⁢θ2−a⁢θ2⁢Ξx,θ2=0,−6⁢Τθ2+3⁢a⁢Τθ2=0,−6⁢Κθ2+3⁢a⁢Κθ2=0,−a⁢Τx⁢θ2=0,a⁢θ2⁢Τθ2=0,−3⁢Τx,x+2⁢a⁢Τx⁢θ1⁢θ2−a⁢θ2⁢Τθ1=0,−a⁢θ2⁢Τθ2=0,6⁢Τx,θ2−2⁢a⁢θ1⁢θ2⁢Τθ2=0,−3⁢Κx,x+2⁢a⁢θ1⁢θ2⁢Κx+a⁢Κθ1⁢θ2+a⁢ϒ+2⁢a⁢Ξx⁢θ2=0,a⁢Κθ2⁢θ2=0,−6⁢Κx,θ2−2⁢a⁢θ2⁢Ξθ2+2⁢a⁢Κθ2⁢θ1⁢θ2=0,−a⁢θ2⁢Κ+3⁢ϒx,θ2−3⁢Ξx,x−a⁢θ2⁢Ξθ1−a⁢θ1⁢ϒ−a⁢Ξx⁢θ1⁢θ2=0,−3⁢Τx,θ2=0,−3⁢Κx,θ2−a⁢θ2⁢Ξθ2=0,3⁢Ξx,θ2+a⁢θ1⁢θ2⁢Ξθ2=0,−3⁢Τθ2=0,−3⁢Κθ2=0,−3⁢Τx=0,3⁢Τθ2=0
Note that the notation used in this display is compact, but the actual contents is there. For example, for the first equation in sys
sys1
ϒx,x,x−ϒy−a⁢θ1⁢θ2⁢ϒx,x+a⁢ϒx,θ1⁢θ2=0
Show the contents:
lprint⁡sys1
diff(diff(diff(Upsilon(x,y,theta[1],theta[2]),x),x),x)-diff(Upsilon(x,y,theta[1],theta[2]),y)-a*Physics:-`*`(theta[1],theta[2],diff(diff(Upsilon(x,y,theta[1],theta[2]),x),x))+a*Physics:-`*`(Physics:-diff(diff(Upsilon(x,y,theta[1],theta[2]),x),theta[1]),theta[2]) = 0
The simplification of sys taking into account its integrability conditions (see PDEtools:-casesplit)
PerformOnAnticommutativeSystem⁡PDEtools:-casesplit,sys
−θ1⁢Ξx,θ1−θ2⁢Ξx,θ2+Ξx=0,−θ1⁢Ξy,θ1−θ2⁢Ξy,θ2+Ξy=0,ϒθ2=0,Κθ1=0,ϒθ1=0,Ξθ1,θ2=0,−θ1⁢Τx,θ1−θ2⁢Τx,θ2+Τx=0,−θ1⁢Τy,θ1−θ2⁢Τy,θ2+Τy=0,Κθ2=0,ϒ−ϒθ2⁢θ2−ϒθ1⁢θ1=0,Κ−Κθ2⁢θ2−Κθ1⁢θ1=0,−Ξθ1+Ξθ1,θ2⁢θ2=0,−Τθ1=0,−Ξθ1,θ2⁢θ1−Ξθ2=0,ϒθ1,θ2=0,Τθ1,θ2=0,Κθ1,θ2=0,−Τθ1,θ2⁢θ1−Τθ2=0where
See Also
anticommutative, casesplit, Coefficients, commutative, dsolve, Gtaylor, pdsolve, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, ReducedForm, Setup, solve, ToFieldComponents, ToSuperfields
Compatibility
The Physics[PerformOnAnticommutativeSystem] command was introduced in Maple 16.
For more information on Maple 16 changes, see Updates in Maple 16.
Download Help Document