MaplePrimes Posts

MaplePrimes Posts are for sharing your experiences, techniques and opinions about Maple, MapleSim and related products, as well as general interests in math and computing.

Latest Post
  • Latest Posts Feed
  • Application of the properties of real numbers such as divisible factors, quantity and sum of prime divisors, DCM and MCM among others. All the technology embedded components of Maple.

     

    Propiedad_de_los_Numeros.mw

     

    Atte.

    L.AraujoC.

     

     

     

    I would like to pay attention to an article by David Austin "The Stable Marriage Problem and School Choice"

    Here is its inroduction:

    " Every year, 75,000 New York City eighth graders apply for admission to one of the city's 426 public high schools. Until recently, this process asked students to list five schools in order of preference. These lists were sent to the schools, who decided which applicants to accept, wait-list, or reject. The students were then notified of their status and allowed to accept only one offer and one position on a waiting list. After the students had responded to any offers received, schools with unfilled positions made a second round of offers, and this process continued through a concluding third round.

    This process had several serious problems. At the end of the third round of offers, nearly half of the students, usually lower-performing students from poor families, had not been accepted into a school. Many of these students waited through the summer only to learn they had been matched with a school that was not on their list of five schools.

    This process also encouraged students and their parents to think strategically about the list of schools they submitted. Students that were rejected by the school at the top of their list might find that their second-choice school had no vacancies in the second round of offers. This made it risky for many students to faithfully state their true preferences, a view encouraged by the Education Department's advice that students "determine what your competition is" before creating their lists of preferred schools.

    Lastly, schools would often underrepresent their capacity hoping to save positions for students who were unhappy with their initial offerings.

    In the end, the process couldn't place many students while it encouraged all parties, both students and schools, to strategically misrepresent themselves in an effort to obtain more desirable outcomes not possible otherwise. Widespread mistrust in the placement process was a natural consequence.

    Using ideas described in this column, economists Atila Abdulkadiroglu, Parag Pathak, and Alvin Roth designed a clearinghouse for matching students with high schools, which was first implemented in 2004. This new computerized algorithm places all but about 3000 students each year and results in more students receiving offers from their first-choice schools. As a result, students now submit lists that reflect their true preferences, which provides school officials with public input into the determination of which schools to close or reform. For their part, schools have found that there is no longer an advantage to underrepresenting their capacity.

    The key to this new algorithm is the notion of stability, first introduced in a 1962 paper by Gale and Shapley. We say that a matching of students to schools is stable if there is not a student and a school who would prefer to be matched with each other more than their current matches. Gale and Shapley introduced an algorithm, sometimes called deferred acceptance, which is guaranteed to produced a stable matching. Later, Roth showed that when the deferred acceptance algorithm is applied, a student can not gain admittance into a more preferred school by strategically misrepresenting his or her preferences.

    This column will present the game-theoretic results contained in the original Gale-Shapley paper along with Roth's subsequent analysis. Pathak calls the deferred acceptance algorithm "one of the great ideas in economics," and Roth and Shapley were awarded the 2012 Nobel Prize in economics for this work"

    It would be nice to realize that in Maple.

     

     

    Maple T.A. 10 introduced two new question types: Sketch and Free Body Diagram. To assist users in learning the new question types, Maplesoft has created a few hundred samples to look at. These sample questions are already featured on the Maple T.A. Cloud, but you can also download the course modules below. 

    Sketching Questions - This course module contains 309 sketch questions. Areas covered include: functions, exponential functions, inequalities, linear equations, logarithmic functions, piecewise functions, quadratic equations, systems of equations and transformations of functions.

    Free Body Diagram Questions - This course module contains 118 free body diagram questions. Areas covered include: Electricity, Magnetism and Mechanics.

    Jonny Zivku
    Maplesoft Product Manager, Maple T.A.

    Maplesoft regularly hosts live webinars on a variety of topics. Below you will find details on an upcoming webinar we think may be of interest to the MaplePrimes community.  For the complete list of upcoming webinars, visit our website.

    See What’s New in Maple 2015 for Educators

    Maple 2015 is a major new release of Maple, the technical computing software used for education, research, and development involving mathematics, engineering, and the sciences. With Maple 2015, Maplesoft offers important new abilities to both educators and researchers, particularly in the areas of data analysis, application development and statistics education. This webinar will provide a complete overview of these new features, including:

    • A new interface to access, work with, and visualize millions of datasets in the areas of finance, economics, and demographics.
    • New facilities for developing Math Apps, including a new microphone and speaker component.
    • Advances in integration, differential equations, interactive maps, group theory, physics, and more.
    • New Clickable Math tools, including palettes and 60 new interactive Math Apps.
    • New tutors, palettes and Math Apps designed explicitly for teaching and learning statistics.
    • And more!

    To join us for the live presentation, please click here to register.

    Hi everyone,

    at the suggestion of Carl I am making my question a post.

    History:

    Newbies often get fascinated with the power tower: x^x^x^...

    The generalized power tower z^z^z^... is a special case of the Euler sequence:

    z_{n+1}=c^z_n, for c\in C.

    Like the Mandelbrot set: z_{n+1}=z^2-c, the power tower, often called infinite exponential, also has a general periodic map. It is included below and is taken from Daniel Geisler's site:
    www.tetration.org

    Shel and Thron proved that the infinite exponential conveges whenever c belongs to the red region, called today Shell-Thron region.

    Definition of Julia Sets for the iterated exponential map:

    Also like the Mandelbrot set, the infinite exponential admits Juila Sets. The Julia Sets of the infinite exponential however, are defined differently from the Julia Sets of the Mandelbrot set. They are defined to be  the closure of the periodic repellers of the Euler sequence . They are Cantor Bouquets.  Geisler's colored map then is a general map of how the corresponding Julia set behaves roughly, with c taken from the map. 

    We can then introduce small cuts which go from the interior of the Shell-Thron region to the exterior, crossing at various angles, and this will tells us how the infinite exponential evolves. Generally speaking, each time one crosses the Shell-Thron boundary, one wittnesses what's called a Knaster explosion, wherein the exponential explodes into p subregions, where p is the pre-period of the multiplier.


    When the parameter c exits the Shell-Thron region at angles of 2*Pi and Pi from the real axis (cuts right and left, p=1, 2), the infinite exponential either transitions from converging to a single feature to exploding into multiple indecomposable contiua (p=1), or it breaks into a period 2 bifurcation (p=2), which itself, also may explode into continua.

    When it exits at angles 2*Pi/p, where p>2 is the preperiod of the multiplier, then the infinite exponential evolves from converging to a single feature, to exploding into  p major regions, called Fatou regions, each one having its own attractor, displaying a p-furcation.


    In all cases,  the Knaster explosions may introduce the presence of indecomposable continua, as some Fatou regions end up covering entire parts of the complex plane after each transition. In the animations, Knaster explosions occur whenever the background is red. There may be more than one explosion present in the evolution of the power tower. 

    Cantor Bouquets are strange creatures. They are essentially quantum sets, and no point of them is actually visible. The probability a point is visible varies directly with the area of the corresponding bouquet "finger" which is rendered in the area of interest. Devaney uses these "fingers"  to obtain "iteneraries" of the iterated exponential map.

    Points "close"  to the fingers-hairs o the Cantor Bouquets escape towards complex infinity at (final) angles 2*Pi/p.

    The "hairs" of a Cantor Bouquet are C^\infty curves, hence they can be termed easthetically pretty. Only hairs from the main Cantor bouquet for c=e^{1/e} are globally convex/concave. Every other bouquet may contain hairs which change curvature "unpredictably".

    Inlcuded files:

    1) Euler.mw

    2) EulerAnimation.mw

    3) EulerAnimation2_noaxes.mw

     

    Code for static fractal with given parameters in 1). Parameters can be changed in the constant section (Try p=2,4 or Pi)

    Code for morphing animations through cuts in the Shell-Thron region in 2). Parameters d1-d2, N

    Code for zooming animations in 3). Parameters M, M1-M2,

    Limitations:

    Will show attractors of broken Fatou basins only up to pre-period p=5. No big deal though. If you want to increase the preperiod past p=5, you need to add the relavnt tests in procedure ppc(c), otherwise the new attractors are not calculated and the plot ends up red.

    Colors are assigned a bit more dispersed, using ln(m). You can also use m in that place. It depends on which area you are in.

    Basins of attraction and Fatou regions change appearance under different epsilons. If you want different shapes for the basins, you can try using the Manhattan metric in proc Jhf, instead of |z-lim|.

    Included below are the main map of tetration by Daniel Geisler, a short excerpt of the Shell-Thron region which shows pre-periodic cuts and  6 morhing transitions, for p\in {1,2,3,4,5} and one which exits at the angle of 2 radians (p=Pi).

    References:

    More than 300. To be published with my thesis. Patches, problems and code corrections in the original question page:

    http://www.mapleprimes.com/questions/203593-Maple-13-Fast-Maple-18-Crawling

    Maplesoft will be hosting the 2nd annual Maple T.A. User Summit June 15 - 17 in New York City, USA.

    Don’t miss this opportunity to learn about new trends in online education while networking and socializing with fellow educators and Maple T.A. users in the city that never sleeps!

    Conference highlights include:

    • Hear from long term users who have used the Maple T.A. technology to transform their classroom experiences.
    • Get comprehensive hands-on Maple T.A. training.
    • Learn about new technology developments at Maplesoft and how they can provide exceptional user experiences that have the power to ‘surprise and delight’.
    • Network with other educators and Maple T.A. users from around the world.
    • Take advantage of the social events organized as part of this summit. Socialize with peers and enjoy the sights and sounds of this amazing city.

    We invite users who are using Maple T.A. in an innovative way in their classroom to submit a presentation proposal by March 18, 2015. For details, please visit: https://webstore.maplesoft.com/taconference/MapleTA_Summit_CFP.pdf

    For more details, preliminary agenda, and to register, please visit our website: https://webstore.maplesoft.com/taconference/

    Jonny
    Maplesoft Product Manager, Maple T.A.

    Math powers the world. From tracking the spread of an epidemic to designing a new rocket engine, mathematical equations allow us to understand a challenge and formulate an approach to solving it. Everywhere around us, math is ubiquitous; an equation determines how your thermostat controls your home furnace; a mathematical algorithm is used to encode the signal from your cell phone. More than ever, we rely on mathematics to make our lives better. And continually, our mathematical techniques get more refined as we solve more and more complex problems.

          Method for solving underdetermined systems of nonlinear equations. The idea of the method is to find a connected subset of a set of solutions of the system by moving along this subset from one point in different directions. The direction of movement can be changed in each point.

          Very simple example of  single equation with three variables:

                                       (x1 ^ 4 + x2 ^ 4 - 2) ^ 2 + x3 ^ 4 - 1 = 0;

          From the point (0, -1.31607, 0) or (0, 1., 0) or any point if it is a solution, we first move for a variety of solutions along a curve parallel to the axis Ox3, and then from each point of this curve is moving in a direction parallel to x1Ox2 or vice versa. So we get all the solutions.
          This works for any space of any number of the equations when the number of equations is less than the number of variables.
    underdetermined_system.mw

     

     

     

    A rigid rotating body is a moving mass, so that kinetic energy can have expressed in terms of the angular speed of the object and a new quantity called moment of inertia, which depends on the mass of the body and how it is such distributed mass. Now we'll see with maple.

     

    Momento_de_Inercia.mw

    (in spanish)

    Atte.

    L. Araujo C.

    In this section, we will consider several linear dynamical systems in which each mathematical model is a differential equation of second order with constant coefficients with initial conditions specifi ed in a time that we take as t = t0.

    All in maple.

     

    Vibraciones.mw

    (in spanish)

     

    Atte.

    L.AraujoC.

    The procedure  Partition  significantly generalizes the standard procedure  combinat[partition]  in several ways. The user specifies the number of parts of the partition, and can also set different limitations on parts partition.

    Required parameters:  n - a nonnegative integer, - a positive integer or a range (k  specifies the number of parts of the partition). The parameter  res  is the optional parameter (by default  res is  ). If  res  is a number, all elements of  k-tuples must be greater than or equal  res .  If  res  is a range  a .. b ,   all elements of  k-tuples must be greater than or equal  a  and  less than or equal  b . The optional parameter  S  - set, which includes elements of the partition. By default  S = {$ 0.. n} .

    The code of the procedure:

    Partition:=proc(n::nonnegint, k::{posint,range}, res::{range, nonnegint} := 1, S::set:={$0..n})  # Generates a list of all partitions of an integer n into k parts

    local k_Partition, n1, k1, L;

     

    k_Partition := proc (n, k::posint, res, S)

    local m, M, a, b, S1, It, L0;

    m:=S[1]; M:=S[-1];

    if res::nonnegint then a := max(res,m); b := min(n-(k-1)*a,M)  else a := max(lhs(res),m); b := min(rhs(res),M) fi;

    S1:={$a..b} intersect S;

    if b < a or b*k < n or a*k > n  then return [ ] fi;

    It := proc (L)

    local m, j, P, R, i, N;

    m := nops(L[1]); j := k-m; N := 0;

    for i to nops(L) do

    R := n-`+`(op(L[i]));

    if R <= b*j and a*j <= R then N := N+1;

    P[N] := [seq([op(L[i]), s], s = {$ max(a, R-b*(j-1)) .. min(R, b)} intersect select(t->t>=L[i,-1],S1) )] fi;

    od;

    [seq(op(P[s]), s = 1 .. N)];

    end proc;

    if k=1 then [[b]] else (It@@(k-1))(map(t->[t],S1))  fi;

    end proc;

     

    if k::posint then return k_Partition(n,k,res,S) else n1:=0;

    for k1 from lhs(k) to rhs(k) do

    n1:=n1+1; L[n1]:=k_Partition(n,k1,res,S)

    od;

    L:=convert(L,list);

    [seq(op(L[i]), i=1..n1)] fi;

     

    end proc:

     

    Examples of use:

    Partition(15, 3);

     

     

    Partition(15, 3..5, 1..5);  # The number of parts from 3 to 5, and each summand from 1 to 5

     

     

    Partition(15, 5, {seq(2*n-1, n=1..8)});  # 5 summands and all are odd numbers 

     

     

    A more interesting example.
    There are  k banknotes in possible denominations of 5, 10, 20, 50, 100 dollars. At what number of banknotes  k  the number of variants of exchange  $140  will be maximum?

    n:=0:

    for k from 3 to 28 do

    n:=n+1: V[n]:=[k, nops(Partition(140, k, {5,10,20,50,100}))];

    od:

    V:=convert(V, list);

    max(seq(V[i,2], i=1..nops(V)));

    select(t->t[2]=8, V);

     

    Here are these variants:

    Partition(140, 10, {5,10,20,50,100});

    Partition(140, 13, {5,10,20,50,100});

     

     Partition.mws

     

     

     

    The equations of motion for a rigid body can be obtained from the principles governing the motion of a particle system. Now we will solve with Maple.

     

    Dinamica_plana_de_cuerpos_rigidos.mw

    (in spanish)

    Atte.

    Lenin Araujo Castillo

    Corrección ejercico 4

     

    4.- Cada una de las barras mostradas tiene una longitud de 1 m y una masa de 2 kg. Ambas giran en el plano horizontal. La barra AB gira con una velocidad angular constante de 4 rad/s en sentido contrario al de las manecillas del reloj. En el instante mostrado, la barra BC gira a 6 rad/s en sentido contrario al de las manecillas del reloj. ¿Cuál es la aceleración angular de la barra BC?

    Solución:

    restart; with(VectorCalculus)

    NULL

    NULL

    m := 2

    L := 1

    theta := (1/4)*Pi

    a[G] = x*alpha[BC]*r[G/B]-omega[BC]^2*r[G/B]+a[B]NULL

    NULL

    a[B] = x*alpha[AB]*r[B/A]-omega[AB]^2*r[B/A]+a[A]

    NULL

    aA := `<,>`(0, 0, 0)

    `&alpha;AB` := `<,>`(0, 0, 0)

    rBrA := `<,>`(1, 0, 0)

    `&omega;AB` := `<,>`(0, 0, 4)

    aB := aA+`&x`(`&alpha;AB`, rBrA)-4^2*rBrA

    Vector[column](%id = 4411990810)

    (1)

    `&alpha;BC` := `<,>`(0, 0, `&alpha;bc`)

    rGrB := `<,>`(.5*cos((1/4)*Pi), -.5*sin((1/4)*Pi), 0)

    aG := evalf(aB+`&x`(`&alpha;BC`, rGrB)-6^2*rGrB, 5)

    Vector[column](%id = 4412052178)

    (2)

    usando "(&sum;)M[G]=r[BC] x F[xy]"

    rBC := `<,>`(.5*cos((1/4)*Pi), -.5*sin((1/4)*Pi), 0)

    Fxy := `<,>`(Fx, -Fy, 0)

    NULL

    `&x`(rBC, Fxy) = (1/12*2)*1^2*`&alpha;bc`

    (.2500000000*sqrt(2)*(-.70710*`&alpha;bc`-25.456)+(.2500000000*(57.456-.70710*`&alpha;bc`))*sqrt(2))*e[z] = (1/6)*`&alpha;bc`

    (3)

     

    "(&sum;)Fx:-Fx=m*ax"           y             "(&sum;)Fy:Fy=m*ay"

    ax := -28.728+.35355*`&alpha;bc`

    -28.728+.35355*`&alpha;bc`

    (4)

    ay := .35355*`&alpha;bc`+12.728

    .35355*`&alpha;bc`+12.728

    (5)

    Fx := -2*ax

    57.456-.70710*`&alpha;bc`

    (6)

    Fy := 2*ay

    .70710*`&alpha;bc`+25.456

    (7)

    `&x`(rBC, Fxy) = (1/12*2)*1^2*`&alpha;bc`

    (.2500000000*sqrt(2)*(-.70710*`&alpha;bc`-25.456)+(.2500000000*(57.456-.70710*`&alpha;bc`))*sqrt(2))*e[z] = (1/6)*`&alpha;bc`

    (8)

    .2500000000*sqrt(2)*(-.70710*`&alpha;bc`-25.456)+(.2500000000*(57.456-.70710*`&alpha;bc`))*sqrt(2) = (1/6)*`&alpha;bc`

    .2500000000*2^(1/2)*(-.70710*`&alpha;bc`-25.456)+(14.36400000-.1767750000*`&alpha;bc`)*2^(1/2) = (1/6)*`&alpha;bc`

    (9)

    "(->)"

    [[`&alpha;bc` = 16.97068481]]

    (10)

    NULL

     

    Download ejercicio4.mw

    A heart shape in 3d:

     

     

    The code of the animation:

    A := plots[animate](plot3d, [[16*sin(t)^3*cos(s), 16*sin(t)^3*sin(s), 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t)], t = 0 .. u, s = 0 .. 2*Pi, color = red, style = surface, axes = none], u = 0 .. Pi, frames = 100):

    B := plots[animate](plot3d, [[16*sin(t)^3*cos(s), 16*sin(t)^3*sin(s), 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t)], t = u .. Pi, s = 0 .. 2*Pi, color = "LightBlue", style = surface, axes = none], u = 0 .. Pi, frames = 100):

    plots[display](A, B);

     

    Edited. The direction of painting changed.

     

    The precise definition is that the distance between any two points of the rigid body remains constant. Although any body is deformed to move, if the deformation is small movement can be approximated by modeling it as a rigid body. Now let's see how Maple is part of the solution.

    Cinematica_plana_de_cuerpos_rigidos.mw

    (in spanish)

    Atte.

    Lenin Araujo C.

     

     

     

     

    This post aims at summarizing the developments of the last 12 months of the Physics package, which were focused on: Vector Analysis, symbolic Tensor manipulations, Quantum Mechanics, and General Relativity including a new Tetrads subpackage. Besides that, there is a new command, Assume with valuable new features, and a new computing modality: automaticsimplification, as well as an enlargement of the database of solutions to Einstein's equations with more than 100 new metrics. As is always the case, there is still a lot more to do, of course. But It has been an year of tremendous developments, worth recapping.

    I would also like to acknowledge and specially thank Pascal Szriftgiser, Directeur de recherche CNRS from the "Laboratoire de Physique des Lasers Atomes et Molécules" (Lille, France), and Denitsa Staicova from the Bulgarian Academy of Science, "Institute for Nuclear Research and Nuclear Energy", for their constant, constructive and valuable feedback along the year, respectively in the areas of Quantum Mechanics and General Relativity. Thanks also to all of you who reported bugs and emailed suggestions as physics@maplesoft.com; this kind of feedback is a pillar of the development of this Physics project.

    As usual, the latest version of the package including the developments mentioned below can be downloaded from the Maple Physics: Research and Development web site. Some examples illustrating the use of the new capabilities in the context of more general problems are found in the 2014 MaplePrimes post Computer Algebra for Theoretical Physics. (At the end of this post there are two links: a pdf file with all the sections open, and this worksheet itself for whoever wants to play around).

    Simplification

     

    Simplification is perhaps the most common operation performed in a computer algebra system. In Physics, this typically entails simplifying tensorial expressions, or expressions involving noncommutative operators that satisfy certain commutator/anticommutator rules, or sums and integrals involving quantum operators and Dirac delta functions in the summands and integrands. Relevant enhancements were introduced for all these cases, including enhancements in the simplification of:

    • 

    Products of LeviCivita  tensors in curved spacetimes when LeviCivita represents the Galilean pseudo-tensor (related to Setup(levicivita = Galilean) ), instead of its generalization to curved spaces (related to Setup(levicivita = nongalilean) ).

    • 

    Tensorial expressions in general that have spacetime, space, and/or tetrad contracted indices, possibly at the same time.

    • 

    New option tryhard, that resolves zero recognition in an important number of nontrivial situations.

    • 

    Expressions involving the Dirac function.

    • 

    Vectorial expressions involving cylindrical or spherical coordinates and related unit vectors.

    • 

    Expressions simplified with respect to side relations (equations) in the presence of quantum vectorial equations.

    • 

    Expressions involving products of quantum operators entering parameterized algebra rules.

    • 

    Expressions involving vectorial quantum operators simplified with respect to other vectorial equations.

    • 

    Add support for the simplification and integration of spherical harmonics ( SphericalY ) relevant in quantum mechanics.

    Examples

       

     

    Tensors

     

    A number of relevant changes happened in the tensor routines of the Physics package, towards making the routines pack more functionality, the simplification more powerful, and the handling of symmetries, substitutions, and other operations more flexible and natural.

    • 

    Physics now works with four kinds of Minkowski spaces (different signatures) to accommodate the typical situations seen in textbooks; to these, correspond the signatures +---, ---+, -+++ and +++-.

    • 

    Allow setting the metric by specifying the signature directly, as in g_[`-`] or g_[`+---`], or Setup(metric = `---+`) or Setup(g[mu, nu] = `---+`).

    • 

    The signature keyword of the Physics Setup  is now in use, to set the metric and to indicate the form of the orthonormal tetrad, in turn used to derive the form of a null tetrad.

    • 

    Automatic detection of the position of t as the time variable when you set the coordinates automatically sets the signature of the default Minkowski spacetime metric accordingly to ---+ or +---.

    • 

    New keywords with special meaning when indexing the Physics (also the user defined) tensors:
    · `~`; for example g_[`~`] returns the all-contravariant matrix form of the metric.
    · definition; for example Ricci[definition] returns the definition of the Ricci tensor; works also with user-defined tensors.
    · scalars; for example Weyl[scalars] and Ricci[scalars] return the five Weyl and seven Ricci scalars used to perform a Petrof classification and in the Newman-Penrose formalism.
    · scalarsdefinition, and invariantsdefinition; for example Weyl[scalarsdefinition] or Riemann[invariantsdefinition] return the corresponding definitions for the scalars and invariants.
    · nullvectors; for example, when the new Tetrads  subpackage is loaded, e_[nullvectors] returns a sequence of null vectors with their products normalized according to the Newman-Penrose formalism.
    · matrix; this keyword was introduced in previous releases, and now it can appear after a space index (not spacetime), in which case a matrix with only the space components is returned.

    • 

    Tensorial expressions can now have spacetime indices (related to a global system of references) and tetrad indices (related to a local system of references) at the same time, or they be rewritten in one (spacetime) or the other (tetrad) frames.

    • 

    The matrix keyword can be used with spacetime, space, or tetrad indices, resulting in the corresponding matrix

    • 

    Implement automatic determination of symmetry under permutation of tensor indices when the tensor is defined as a matrix.

    • 

    New conversions from the Weyl to the Ricci tensors, and from Weyl to the Christoffel symbols.

    • 

    New option evaluatetrace = true or false within convert/Ricci, to avoid automatically evaluating the Ricci trace when performing conversions that involve this trace.

    • 

    New option 'evaluate' to convert/g_, convert/Christoffel and convert/Ricci. With this option set to false, it is possible to see the algebraic form of the result (that is, of the tensors involved) before evaluating it.

    • 

    The Maple 18 Library:-SubstituteTensor  command, got enhanced and transformed into one of the main Physics commands, that substitutes tensorial equation(s) Eqs into an expression, taking care of the free and repeated indices, such that: 1) equations in Eqs are interpreted as mappings having the free indices as parameters, 2) repeated indices in Eqs do not clash with repeated indices in the expression and 3) spacetime, space, and tetrad indices are handled independently, so they can all be present in Eqs and in the expression at the same time. This new command can also substitute algebraic sub-expressions of type product or sum within the expression, generalizing and unifying the functionality of the subs and algsubs  commands for algebraic tensor expressions.

    Examples

       

     

    Tetrads in General Relativity

     

    The formalism of tetrads in general relativity got implemented within Physics  as a new package, Physics:-Tetrads , with 13 commands, mainly the null vectors of the Newman-Penrose formalism, the tetrad tensors `&efr;`[a, mu], eta[a, b], gamma[a, b, c], lambda[a, b, c], respectively: the tetrad, the tetrad metric, the Ricci rotation coefficients, and the lambda tensor, plus five algebraic manipulation commands: IsTetrad , NullTetrad , OrthonormalTetrad , SimplifyTetrad , and TransformTetrad  to construct orthonormal and null tetrads of different forms and using different methods.

    Examples

       

     

    More Metrics in the Database of Solutions to Einstein's Equations

     

    A database of solutions to Einstein's equations  was added to the Maple library in Maple 15 with a selection of metrics from "Stephani, H.; Kramer, D.; MacCallum, M.; Hoenselaers, C.; and Herlt, E.,  Exact Solutions to Einstein's Field Equations" and "Hawking, Stephen; and Ellis, G. F. R., The Large Scale Structure of Space-Time". More metrics from these two books were added for Maple 16, Maple 17, and Maple 18. These metrics can be searched using g_  (the Physics command representing the spacetime metric that also sets the metric to your choice in one go) or using the command DifferentialGeometry:-Library:-MetricSearch .

    • 

    New, one hundred and four more metrics were added to the database from various Chapters of the aforementioned book entitled "Exact Solutions to Einstein's Field Equations". Among new metrics for other chapters, with this addition, the solutions found in the literature and collected in Chapters 13 and 14 of this book are all present as well in database of solutions to Einstein's equations.

    • 

    It is now possible to manipulate algebraically the properties of these metrics, for example, computing tetrads and null vectors for them - using the 13 commands of new Physics:-Tetrads package.

    Examples

       

     

    Commutators, AntiCommutators, and Dirac notation in quantum mechanics

     

    When computing with products of noncommutative operators, the results depend on the algebra of commutators and anticommutators that you previously set. Besides that, in Physics, various mathematical objects themselves satisfy specific commutation rules. You can query about these rules using the Library  commands Commute  and AntiCommute . Previously existing functionality and enhancements in this area were refined. These include:

    • 

    Computing Commutators and Anticommutators between equations, or of an expression with an equation.

    • 

    Library:-Commute(A, F(A)) = true whenever A is a quantum operator and F is a commutative mapping (see Cohen-Tannoudji, Quantum Mechanics, page 171).

    • 

    Differentiating with respect to a noncommutative variable whenever all the variables present in the derivand commute with the differentiation variable.

    • 

    Automatic computation of F(X).Ket(X, x) = F(x)*Ket(X, x), that is the automatic computation of a function of an operator applied to its eigenkets (see Cohen-Tannoudji, Quantum Mechanics, page 171).

    • 

    Parameterized commutators; for example: when setting the rule Commutator(A, exp(lambda*B)) = lambda*C, take lambda as a parameter, so Commutator(A, exp(alpha*B)) now returns alpha*C, not "lambda C."

    • 

    Automatic derivation of a commutator rule: Commutator(A, F(B)) = F '(B) when Commutator(A, C) = Commutator(B, C) = 0 and C = Commutator(A, B), as shown in (see Cohen-Tannoudji, Quantum Mechanics, page 171).

    • 

     "f(A) | A[a] >=f(a) | A[a] >", including cases like for instance "f(alpha A) | A[a] >=f(alpha a) | A[a] >", or "(e)^((&ImaginaryI; f(t) A)/`&hbar;`) | A[a] >=(e)^((&ImaginaryI; f(t) a)/`&hbar;`) | A[a] >".

    • 

    New mechanism to have more than one algebra rule related to the same function (for example, a function of two arguments that come in different order).

    • 

    The dot product of the inverse of an operator, Inverse(A) · Ket, now returns the same as 1/A · Ket.

    • 

    F(H) is Hermitian if H is Hermitian and F is assumed to be real, via Assume, assuming, or Setup(realobjects = F).

    • 

    Implement that F(H) is Hermitian if H is Hermitian and F is a mathematical real function, that is, one that maps real objects into real objects; in this change only exp, the trigonometric functions and their inert forms are included.

    • 

    Add a few previously missing Unitary and Hermitian operator cases:

      

    a) if \035U and V are unitary, the U V is also unitary.

      

    b) if A is Hermitian then exp(i*A) is unitary.

      

    c) if U is unitary and A is Hermitian, then U*A*`#msup(mi("U"),mo("&dagger;"))` is also Hermitian.

    • 

    Make the type definition for ExtendedQuantumOperator more precise to include as such any arbitrary function of an ExtendedQuantumOperator.

    Examples

       

     

    New Assume command and new enhanced Mode: automaticsimplification

     

    One new enhanced mode was added to the Physics setup, automaticsimplification, and a new Physics:-Assume  command make expressions be automatically expressed in simpler forms and allow for very flexible ways of implementing assumptions, making the Physics environment concretely more expressive.

    Assume

     

    In almost any mathematical formulation in Physics, there are objects that are real, positive, or just angles that have a restricted range; for example: Planck's constant, time, the mass and position of particles, and so on. When placing assumptions using the assume  command, however, expressions entered before placing the assumptions and those entered with the assumptions cannot be reused in case the the assumptions are removed. Also, when using assume variables get redefined so that geometrical coordinates (spacetime, Cartesian, cylindrical, and spherical) loss their identity. These issues got addressed with a new Assume  command, that does not redefine the variables, implementing the concept of an "extended  assuming ", allowing for reusing expressions entered before placing assumptions and also after removing them. Assume also includes the functionality of the additionally  command.

    Examples

       

    Automatic simplification

     

    This new Physics mode of computation means that, after you enter Setup(automaticsimplification = true), the output corresponding to every single input (not just related to Physics) gets automatically simplified in size before being returned to the screen. This is fantastically convenient for interactive work in most situations.

    Examples

       

     

    Vectors Package

     

    A number of changes were performed in the Vectors  subpackage to make the computations more natural and versatile:

    • 

    Enhancement in the algebraic manipulations of inert vectorial differential operators.

    • 

    Improvements in the manipulation of of scalar products of vector or scalar functions (to the left) with vectorial differential operators (to the right), that result in vectorial or scalar differential operators.

    • 

    Several improvements in the use of trigonometric simplifications when changing the basis or the coordinates in vectorial expressions.

    • 

    Add new functionality mapping Vectors:-Component over equations, automatically changing basis if the two sides are not projected over the same base.

    • 

    Implement the expansion of the square of a vectorial expression as the scalar (dot) product of the expression with itself, including the case of a vectorial quantum operator expression.

    • 

    Allow multiplying equations also when the product operator is in scalar and vector products (Vectors:-`.` and Vectors:-`&x`).

    • 

    ChangeBasis : allow changing coordinates between sets of orthogonal coordinates also when the expression is not vectorial.

    • 

    New command: ChangeCoordinates , to rewrite an algebraic expression, using Cartesian, cylindrical, and spherical coordinates, an expression that involves these coordinates, either a scalar expression, or vectorial one but then not changing the orthonormal basis.

    Examples

       

     

    The Physics Library

     

    Twenty-six new commands, useful for programming and interactive computation, have been added to the Physics:-Library  package. These are:

    • 

    ClearCaches

    • 

    ExpandProductsInExpression

    • 

    FlipCharacterOfFreeIndices

    • 

    FromMinkowskiKindToSignature

    • 

    FromSignatureToMinkowskiKind

    • 

    FromTetradToTetradMetric

    • 

    GetByMatchingPattern

    • 

    GetTypeOfTensorIndices

    • 

    GetVectorRootName

    • 

    HasOriginalTypeOfIndices

    • 

    IsEuclideanSignature

    • 

    IsGalileanSignature

    • 

    IsMinkowskiSignature

    • 

    IsValidSignature

    • 

    IsEuclideanMetric

    • 

    IsGalileanMetric

    • 

    IsMinkowskiMetric

    • 

    IsOrthonormalTetradMetric

    • 

    IsNullTetradMetric 

    • 

    IsNullTetrad

    • 

    IsOrthonormalTetrad

    • 

    IsTensorFunctionalForm

    • 

    RepositionRepeatedIndicesAsIn

    • 

    RestoreRepeatedIndices

    • 

    RewriteTypeOfIndices

    • 

    SplitIndicesByType

     

    Additionally, several improvements in the previously existing Physics:-Library  commands have been implemented:

    • 

    Add the types spacetimeindex, spaceindex, spinorindex, gaugeindex, and tetradindex to the exports of the Library:-PhysicsType  package.

    • 

    Library:-ToCovariant  and Library:-ToContravariant  when the spacetime is curved and some 'tensors' involved are not actually a tensor in a curved space.

    • 

    Add new options changefreeindices and flipcharacterofindices to the Library:-ToCovariant  and Library:-ToContravariant  commands, to actually lower and raise the free indices as necessary, instead of the default behavior of returning an expression that is mathematically equivalent to the given one.

    • 

    Extend the Library commands GetCommutativeSymbol , GetAntiCommutativeSymbol , and GetNonCommutativeSymbol  to return vectorial symbols when Vectors  is loaded and a vectorial symbol is requested.

    • 

    Add functionality to the Library command GetSymbolsWithSameType  so that when the input is a list of objects, it returns a list with new symbols of the corresponding types, automatically taking into account the vectorial (Y/N) kind of the symbols.

    Examples

       

     

    Miscellaneous

     
    • 

    Add several fields to the Physics:-Setup() applet in order to allow for manipulating all the Physics settings from within the applet.

    • 

    New Physics:-Setup  options: automaticsimplification and normusesconjugate.

    • 

    When any of Physics  or Physics:-Vectors  are loaded, dtheta, dphi, etc. are now displayed as `d&theta;`, `d&phi;`, etc. 

    • 

    Implement, within the `*` operator, both the global  and the Physics one , the product of equations as the product of left-hand sides equal the product of right-hand sides, eliminating the frequently tedious typing "lhs(eq[1])*lhs(eq[2]) = rhs(eq[1])*rhs(eq[2])". You can now just enter "eq[1]*eq[2]".

    • 

    Automatically distribute dot products over lists, as in A.[a, b, c] = [A.a, A.b, A.c].

    • 

    Allow (A = B) - C also when A, B, and C are Matrices.

    • 

    Add convert(`...`, setofequations) and convert(`...`, listofequations) to convert Physics:-Vectors, Matrices of equations, etc. into sets or lists of equations.

    • 

    Annihilation  and Creation  operators are now displayed as in textbooks using `#msup(mi("a"),mo("&uminus0;"))` and `#msup(mi("a"),mo("&plus;"))`.

    • 

    It is now possible to use equation labels to copy and paste expressions involving Annihilation and Creation operators.

    • 

    Implement the ability in Fundiff  to compute functional derivatives by passing only a function name as second argument. This works okay when the derivand contains this function with only one dependency (perhaps with many variables), say X, permitting varying a function quite like that done using paper and pencil.

    • 

    The determination of symmetries and antisymmetries of tensorial expressions got enhanced.

    • 

    The metric g[mu, nu] as well as the tetrad `&efr;`[a, mu] and tetrad metric eta[mu, nu] can now be (re)defined using the standard Physics:-Define  command for defining tensors. Also, the definition can now be given directly in terms of a tensorial expression.

    • 

    Add keyword option attemptzerorecognition in TensorArray , so that each component of the array is tested for 0.

    • 

    Allow to sum over a list of objects, or over `in` structures like '`in`(j, [a, b, c])' when redefining sum, and also in Physics:-Library:-Add .

    • 

    Harmonize the use of simplify/siderels  with Physics, so that anticommutative and noncommutative objects, whether they are vectorial or not, are respected as such and not transformed into commutative objects when the simplification is performed.

    • 

    Changes in design:

    a. 

    The output of KillingVectors  has now the format of a vector solution by default, that is, a 4-D vector on the left-hand side and a list with its components on the right-hand side and as such can be repassed to the Define  command for posterior use as a tensor. To recover the old format of a set of equation solutions for each vector component, a new optional argument, output = componentsolutions, got implemented.

    b. 

    Vectors:-Norm  now returns the Euclidean real norm by default, that is: Norm(`#mover(mi("v"),mo("&rarr;"))`) = `#mover(mi("v"),mo("&rarr;"))`.`#mover(mi("v"),mo("&rarr;"))`, and only return using conjugate, as in Norm(`#mover(mi("v"),mo("&rarr;"))`) = `#mover(mi("v"),mo("&rarr;"))`.conjugate(`#mover(mi("v"),mo("&rarr;"))`), when the option conjugate is passed, or the setting normusesconjugate is set using Physics:-Setup .

    c. 

    The output of FeynmanDiagrams  now discards, by default, all terms that include tadpoles. Also, an option, includetadpoles, to have these terms included as in previous releases, got implemented.

    d. 

    When Physics is loaded, 0^m does not return 0, in view that, in Maple, 0^0 returns 1.

    e. 

    The dot product A.B of quantum operators A and B now returns as a (noncommutative) product A B when neither A nor B involve Bras  or Kets .

    f. 

    If A is a quantum operator and Vectors  is loaded, then `#mover(mi("A",mathcolor = "olive"),mo("&rarr;"))` is also a quantum operator; likewise, if Z is a noncommutative prefix and Vectors is loaded then `#mover(mi("Z",mathcolor = "olive"),mo("&rarr;"))`is also a noncommutative object.

    g. 

    When Vectors  is loaded, the Hermitian and Unitary properties of operators set using the Setup  command are now propagated to "the name under the arrow" and vice versa, so that if A is a Hermitian Operator, or Unitary, then `#mover(mi("A",mathcolor = "olive"),mo("&rarr;"))` is too.

    h. 

    The SpaceTimeVector  can now have dependency other than a coordinate system.

    i. 

    It is now possible to enter `&PartialD;`[mu](A[mu]*B[mu])even when the index is repeated twice, considering that mu in A[mu]*B[mu] = A.B is actually a dummy, so that a collision with mu in `&PartialD;`[mu] can be programmatically avoided.

    j. 

    Diminish the use of KroneckerDelta  as a tensor, using the metric g_ instead in the output of Physics commands, reserving KroneckerDelta to be used as the standard corresponding symbol in quantum mechanics, so not as a tensor.

    Examples

       

     

    See Also

     

    Physics , Computer Algebra for Theoretical Physics, The Physics project


    OneYearOfPhysics.mw

    OneYearOfPhysics.pdf

    Edgardo S. Cheb-Terrab
    Physics, Differential Equations and Mathematical Functions, Maplesoft

    First 72 73 74 75 76 77 78 Last Page 74 of 300