Overview of the Physics Package - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Physics : Physics Package : Physics

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 gμ,ν, 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 relativity as the covariant derivative 𝒟μ, the Christoffel, Einstein, Ricci, Riemann and Weyl tensors; Ketsψ, Bras and commands for performing Vector Calculus in a space of quantum states, a command for computing the analytic structure behind the Feynman Diagrams of a model, etc.

• 

Besides the Physics commands listed further below, Physics includes 4 subpackages: Vectors with 16 commands for vector analysis, Tetrads with 13 commands for working with tetrads, Library with 140 specialized commands for programming in Physics, and Library:-PhysicsType with 70 specialized types for working with Physics.

• 

The Physics package extends the standard computational domain and operations introducing anticommutative and noncommutative variables and functions, appropriate for quantum physics formulations, tensor indices of spacetime, space, tetrad, 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 3-D 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 3-D 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, 3-D 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. Physics is based upon previous work by E.S. Cheb-Terrab.

• 

Mathematical notation: When Physics or Physics[Vectors] are loaded in the Standard Graphical User Interface, by entering Setup(mathematicalnotation = true) at the prompt, anticommutative and noncommutative variables are displayed in different colors, non-projected vectors and unit vectors are respectively displayed with an arrow and a hat on top, the vectorial differential operators (Nabla, Laplacian, etc.) with an upside down triangle, and most of the other Physics commands are displayed as in textbooks. You can also set this notation from the Options Dialog: go to Tools > Options, select the Display tab, and set the Typesetting level to Extended.

• 

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.

*

.

^

Annihilation

AntiCommutator

Antisymmetrize

Assume

Bra

Bracket

Check

Christoffel

Coefficients

Commutator

Coordinates

Creation

d_

D_

Dagger

dAlembertian

Define

Dgamma

diff

diff[anticommutative]

Einstein

Expand

ExteriorDerivative

FeynmanDiagrams

Fundiff

g_

Geodesics

GrassmannParity

Gtaylor

Intc

Inverse

Ket

KillingVectors

KroneckerDelta

LeviCivita

Library

LieBracket

LieDerivative

Normal

Parameters

PerformOnAnticommutativeSystem

Projector

Psigma

Ricci

Riemann

Setup

Simplify

SpaceTimeVector

SubstituteTensor

SubstituteTensorIndices

SumOverRepeatedIndices

Symmetrize

TensorArray

Tetrads

ToFieldComponents

ToSuperfields

Trace

TransformCoordinates

types

Vectors

Weyl

• 

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 commands' names prefixed by the % character. The inert computations constructed with these commands can be activated when desired using the value command.

• 

Further information relevant to the use of these commands is found under Conventions used in the Physics package (spacetime tensors, not commutative variables and functions, quantum states and Dirac notation), Physics examples, Physics Maple 16 updates, Physics Maple 17 updates, Physics Maple 18 updates, DifferentialGeometry and Physics constants.

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 |n>, representing the state of a system of n particles, the operator constructed by Annihilation returns another Ket, |n1> representing the same state but with one particle less.

• 

Given two objects A and B, the AntiCommutator(A, B) command represents the quantity AB+BA, denoted in textbooks as {A, B} and in the Maple worksheet as [A, B][+].

• 

The Antisymmetrize and Symmetrize commands receive a tensorial expression with some free indices and return another one respectively totally antisymmetric or totally symmetric with respect to permutations of those free indices.

• 

The Assume combines the functionality of the assume and additionally but, unlike assume, Assume does not redefine the variables receiving assumptions, appropriate for working with global variables having geometrical meaning as done when using the Physics package.

• 

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 Bracket command represents the inner product between a Bra, say <A&verbar; and a Ket &verbar;B>, that is A&verbar;B. When acting on three arguments, say A&comma;H&comma;B, where H is a linear operator, Bracket(A, H, B) represents the object <A&verbar;H&verbar;B>=<A&verbar;H&verbar;B>=<A&verbar;H&verbar;B> where H&verbar;B> is Ket, the same way as <A&verbar;H is a Bra.

• 

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.

• 

Given two objects A and B, the Commutator(A, B) command represents the quantity ABBA, denoted in textbooks as [A, B] and in the Maple worksheet as [A, B][-].

• 

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 &verbar;n>, representing the state of a system of n particles, the operator constructed by Creation returns another Ket, &verbar;n+1>, that is, it increases the number of particles in a given state by one.

• 

The Dagger(A) command returns the Hermitian adjoint of the linear operator A; if A is represented by a square matrix, Dagger(A) represents the complex conjugate of the transpose of A

• 

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

• 

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.

  

For information on conversions between diff, D, and :diff, see conversions between differentiation notations.

• 

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 ExteriorDerivative command computes the exterior product (that is a totally antisymmetrized product) between the covariant derivative operator and a covariant totally antisymmetric tensor.

• 

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_ command represents the spacetime metric (displayed as g).

• 

The Geodesics command computes and solves the geodesic equations corresponding to the spacetime metric set, optionally returning the equations themselves.

• 

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 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 KillingVectors computes and solves the Killing equations corresponding to the spacetime metric set, optionally returning the equations themselves.

• 

The KroneckerDelta command represents the Kronecker delta (totally symmetric tensor of 2 indices displayed as δ).

• 

The LeviCivita command represents the Levi-Civita tensor (totally antisymmetric, displayed as ϵ) symbols.

• 

The Library is a programming language for Physics containing 96 programming commands plus 58 specialized types (noncommutative variables, tensor notation, vectors, etc.); this is a selected subset of the routines with which Physics is constructed.

• 

The LieBracket command computes the Lie bracket of two vector fields using algebraic tensor notation.

• 

The LieDerivative command computes the Lie derivative of a tensorial expression using algebraic tensor notation.

• 

The Normal command is a generalization of normal to work on expressions simultaneously involving commutative, anticommutative, and noncommutative variables.

• 

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 parametersm then mt 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.

• 

Symmetrize and Antisymmetrize receive a tensorial expression with some free indices and return another one respectively totally symmetric or totally antisymmetric with respect to permutations of those free indices.

• 

The SpaceTimeVector command is a representation for spacetime indexed vectors related to spacetime coordinate systems defined using Coordinates or Setup.

• 

The SubstituteTensor command substitutes into ee equations EQ having tensors, or products or sums of them, on the left-hand sides, taking care of free and repeated indices of both ee and the equations EQ such that: 1) equations in EQ are interpreted as mappings having the free indices as parameters, 2) repeated indices in EQ do not clash with repeated indices in ee.

• 

The SubstituteTensorIndices command performs substitution of covariant/contravariant tensor indices in tensorial expressions.

• 

The SumOverRepeatedIndices command performs summation over the repeated indices of a tensorial expression.

• 

The TensorArray command constructs an Array that can be indexed to return the values of a tensorial expression.

• 

Tetrads is a subpackage with commands for performing computations in a local system of references (tetrad system) in addition to the global (spacetime) system of references, including commands to compute using the Newman-Penrose formalism.

• 

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 TransformCoordinates command transforms the coordinates in a tensorial expression.

• 

The Weyl command is the computational representation for the Weyl tensor.

• 

Vectors is a subpackage for performing basic abstract vector calculus with nonprojected 3-D 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 physics@maplesoft.com.

See Also

conventions used in the Physics package, conversions between differentiation notations, PhysicalConstants, Physics examples, Physics[Vectors], UsingPackages

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.


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam