Overview of the Physics Package
|
Description
|
|
•
|
Physics is a package that implements computational representations and related operations for most of the objects used in mathematical physics computations, as for instance the spacetime metrics , the Kronecker and Levi-Civita symmetric and antisymmetric and , the Pauli and Dirac matrices and , the spacetime differentiation operators and d'Alembertian, an n-dimensional Dirac function; a set of commands for working with general relativlty as the covariant derivative , the Christoffel, Einstein, Ricci, Rieman and Weyl tensors; Kets, Bras and commands for performing Vector Calculus in a space of quantum states, etc.
|
•
|
The package extends the standard computational domain and operations introducing anticommutative and noncommutative variables and functions, appropriate for quantum physics formulations, tensor indices of spacetime, spinor and/or gauge types, functional differentiation, differentiation with respect to anticommutative variables, and differentiation and simplification of tensorial expressions using the Einstein summation convention for repeated indices. In this way, you can take advantage of the computational power of the Maple environment with the same flexible notation used when computing with paper and pencil.
|
•
|
The extension of the computational domain includes a Physics subpackage, Vectors, to perform standard abstract vector calculus, implementing representations for non-projected 3D vectors, including inert and active representations for the non-projected differential operators nabla, gradient, divergent, curl and the Laplacian, as well as algebraic (non-matricial) representations for projected 3D vectors in the cartesian, cylindrical and spherical vector basis. It is then possible to compute using coordinate-free vectorial formulations, exploring the coordinate-free properties of the vectors and vectorial operations involved, without specifying the vector basis until that is desired, and to input /work with vectorial expressions involving both nonprojected and projected vectors using essentially the same notation found in textbooks, that you use when computing by hand.
|
•
|
In order to perform this extension of the computational domain, a set of conventions for distinguishing between commutative, anticommutative and noncommutative variables, 3D vectors, tensors, etc. are to be established. An advanced setup of conventions is available with the Physics package but is not loaded automatically when you load the package. To load this setup and/or change these conventions about notation to your preferred ones see Setup or launch the setup applet by using Physics[Setup]().
|
•
|
After setting the computational environment, the Physics package can be used to study and tackle problems from classical mechanics to quantum physics and relativistic field theory.
|
•
|
Examples illustrating the use of the package's commands in Analytical Geometry, Mechanics, Electrodynamics, Special and General Relativity, and Quantum Mechanics are found in Physics, examples (this page opens only in the Standard Graphical User Interface).
|
|
|
List of Physics Package Commands
|
|
•
|
The following is a list of available commands.
|
•
|
Inert forms of these commands, representing the operations, having the same display and mathematical properties under differentiation, simplification etc., but holding the computations, consist of the same command's names prefixed by the % character. The inert computations constructed with these commands can be activated when desired using the value command.
|
|
Brief description of each command
|
|
•
|
The * command performs generalized products that may simultaneously involving commutative, anticommutative and noncommutative operands.
|
•
|
The `.` command performs the scalar or inner product between Bras Kets and linear quantum operators defined as such using the Setup command or returned by the Annihilation and Creation commands.
|
•
|
The Annihilation command constructs the annihilation or lowering operator for a given discrete space of states: when applied to a Ket, say , representing the state of a system of n particles, the operator constructed by Annihilation returns another Ket, representing the same state but with one particle less.
|
•
|
Bra and Ket are the dual of each other and represent vectors in a complex Hilbert space, frequently used to denote the state of a physical system in quantum mechanics.
|
•
|
The Check command checks the correctness of commutative products regarding the presence of anticommutative or noncommutative objects and the correctness of the (tensor, spinor or gauge) free and repeated indices found in a mathematical expression regarding the summation convention for repeated indices.
|
•
|
The Christoffel command is the computational representation for the Christoffel symbols.
|
•
|
The Coefficients command extracts all the coefficients of a multivariate polynomial involving commutative and anticommutative variables.
|
•
|
The Coordinates command sets aliases for the spacetime coordinates used by the Physics commands, used also as default differentiation variables by the Physics d_ and dAlembertian differentiation commands.
|
•
|
The Creation command constructs the creation or raising operator for a given discrete space of states: when applied to a Ket, say , representing the state of a system of n particles, the operator constructed by Creation returns another Ket, , that is, it increases the number of particles in a given state by one.
|
•
|
The d_ command is the indexed differential operator w.r.t the spacetime variables.
|
•
|
The D_ command is the covariant derivative indexed differential operator w.r.t the spacetime variables - the generalization of d_ to curvilinear coordiantes.
|
•
|
The dAlembertian command is the d'Alembertian differential operator (w.r.t the spacetime parameters).
|
•
|
The Define command is used to define an object as a Physics tensor object, as well as its structure (number of indices and variables on which the object depends) and (anti)symmetry properties under permutation of some or all of of their indices.
|
•
|
The Dgamma command represents the Dirac matrices.
|
•
|
The diff command is a differentiation command that works with commutative and anticommutative (AC) differentiation variables. This command is an extension of the global :-diff (note the :-) in that it works as :-diff concerning syntax and display and when the differentiation variable is not AC. The Physics version of diff understands tensor notation and computes using the summation convention for repeated indices regarding tensor objects defined as such using the Define command. This command can also differentiate "with respect to functions" (e.g. differentiate with respect to the "velocity"), and it can compute true partial derivatives (i.e.: at fixed values of some functions also depending on the differentiation variable), not possible to compute with the global :-diff.
|
•
|
The GrassmannParity command computes the Grassmannian parity, as 0, 1 or undefined, according to whether an expression is commutative, anticommutative or noncommutative.
|
•
|
The Gtaylor command computes Taylor series expansion of expressions involving anticommutative variables.
|
•
|
The Einstein command is the computational representation for the Einstein tensor.
|
•
|
The Expand command is available only by using the long form Physics[Expand] and normalizes and recursively expands noncommutative products over sums. Note: after loading Physics, this functionality is also provided through the standard expand command.
|
•
|
The FeynmanDiagrams command uses Wick's theorems to obtain the analytic structure of the Feynman diagrams of a model in field theory. Only the terms which represent connected, one-particle-irreducible Green functions are generated.
|
•
|
The Fundiff command evaluates functional derivatives. This command takes into account the summation convention for repeated indices and computes both with commutative and anticommutative variables and functions.
|
•
|
The g_ KroneckerDelta and LeviCivita commands respectively represent the spacetime metric the Kronecker delta (totally symmetric, displayed as ) and Levi-Civita (totally antisymmetric, displayed as ) symbols.
|
•
|
The Intc command permits the quick input of (possibly multiple) definite integrals from to .
|
•
|
The Inverse command is used to represent the inverse (with respect to noncommutative products) of expressions involving commutative, anticommutative, and/or noncommutative objects.
|
•
|
Ket: see Bra at the beginning of this itemization.
|
•
|
The Parameters command permits the definition of the parameters of a theory in such a way that no functionality can be attached to them. For example, if m is defined as a parameter through then will return just m (without any functionality) and not m(t).
|
•
|
The PerformOnAnticommutativeSystem command performs, in a system of equations with anticommutative variables, an operation (Maple command) originally programmed to work only with commutative variables.
|
•
|
The Projector command returns the projector operator onto a space of states constructed with Bras and Kets of its basis.
|
•
|
The Psigma command represents the Pauli matrices.
|
•
|
The Ricci command is the computational representation for the Ricci tensor.
|
•
|
The Riemann command is the computational representation for the Riemann tensor.
|
•
|
The Setup command permits querying about or setting the computational environment regarding conventions for distinguishing between anticommutative, noncommutative and commutative variables, vectors, the dimension of the spacetime, etc. A graphical interface (applet) for setting theses conventions can be launched by using Physics[Setup]();
|
•
|
The Simplify command simplifies noncommutative products and tensorial expressions taking into account the summation convention for repeated indices and the (anti)symmetry properties of the indices of the tensorial objects involved according to how these objects were defined using the Define command.
|
•
|
The SpaceTimeVector command is a representation for spacetime indexed vectors related to spacetime coordinate systems defined using Coordinates or Setup.
|
•
|
The SubstituteTensorIndices command performs substitution of covariant/contravariant tensor indices in tensorial expressions.
|
•
|
The TensorArray command constructs an Array that can be indexed to return the values of a tensorial expression.
|
•
|
The ToFieldComponents command rewrites functions of anticommutative variables (superfields) in terms of functions of commutative variables (field components).
|
•
|
The ToSuperfields command rewrites expressions with field components in terms of the corresponding superfields.
|
•
|
The Trace command is used to represent the trace of an object of abstract dimension or (possibly noncommutative) product of them, typically representing infinite-dimensional operators in quantum theories. This command knows about the properties of the traces of the Dirac matrices.
|
•
|
The Weyl command is the computational representation for the Weyl tensor.
|
•
|
The Vectors is a subpackage for performing basic abstract vector calculus with nonprojected 3D vectors and related differential operators that can be formed combining the nabla operator and the scalar and cross products for vectors.
|
|
You are very welcome to contribute ideas for improvements. There is a great deal of scope for changing and improving things; let us know your suggestions by writing to support@maplesoft.com.
|
|
|
|
References
|
|
|
Textbooks
|
|
|
Bogoliubov, N.N., and Shirkov, D.V. Quantum Fields. Benjamin Cummings, 1982.
|
|
Cohen-Tannoudji, C.; Diu, B.; and Laloe, F. Quantum Mechanics. Paris, France: Hermann, 1977.
|
|
Feynman, R.P.; Leighton, R.B.; and Sands, M. The Feynman Lectures on Physics. Addison-Wesley, 1977.
|
|
Landau, L.D., and Lifshitz, E.M. Course of Theoretical Physics. Elsevier, 1975.
|
|
Smirnov. A Course of Higher Mathematics. Addison Wesley, 1964.
|
|
|
Computational implementation
|
|
|
Physics is based upon previous work by E.S. Cheb-Terrab.
|
–
|
Cheb-Terrab, E.S. "Maple procedures for partial and functional derivatives." Computer Physics Communications, Vol. 79, (1994): 409-424.
|
–
|
Cheb-Terrab, E.S. "Symbolic Computing with Anti-commutative and Non-commutative Variables." MapleTech Vol. 5, No. 1, (1998): 16-22.
|
–
|
Cheb-Terrab, E.S.; da Mota, L.; and Vazques, E.C. "A symbolic computing environment for doing calculations in quantum field theories." XVI Brazilian Meeting for Fields and Particle Physics, ENFP. Brazil, 1995.
|
–
|
Cheb-Terrab, E.S., and Nisembaum, M. "Vector Analysis and Symbolic Computation in Physics Education." Workshop: Computers in Education, EDAI - UERJ. Rio de Janeiro, Brazil, 1995.
|
|
|
|