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)
ToSuperfields(expression)


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 preprocessed as explained in the itemization below. The remaining arguments will also be sent to command but are not supposed to require any preprocessing; 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:

1.

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).

2.

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.

3.

The resulting system in step 2 is sent to command that performs the operation.

4.

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.



Compatibility


•

The Physics[PerformOnAnticommutativeSystem] command was introduced in Maple 16.



Examples


>


>


 (1) 
Set first and as prefixes for variables of type/anticommutative (see Setup)
>


 (2) 
Consider this partial differential equation for the anticommutative function of commutative and anticommutative variables
>


 (3) 
Its solution using pdsolve, originally written to handle problems in a commutative domain
>


 (4) 
Note the presence of the anticommutative arbitrary constant , 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:
>


 (5) 
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
>


 (6) 
>


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
>


 (7) 
>


 (8) 
Reduce pde[1] using pde[2] (see PDEtools:ReducedForm)
>


 (9) 
Set and to also be prefixes for anticommutative names
>


 (10) 
Declare the anticommutative functions and as well as the commutative function and , and use corresponding diff_table for all of them
>


 (11) 
>


>


>


>


A large PDE system involving these four anticommutative and commutative functions
>


 (12) 
Note that the notation used in this display is compact, but the actual contents is there. For example, for the first equation in sys
>


 (13) 
Show the contents:
>


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)
>


 (14) 
>




See Also


anticommutative, casesplit, Coefficients, commutative, dsolve, Gtaylor, pdsolve, Physics, Physics conventions, Physics examples, ReducedForm, Setup, solve, ToFieldComponents, ToSuperfields

