Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

The Zassenhaus formula and the algebra of the Pauli matrices

 

Edgardo S. Cheb-Terrab1 and Bryan C. Sanctuary2

(1) Maplesoft

(2) Department of Chemistry, McGill University, Montreal, Quebec, Canada

 

  


The implementation of the Pauli matrices and their algebra were reviewed during 2018, including the algebraic manipulation of nested commutators, resulting in faster computations using simpler and more flexible input. As it frequently happens, improvements of this type suddenly transform research problems presented in the literature as untractable in practice, into tractable.

  

As an illustration, we tackle below the derivation of the coefficients entering the Zassenhaus formula shown in section 4 of [1] for the Pauli matrices up to order 10 (results in the literature go up to order 5). The computation presented can be reused to compute these coefficients up to any desired higher-order (hardware limitations may apply). A number of examples which exploit this formula and its dual, the Baker-Campbell-Hausdorff formula, occur in connection with the Weyl prescription for converting a classical function to a quantum operator (see sec. 5 of [1]), as well as when solving the eigenvalue problem for classes of mathematical-physics partial differential equations [2].  
To reproduce the results below - a worksheet with this contents is linked at the end - you need to have your Maple 2018.2.1 updated with the 
Maplesoft Physics Updates version 280 or higher.

References

 
  

[1] R.M. Wilcox, "Exponential Operators and Parameter Differentiation in Quantum Physics", Journal of Mathematical Physics, V.8, 4, (1967.

  

[2] S. Steinberg, "Applications of the lie algebraic formulas of Baker, Campbell, Hausdorff, and Zassenhaus to the calculation of explicit solutions of partial differential equations", Journal of Differential Equations, V.26, 3, 1977.

  

[3] K. Huang, "Statistical Mechanics", John Wiley & Sons, Inc. 1963, p217, Eq.(10.60).

 

Formulation of the problem

The Zassenhaus formula expresses exp(lambda*(A+B)) as an infinite product of exponential operators involving nested commutators of increasing complexity

"(e)^(lambda (A+B))   =    (e)^(lambda A) * (e)^(lambda B) * (e)^(lambda^2 C[2]) * (e)^(lambda^3 C[3]) *  ...  "
                                                                       =   exp(lambda*A)*exp(lambda*B)*exp(-(1/2)*lambda^2*%Commutator(A, B))*exp((1/6)*lambda^3*(%Commutator(B, %Commutator(A, B))+2*%Commutator(A, %Commutator(A, B))))

Given A, B and their commutator E = %Commutator(A, B), if A and B commute with E, C[n] = 0 for n >= 3 and the Zassenhaus formula reduces to the product of the first three exponentials above. The interest here is in the general case, when %Commutator(A, E) <> 0 and %Commutator(B, E) <> 0, and the goal is to compute the Zassenhaus coefficients C[n]in terms of A, B for arbitrary finite n. Following [1], in that general case, differentiating the Zassenhaus formula with respect to lambda and multiplying from the right by exp(-lambda*(A+B)) one obtains

"A+B=A+(e)^(lambda A) B (e)^(-lambda A)+(e)^(lambda A)+(e)^(lambda B) 2 lambda C[2] (e)^(-lambda B) (e)^(-lambda A)+ ..."

This is an intricate formula, which however (see eq.(4.20) of [1]) can be represented in abstract form as

 

"0=((&sum;)(lambda^n)/(n!) {A^n,B})+2 lambda ((&sum;) (&sum;)(lambda^(n+m))/(n! m!) {A^m,B^n,C[2]})+3 lambda^2 ((&sum;) (&sum;) (&sum;)(lambda^(n+m+k))/(n! m! k!) {A^k,B^m,(C[2])^n,C[3]})+ ..."

from where an equation to be solved for each C[n] is obtained by equating to 0 the coefficient of lambda^(n-1). In this formula, the repeated commutator bracket is defined inductively in terms of the standard commutator %Commutator(A, B)by

{B, A^0} = B, {B, A^(n+1)} = %Commutator(A, {A^n, B^n})

{C[j], B^n, A^0} = {C[j], B^n}, {C[j], A^m, B^n} = %Commutator(A, {A^`-`(m, 1), B^n, C[j]^k})

and higher-order repeated-commutator brackets are similarly defined. For example, taking the coefficient of lambda and lambda^2 and respectively solving each of them for C[2] and C[3] one obtains

C[2] = -(1/2)*%Commutator(A, B)

C[3] = (1/6)*%Commutator(B, %Commutator(A, B))+(1/3)*%Commutator(B, %Commutator(A, B))

This method is used in [3] to treat quantum deviations from the classical limit of the partition function for both a Bose-Einstein and Fermi-Dirac gas. The complexity of the computation of C[n] grows rapidly and in the literature only the coefficients up to C[5] have been published. Taking advantage of developments in the Physics package during 2018, below we show the computation up to C[10] and provide a compact approach to compute them up to arbitrary finite order.

 

Computing up to C[10]

Set the signature of spacetime such that its space part is equal to +++ and use lowercaselatin letters to represent space indices. Set also A, B and C[n] to represent quantum operators

with(Physics)

Setup(op = {A, B, C}, signature = `+++-`, spaceindices = lowercaselatin)

`* Partial match of  '`*op*`' against keyword '`*quantumoperators*`' `

 

_______________________________________________________

 

[quantumoperators = {A, B, C}, signature = `+ + + -`, spaceindices = lowercaselatin]

(1)

To illustrate the computation up to C[10], a convenient example, where the commutator algebra is closed, consists of taking A and B as Pauli Matrices which, multiplied by the imaginary unit, form a basis for the `&sfr;&ufr;`(2)group, which in turn exponentiate to the relevant Special Unitary Group SU(2). The algebra for the Pauli matrices involves a commutator and an anticommutator

Library:-DefaultAlgebraRules(Psigma)

%Commutator(Physics:-Psigma[i], Physics:-Psigma[j]) = (2*I)*Physics:-LeviCivita[i, j, k]*Physics:-Psigma[k], %AntiCommutator(Physics:-Psigma[i], Physics:-Psigma[j]) = 2*Physics:-KroneckerDelta[i, j]

(2)

Assign now A and B to two Pauli matrices, for instance

A := Psigma[1]

Physics:-Psigma[1]

(3)

B := Psigma[3]

Physics:-Psigma[3]

(4)

Next, to extract the coefficient of lambda^n from

"0=((&sum;)(lambda^n)/(n!) {A^n,B})+2 lambda ((&sum;) (&sum;)(lambda^(n+m))/(n! m!) {A^m,B^n,C[2]})+3 lambda^2 ((&sum;) (&sum;) (&sum;)(lambda^(n+m+k))/(n! m! k!) {A^k,B^m,(C[2])^n,C[3]})+..."

to solve it for C[n+1] we note that each term has a factor lambda^m multiplying a sum, so we only need to take into account the first n+1 terms (sums) and in each sum replace infinity by the corresponding n-m. For example, given "C[2]=-1/2 `%Commutator`(A,B), "to compute C[3] we only need to compute these first three terms:

0 = Sum(lambda^n*{B, A^n}/factorial(n), n = 1 .. 2)+2*lambda*(Sum(Sum(lambda^(n+m)*{C[2], A^m, B^n}/(factorial(n)*factorial(m)), n = 0 .. 1), m = 0 .. 1))+3*lambda^2*(Sum(Sum(Sum(lambda^(n+m+k)*{C[3], A^k, B^m, C[2]^n}/(factorial(n)*factorial(m)*factorial(k)), n = 0 .. 0), m = 0 .. 0), k = 0 .. 0))

then solving for C[3] one gets C[3] = (1/3)*%Commutator(B, %Commutator(A, B))+(1/6)*%Commutator(A, %Commutator(A, B)).

Also, since to compute C[n] we only need the coefficient of lambda^(n-1), it is not necessary to compute all the terms of each multiple-sum. One way of restricting the multiple-sums to only one power of lambda consists of using multi-index summation, available in the Physics package (see Physics:-Library:-Add ). For that purpose, redefine sum to extend its functionality with multi-index summation

Setup(redefinesum = true)

[redefinesum = true]

(5)

Now we can represent the same computation of C[3] without multiple sums and without computing unnecessary terms as

0 = Sum(lambda^n*{B, A^n}/factorial(n), n = 1)+2*lambda*(Sum(lambda^(n+m)*{C[2], A^m, B^n}/(factorial(n)*factorial(m)), n+m = 1))+3*lambda^2*(Sum(lambda^(n+m+k)*{C[3], A^k, B^m, C[2]^n}/(factorial(n)*factorial(m)*factorial(k)), n+m+k = 0))

Finally, we need a computational representation for the repeated commutator bracket 

{B, A^0} = B, {B, A^(n+1)} = %Commutator(A, {A^n, B^n})

One way of representing this commutator bracket operation is defining a procedure, say F, with a cache to avoid recomputing lower order nested commutators, as follows

F := proc (A, B, n) options operator, arrow; if n::negint then 0 elif n = 0 then B elif n::posint then %Commutator(A, F(A, B, n-1)) else 'F(A, B, n)' end if end proc

proc (A, B, n) options operator, arrow; if n::negint then 0 elif n = 0 then B elif n::posint then %Commutator(A, F(A, B, n-1)) else 'F(A, B, n)' end if end proc

(6)

Cache(procedure = F)

 

For example,

F(A, B, 1)

%Commutator(Physics:-Psigma[1], Physics:-Psigma[3])

(7)

F(A, B, 2)

%Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], Physics:-Psigma[3]))

(8)

F(A, B, 3)

%Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], Physics:-Psigma[3])))

(9)

We can set now the value of C[2]

C[2] := -(1/2)*Commutator(A, B)

I*Physics:-Psigma[2]

(10)

and enter the formula that involves only multi-index summation

H := sum(lambda^n*F(A, B, n)/factorial(n), n = 2)+2*lambda*(sum(lambda^(n+m)*F(A, F(B, C[2], n), m)/(factorial(n)*factorial(m)), n+m = 1))+3*lambda^2*(sum(lambda^(n+m+k)*F(A, F(B, F(C[2], C[3], n), m), k)/(factorial(n)*factorial(m)*factorial(k)), n+m+k = 0))

(1/2)*lambda^2*%Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], Physics:-Psigma[3]))+2*lambda*(lambda*%Commutator(Physics:-Psigma[1], I*Physics:-Psigma[2])+lambda*%Commutator(Physics:-Psigma[3], I*Physics:-Psigma[2]))+3*lambda^2*C[3]

(11)

from where we compute C[3] by solving for it the coefficient of lambda^2, and since due to the mulit-index summation this expression already contains lambda^2 as a factor,

C[3] = Simplify(solve(H, C[3]))

C[3] = (2/3)*Physics:-Psigma[3]-(4/3)*Physics:-Psigma[1]

(12)

In order to generalize the formula for H for higher powers of lambda, the right-hand side of the multi-index summation limit can be expressed in terms of an abstract N, and H transformed into a mapping:

 

H := unapply(sum(lambda^n*F(A, B, n)/factorial(n), n = N)+2*lambda*(sum(lambda^(n+m)*F(A, F(B, C[2], n), m)/(factorial(n)*factorial(m)), n+m = N-1))+3*lambda^2*(sum(lambda^(n+m+k)*F(A, F(B, F(C[2], C[3], n), m), k)/(factorial(n)*factorial(m)*factorial(k)), n+m+k = N-2)), N)

proc (N) options operator, arrow; lambda^N*F(Physics:-Psigma[1], Physics:-Psigma[3], N)/factorial(N)+2*lambda*(sum(Physics:-`*`(Physics:-`^`(lambda, n+m), Physics:-`^`(Physics:-`*`(factorial(n), factorial(m)), -1), F(Physics:-Psigma[1], F(Physics:-Psigma[3], I*Physics:-Psigma[2], n), m)), n+m = N-1))+3*lambda^2*(sum(Physics:-`*`(Physics:-`^`(lambda, n+m+k), Physics:-`^`(Physics:-`*`(factorial(n), factorial(m), factorial(k)), -1), F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(I*Physics:-Psigma[2], C[3], n), m), k)), n+m+k = N-2)) end proc

(13)

Now we have

H(0)

Physics:-Psigma[3]

(14)

H(1)

lambda*%Commutator(Physics:-Psigma[1], Physics:-Psigma[3])+(2*I)*lambda*Physics:-Psigma[2]

(15)

The following is already equal to (11)

H(2)

(1/2)*lambda^2*%Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], Physics:-Psigma[3]))+2*lambda*(lambda*%Commutator(Physics:-Psigma[1], I*Physics:-Psigma[2])+lambda*%Commutator(Physics:-Psigma[3], I*Physics:-Psigma[2]))+3*lambda^2*C[3]

(16)

In this way, we can reproduce the results published in the literature for the coefficients of Zassenhaus formula up to C[5] by adding two more multi-index sums to (13). Unassign C first

unassign(C)

H := unapply(sum(lambda^n*F(A, B, n)/factorial(n), n = N)+2*lambda*(sum(lambda^(n+m)*F(A, F(B, C[2], n), m)/(factorial(n)*factorial(m)), n+m = N-1))+3*lambda^2*(sum(lambda^(n+m+k)*F(A, F(B, F(C[2], C[3], n), m), k)/(factorial(n)*factorial(m)*factorial(k)), n+m+k = N-2))+4*lambda^3*(sum(lambda^(n+m+k+l)*F(A, F(B, F(C[2], F(C[3], C[4], n), m), k), l)/(factorial(n)*factorial(m)*factorial(k)*factorial(l)), n+m+k+l = N-3))+5*lambda^4*(sum(lambda^(n+m+k+l+p)*F(A, F(B, F(C[2], F(C[3], F(C[4], C[5], n), m), k), l), p)/(factorial(n)*factorial(m)*factorial(k)*factorial(l)*factorial(p)), n+m+k+l+p = N-4)), N)

We compute now up to C[5] in one go

for j to 4 do C[j+1] := Simplify(solve(H(j), C[j+1])) end do

I*Physics:-Psigma[2]

 

(2/3)*Physics:-Psigma[3]-(4/3)*Physics:-Psigma[1]

 

-((1/3)*I)*((3*I)*Physics:-Psigma[1]+(6*I)*Physics:-Psigma[3]-4*Physics:-Psigma[2])

 

-(8/9)*Physics:-Psigma[1]-(158/45)*Physics:-Psigma[3]-((16/3)*I)*Physics:-Psigma[2]

(17)

The nested-commutator expression solved in the last step for C[5] is

H(4)

(1/24)*lambda^4*%Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], Physics:-Psigma[3]))))+2*lambda*((1/6)*lambda^3*%Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], I*Physics:-Psigma[2])))+(1/2)*lambda^3*%Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[3], I*Physics:-Psigma[2])))+(1/2)*lambda^3*%Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[3], %Commutator(Physics:-Psigma[3], I*Physics:-Psigma[2])))+(1/6)*lambda^3*%Commutator(Physics:-Psigma[3], %Commutator(Physics:-Psigma[3], %Commutator(Physics:-Psigma[3], I*Physics:-Psigma[2]))))+3*lambda^2*((1/2)*lambda^2*%Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[1], (2/3)*Physics:-Psigma[3]-(4/3)*Physics:-Psigma[1]))+lambda^2*%Commutator(Physics:-Psigma[1], %Commutator(Physics:-Psigma[3], (2/3)*Physics:-Psigma[3]-(4/3)*Physics:-Psigma[1]))+(1/2)*lambda^2*%Commutator(Physics:-Psigma[3], %Commutator(Physics:-Psigma[3], (2/3)*Physics:-Psigma[3]-(4/3)*Physics:-Psigma[1]))+lambda^2*%Commutator(Physics:-Psigma[1], %Commutator(I*Physics:-Psigma[2], (2/3)*Physics:-Psigma[3]-(4/3)*Physics:-Psigma[1]))+lambda^2*%Commutator(Physics:-Psigma[3], %Commutator(I*Physics:-Psigma[2], (2/3)*Physics:-Psigma[3]-(4/3)*Physics:-Psigma[1]))+(1/2)*lambda^2*%Commutator(I*Physics:-Psigma[2], %Commutator(I*Physics:-Psigma[2], (2/3)*Physics:-Psigma[3]-(4/3)*Physics:-Psigma[1])))+4*lambda^3*(lambda*%Commutator(Physics:-Psigma[1], -((1/3)*I)*((3*I)*Physics:-Psigma[1]+(6*I)*Physics:-Psigma[3]-4*Physics:-Psigma[2]))+lambda*%Commutator(Physics:-Psigma[3], -((1/3)*I)*((3*I)*Physics:-Psigma[1]+(6*I)*Physics:-Psigma[3]-4*Physics:-Psigma[2]))+lambda*%Commutator(I*Physics:-Psigma[2], -((1/3)*I)*((3*I)*Physics:-Psigma[1]+(6*I)*Physics:-Psigma[3]-4*Physics:-Psigma[2]))+lambda*%Commutator((2/3)*Physics:-Psigma[3]-(4/3)*Physics:-Psigma[1], -((1/3)*I)*((3*I)*Physics:-Psigma[1]+(6*I)*Physics:-Psigma[3]-4*Physics:-Psigma[2])))+5*lambda^4*(-(8/9)*Physics:-Psigma[1]-(158/45)*Physics:-Psigma[3]-((16/3)*I)*Physics:-Psigma[2])

(18)

With everything understood, we want now to extend these results generalizing them into an approach to compute an arbitrarily large coefficient C[n], then use that generalization to compute all the Zassenhaus coefficients up to C[10]. To type the formula for H for higher powers of lambda is however prone to typographical mistakes. The following is a program, using the Maple programming language , that produces these formulas for an arbitrary integer power of lambda:

Formula := proc(A, B, C, Q)

 

This Formula program uses a sequence of summation indices with as much indices as the order of the coefficient C[n] we want to compute, in this case we need 10 of them

summation_indices := n, m, k, l, p, q, r, s, t, u

n, m, k, l, p, q, r, s, t, u

(19)

To avoid interference of the results computed in the loop (17), unassign C again

unassign(C)

 

Now the formulas typed by hand, used lines above to compute each of C[2], C[3] and C[5], are respectively constructed by the computer

Formula(A, B, C, 2)

sum(lambda^n*F(Physics:-Psigma[1], Physics:-Psigma[3], n)/factorial(n), n = N)+2*lambda*(sum(lambda^(n+m)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], C[2], n), m)/(factorial(n)*factorial(m)), n+m = N-1))

(20)

Formula(A, B, C, 3)

sum(lambda^n*F(Physics:-Psigma[1], Physics:-Psigma[3], n)/factorial(n), n = N)+2*lambda*(sum(lambda^(n+m)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], C[2], n), m)/(factorial(n)*factorial(m)), n+m = N-1))+3*lambda^2*(sum(lambda^(n+m+k)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], C[3], n), m), k)/(factorial(n)*factorial(m)*factorial(k)), n+m+k = N-2))

(21)

Formula(A, B, C, 5)

sum(lambda^n*F(Physics:-Psigma[1], Physics:-Psigma[3], n)/factorial(n), n = N)+2*lambda*(sum(lambda^(n+m)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], C[2], n), m)/(factorial(n)*factorial(m)), n+m = N-1))+3*lambda^2*(sum(lambda^(n+m+k)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], C[3], n), m), k)/(factorial(n)*factorial(m)*factorial(k)), n+m+k = N-2))+4*lambda^3*(sum(lambda^(n+m+k+l)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], F(C[3], C[4], n), m), k), l)/(factorial(n)*factorial(m)*factorial(k)*factorial(l)), n+m+k+l = N-3))+5*lambda^4*(sum(lambda^(n+m+k+l+p)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], F(C[3], F(C[4], C[5], n), m), k), l), p)/(factorial(n)*factorial(l)*factorial(m)*factorial(k)*factorial(p)), n+m+k+l+p = N-4))

(22)

 

Construct then the formula for C[10] and make it be a mapping with respect to N, as done for C[5] after (16)

H := unapply(Formula(A, B, C, 10), N)

proc (N) options operator, arrow; sum(lambda^n*F(Physics:-Psigma[1], Physics:-Psigma[3], n)/factorial(n), n = N)+2*lambda*(sum(lambda^(n+m)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], C[2], n), m)/(factorial(n)*factorial(m)), n+m = N-1))+3*lambda^2*(sum(lambda^(n+m+k)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], C[3], n), m), k)/(factorial(n)*factorial(m)*factorial(k)), n+m+k = N-2))+4*lambda^3*(sum(lambda^(n+m+k+l)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], F(C[3], C[4], n), m), k), l)/(factorial(n)*factorial(m)*factorial(k)*factorial(l)), n+m+k+l = N-3))+5*lambda^4*(sum(lambda^(n+m+k+l+p)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], F(C[3], F(C[4], C[5], n), m), k), l), p)/(factorial(n)*factorial(l)*factorial(m)*factorial(k)*factorial(p)), n+m+k+l+p = N-4))+6*lambda^5*(sum(lambda^(n+m+k+l+p+q)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], F(C[3], F(C[4], F(C[5], C[6], n), m), k), l), p), q)/(factorial(n)*factorial(l)*factorial(m)*factorial(p)*factorial(k)*factorial(q)), n+m+k+l+p+q = N-5))+7*lambda^6*(sum(lambda^(n+m+k+l+p+q+r)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], F(C[3], F(C[4], F(C[5], F(C[6], C[7], n), m), k), l), p), q), r)/(factorial(n)*factorial(l)*factorial(m)*factorial(p)*factorial(q)*factorial(k)*factorial(r)), n+m+k+l+p+q+r = N-6))+8*lambda^7*(sum(lambda^(n+m+k+l+p+q+r+s)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], F(C[3], F(C[4], F(C[5], F(C[6], F(C[7], C[8], n), m), k), l), p), q), r), s)/(factorial(n)*factorial(r)*factorial(l)*factorial(m)*factorial(p)*factorial(q)*factorial(k)*factorial(s)), n+m+k+l+p+q+r+s = N-7))+9*lambda^8*(sum(lambda^(n+m+k+l+p+q+r+s+t)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], F(C[3], F(C[4], F(C[5], F(C[6], F(C[7], F(C[8], C[9], n), m), k), l), p), q), r), s), t)/(factorial(s)*factorial(n)*factorial(r)*factorial(l)*factorial(m)*factorial(p)*factorial(q)*factorial(k)*factorial(t)), n+m+k+l+p+q+r+s+t = N-8))+10*lambda^9*(sum(lambda^(n+m+k+l+p+q+r+s+t+u)*F(Physics:-Psigma[1], F(Physics:-Psigma[3], F(C[2], F(C[3], F(C[4], F(C[5], F(C[6], F(C[7], F(C[8], F(C[9], C[10], n), m), k), l), p), q), r), s), t), u)/(factorial(s)*factorial(n)*factorial(t)*factorial(r)*factorial(l)*factorial(m)*factorial(p)*factorial(q)*factorial(k)*factorial(u)), n+m+k+l+p+q+r+s+t+u = N-9)) end proc

(23)

Compute now the coefficients of the Zassenhaus formula up to C[10] all in one go

for j to 9 do C[j+1] := Simplify(solve(H(j), C[j+1])) end do

I*Physics:-Psigma[2]

 

(2/3)*Physics:-Psigma[3]-(4/3)*Physics:-Psigma[1]

 

-((1/3)*I)*((3*I)*Physics:-Psigma[1]+(6*I)*Physics:-Psigma[3]-4*Physics:-Psigma[2])

 

-(8/9)*Physics:-Psigma[1]-(158/45)*Physics:-Psigma[3]-((16/3)*I)*Physics:-Psigma[2]

 

(1030/81)*Physics:-Psigma[1]-(8/81)*Physics:-Psigma[3]+((1078/405)*I)*Physics:-Psigma[2]

 

((11792/243)*I)*Physics:-Psigma[2]+(358576/42525)*Physics:-Psigma[1]+(12952/135)*Physics:-Psigma[3]

 

(87277417/492075)*Physics:-Psigma[1]+(833718196/820125)*Physics:-Psigma[3]+((35837299048/17222625)*I)*Physics:-Psigma[2]

 

-((449018539801088/104627446875)*I)*Physics:-Psigma[2]-(263697596812424/996451875)*Physics:-Psigma[1]+(84178036928794306/2197176384375)*Physics:-Psigma[3]

 

(3226624781090887605597040906/21022858292748046875)*Physics:-Psigma[1]+(200495118165066770268119656/200217698026171875)*Physics:-Psigma[3]+((2185211616689851230363020476/4204571658549609375)*I)*Physics:-Psigma[2]

(24)

Notes: with the material above you can compute higher order values of C[n]. For that you need:

1. 

Unassign C as done above in two opportunities, to avoid interference of the results just computed.

2. 

Indicate more summation indices in the sequence summation_indices in (19), as many as the maximum value of n in C[n].

3. 

Have in mind that the growth in size and complexity is significant, with each C[n] taking significantly more time than the computation of all the previous ones.

4. 

Re-execute the input line (23) and the loop (24).

NULL


Download The_Zassenhause_formula_and_the_Pauli_Matrices.mw

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

ode_problem.mw Can someone please look at this? I am having a problem with the ordinary differential equations. 

 

Hello there,

I'm pretty new to MAPLE so this may probably an "easy" mistake, but I don't know what's the problem anyway...

I'd like to find a solution to a system of four equations with four unknowns:

fsolve({(T[1]-T[0])/(10000-T[1]+T[0]) = -2.000000000, (T[2]-T[0])/(20000-T[2]+T[0]) = 0, (T[3]-T[0])/(50000-T[3]+T[0]) = 50, .1*T[0]+.3*T[1]+.55*T[2]+0.5e-1*T[3]-5000 = 0}, {T[0], T[1], T[2], T[3]})

Problem: Instead of providing the single solutions, MAPLE is simply just rewriting the fsolve-statement and does not solve. There is no error-message.

Does anybody know, what the problem is here? Is there no solution after all?

An n*n matrix A is called an MDS matrix over an arbitrary field if all determinant of square sub-matrices of A are non-zero over the field. It is not difficult to prove that the number of all square sub-matrices of A is binomial(2*n, n)-1. The code that I use to check whether A is an MDS matrix is in the following form 

 u := 1;
 for k to n do
 P := choose(n, k);
   for i to nops(P) do
    for j to nops(P) do
         F := A(P[i], P[j]);
         r := Determinant(F);
        if r = 0 then

           u := 0; k:=n+1;

            i := nops(P)+1; j := nops(P)+1;

        end if;

    end do;

      end do; 
   if u = 1 then

      print(A is an MDS Matrix) 

   end if; 
  end do:

When I run the mentioned code for n=16, it takes long time since we need to check binomial(32, 16)-1=601080389 cases to verify that A is an MDS matrix or not. 

My Question: Is there a modified procedure which can be used to check that an n*n matrix is  whether an MDS matrix for n>=16. 


 

i'm doing an optimaztion for my final project. when i execute the coding, it says: 

Warning, initial point [m1 = .900000000000000, m2 = .900000000000000, m3 = .900000000000000, sigma1 = .900000000000000, sigma2 = .900000000000000, sigma3 = .900000000000000] does not satisfy the inequality constraints; trying to find a feasible initial point
Error, (in DirectSearch:-Search) cannot find feasible initial point; last infeasible trial point is [m1 = HFloat(0.9), m2 = HFloat(1.9), m3 = HFloat(1.9), sigma1 = HFloat(1.9), sigma2 = HFloat(0.9), sigma3 = HFloat(0.9)].

here my full coding:


restart;
with(linalg);
with(Optimization);
with(DirectSearch);
[BoundedObjective, CompromiseProgramming, DataFit, 

  ExponentialWeightedSum, GlobalOptima, GlobalSearch, Minimax, 

  ModifiedTchebycheff, Search, SolveEquations, WeightedProduct, 

  WeightedSum]
q := Array(0 .. .111, [0.586e-2, 0.67475e-3, 0.52476e-3, 0.419785e-3, 0.354814e-3, 0.324859e-3, 0.319948e-3, 0.31e-3, 0.295013e-3, 0.28e-3, 0.259974e-3, 0.25496e-3, 0.26e-3, 0.270027e-3, 0.280026e-3, 0.284987e-3, 0.274934e-3, 0.279893e-3, 0.294824e-3, 0.324765e-3, 0.374672e-3, 0.439555e-3, 0.509439e-3, 0.56934e-3, 0.60923e-3, 0.634201e-3, 0.634233e-3, 0.624319e-3, 0.61442e-3, 0.624491e-3, 0.6495e-3, 0.684465e-3, 0.714452e-3, 0.729463e-3, 0.749451e-3, 0.789387e-3, 0.864347e-3, 0.964331e-3, 0.1064261e-2, 0.119413e-2, 0.1333876e-2, 0.150354e-2, 0.1683293e-2, 0.1883023e-2, 0.2102591e-2, 0.2356929e-2, 0.2656062e-2, 0.3004981e-2, 0.3403637e-2, 0.3841874e-2, 0.4349482e-2, 0.4931339e-2, 0.5587622e-2, 0.6293742e-2, 0.7044467e-2, 0.780967e-2, 0.8563865e-2, 0.9291539e-2, 0.9987678e-2, 0.10677379e-1, 0.1139506e-1, 0.12195833e-1, 0.13108819e-1, 0.14262384e-1, 0.15557439e-1, 0.17002799e-1, 0.18574592e-1, 0.20263971e-1, 0.22103523e-1, 0.24043337e-1, 0.26165465e-1, 0.28548531e-1, 0.31489568e-1, 0.3458584e-1, 0.37891201e-1, 0.41511365e-1, 0.45444649e-1, 0.49867283e-1, 0.54877269e-1, 0.60478547e-1, 0.66532745e-1, 0.7397857e-1, 0.81900977e-1, 0.90034141e-1, 0.98921462e-1, .108746024, .11839162, .130752255, .14368791, .157201822, .169770195, .177233464, .188823516, .204733363, .224639756, .249617627, .273409998, .298674064, .304378882, .319592743, .342821691, .367512872, .395257421, .426270115, .460795318, .498484563, .537417055, .577542345, .618093683, .660441764, .703856817, 1]);
variables = [m1, m2, m3, sigma1, sigma2, sigma3];
        variables = [m1, m2, m3, sigma1, sigma2, sigma3]
psi1 := 0.11480601e-1; psi2 := 0.8890123e-2; psi3 := .979629276;
                          0.011480601
                          0.008890123
                          0.979629276
s1(x):=exp(-(x/(m1))^((m1/(sigma1)))):  s1(x+1):=exp(-((x+1)/(m1))^((m1/(sigma1)))):  s2(x):=1-exp(-(x/(m2))^((-m2/(sigma2)))):  s2(x+1):=1-exp(-((x+1)/(m2))^((-m2/(sigma2)))):  s3(x):=exp(exp(-m3/(sigma3))-exp((x-m3)/(sigma3))): s3(x+1):=exp(exp(-m3/(sigma3))-exp((x+1-m3)/(sigma3)))  :  s(x):=(psi1*s1(x)+psi2*s2(x)+psi3*s3(x)): s(x+1):=(psi1*s1(x+1)+psi2*s2(x+1)+psi3*s3(x+1)):   qtopi(x):=1-((s(x+1))/(s(x))):
fungsikerugian := add((1-qtopi(x)/q[x])^2, x = 0 .. .110);
for x from 0 to 111 do c1[x] := 0 <= s1(x+1); c2[x] := 1 >= s1(x+1); c3[x] := 0 <= s2(x+1); c4[x] := 1 >= s2(x+1); c5[x] := 0 <= s3(x+1); c6[x] := 1 >= s3(x+1); c7[x] := 0 <= s1(x); c8[x] := 1 >= s1(x); c9[x] := 0 <= s2(x); c10[x] := 1 >= s2(x); c11[x] := 0 <= s3(x); c12[x] := 1 >= s3(x); c13[x] := 0 <= s(x); c14[x] := 1 >= s(x); c15[x] := 0 <= s(x+1); c16[x] := 1 >= s(x+1); c17[x] := 0 <= qtopi(x); c18[x] := 1 >= qtopi(x) end do;

constr := {m2 > sigma2, m3 > sigma3, seq(c1[x], x = 0 .. .110), seq(c10[x], x = 0 .. .111), seq(c11[x], x = 0 .. .111), seq(c12[x], x = 0 .. .111), seq(c13[x], x = 0 .. .111), seq(c14[x], x = 0 .. .111), seq(c15[x], x = 0 .. .110), seq(c16[x], x = 0 .. .110), seq(c17[x], x = 0 .. .110), seq(c18[x], x = 0 .. .110), seq(c2[x], x = 0 .. .110), seq(c3[x], x = 0 .. .110), seq(c4[x], x = 0 .. .110), seq(c5[x], x = 0 .. .110), seq(c6[x], x = 0 .. .110), seq(c7[x], x = 0 .. .111), seq(c8[x], x = 0 .. .111), seq(c9[x], x = 0 .. .111), m1 < sigma1, 0 <= m1 and m1 < 17, 17 <= m2 and m2 < 33, 33 <= m3 and m3 < 111};
solusi := DirectSearch:-Search(fungsikerugian, constr, assume = positive, evaluationlimit = 5555);
Warning, initial point [m1 = .900000000000000, m2 = .900000000000000, m3 = .900000000000000, sigma1 = .900000000000000, sigma2 = .900000000000000, sigma3 = .900000000000000] does not satisfy the inequality constraints; trying to find a feasible initial point
Error, (in DirectSearch:-Search) cannot find feasible initial point; last infeasible trial point is [m1 = HFloat(0.9), m2 = HFloat(1.9), m3 = HFloat(1.9), sigma1 = HFloat(1.9), sigma2 = HFloat(0.9), sigma3 = HFloat(0.9)]

thanks before

The command

taylor( (2 * pi * n) ^ (1/(2n), n = 2)

return   1+((1/2)*ln(2*Pi)+(1/2)*ln(n))/n+O(1/n^2)

I think, this is incorrect, in my oppinion must be:

1+((1/2)*ln(2*Pi)+(1/2)*ln(n))/n+O(ln(n)^2/n^2)

Is this error in maple?

 

A common question to our tech support team is about completing the square for a univariate polynomial of even degree, and how to do that in Maple. We’ve put together a solution that we think you’ll find useful. If you have any alternative methods or improvements to our code, let us know!

restart;

# Procedure to complete the square for a univariate
# polynomial of even degree.

CompleteSquare := proc( f :: depends( 'And'( polynom, 'satisfies'( g -> ( type( degree(g,x), even ) ) ) ) ), x :: name )

       local a, g, k, n, phi, P, Q, r, S, T, u:

       # Degree and parameters of polynomial.
       n := degree( f, x ):
       P := indets( f, name ) minus { x }:

       # General polynomial of square plus constant.
       g := add( a[k] * x^k, k=0..n/2 )^2 + r:

       # Solve for unknowns in g.
       Q := indets( g, name ) minus P:

       S := map( expand, { solve( identity( expand( f - g ) = 0, x ), Q ) } ):

       if numelems( S ) = 0 then
              return NULL:
       end if:

       # Evaluate g at the solution, and re-write square term
       # so that the polynomial within the square is monic.

       phi := u -> lcoeff(op(1,u),x)^2 * (expand(op(1,u)/lcoeff(op(1,u),x)))^2:  
       T := map( evalindets, map( u -> eval(g,u), S ), `^`(anything,identical(2)), phi ):

       return `if`( numelems(T) = 1, T[], T ):

end proc:


# Examples.

CompleteSquare( x^2 + 3 * x + 2, x );
CompleteSquare( a * x^2 + b * x + c, x );
CompleteSquare( 4 * x^8 + 8 * x^6 + 4 * x^4 - 246, x );

m, n := 4, 10;
r := rand(-10..10):
for i from 1 to n do
       CompleteSquare( r() * ( x^(m/2) + randpoly( x, degree=m-1, coeffs=r ) )^2 + r(), x );
end do;

# Compare quadratic examples with Student:-Precalculus:-CompleteSquare()
# (which is restricted to quadratic expressions).

Student:-Precalculus:-CompleteSquare( x^2 + 3 * x + 2 );
Student:-Precalculus:-CompleteSquare( a * x^2 + b * x + c );

For a higher-order example:

f := 5*x^4 - 70*x^3 + 365*x^2 - 840*x + 721;
g := CompleteSquare( f, x ); # 5 * ( x^2 - 7 * x + 12 )^2 + 1
h := evalindets( f, `*`, factor ); 4 * (x-3)^2 * (x-4)^2 + 1
p1 := plot( f, x=0..5, y=-5..5, color=blue ):
p2 := plots:-pointplot( [ [3,1], [4,1] ], symbol=solidcircle, symbolsize=20, color=red ):
plots:-display( p1, p2 );

tells us that the minimum value of the expression is 1, and it occurs at x=3 and x=4.

Assume that a[1],a[2],..a[k] are positive integer numbers. Let n be a positive integer number. 

Suppose that igcd(a[1],a[2],..a[k])=1. 

My question: Is there a command in Maple such that the output of the this command be true provided that there are "non-negative integer numbers" x[1],x[2],..x[k] which satisfy the following condition:

a1*x1+a2*x2+...+ak*xk=n

Thanks in advance

How to let sqrt(5*x+5+y) become sqrt(5*(x+1)+y) automatically?

Dear all,

Following the comments I am editing this post:

I have a function F of variables (r1,r2,theta1,theta2,r,theta,a). r1, r2,theta1,theta2 are function of r,  theta and a. I want to take derivative of F with respect to a. r and theta are independent of a . I expressed everything in terms of 'a' as a function of 'a' at first. Then I use diff(F, a). I see there is an error in the final expression G .There is a restriction that theta1 should lie between -Pi to Pi and theta2 between 0 to 2*Pi. I speculate this is the source of error. Work sheet is attached. Reason: value of G: integration in 0 to pi/4 gives some  value but for 0 to pi it evaluates to zero and so is the case with 0 to 2*Pi. As "G "physically represents energy it must be a positive value.
 


restart;

theta1 := unapply(arctan(r*sin(theta)/(r*cos(theta)-a)), a);

proc (a) options operator, arrow; arctan(r*sin(theta)/(r*cos(theta)-a)) end proc

(1)

 

## theta1 -->[-Pi,Pi] and theta2-->[0,2*Pi]

NULL

theta2 := unapply(arctan(r*sin(theta)/(r*cos(theta)+a)), a);

proc (a) options operator, arrow; arctan(r*sin(theta)/(r*cos(theta)+a)) end proc

(2)

``

r1:=unapply(sqrt((r*cos(theta)-a)^2+r^2*(sin(theta))^2),a);r2:=unapply(sqrt((r*cos(theta)+a)^2+r^2*(sin(theta))^2),a);

proc (a) options operator, arrow; ((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2) end proc

 

proc (a) options operator, arrow; ((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2) end proc

(3)

sigma12:=0;sigma22:=sigma;

0

 

sigma

(4)

plot(arctan(tan(x)), x = (1/2)*Pi .. Pi)

 

## I have to use a constraint that

assume(theta1(a) < Pi, theta1(a) > -Pi, theta2(a) > 0, theta2(a) < 2*Pi, a>0,r>0)

u1:=(1+nu)*sigma22*sqrt(r1(a)*r2(a))*(4*(1-2*nu)*cos((theta1(a)+(theta2(a)))/2)-4*r*(1-nu)*cos(theta)/sqrt(r1(a)*r2(a))-2*r^2/(r1(a)*r2(a))*(cos((theta1(a)+(theta2(a)))/2)-cos(2*theta-theta1(a)/2-(theta2(a))/2)))/(4*E)+(1+nu)*sigma12*sqrt(r1(a)*r2(a))*(2*(1-2*nu)*sin((theta1(a)+(theta2(a)))/2)-2*r*(1-nu)*sin(theta)/sqrt(r1(a)*r2(a))+1*r^2/(r1(a)*r2(a))*sin(theta)*cos(theta-theta1(a)/2-(theta2(a))/2))/(E);

 

(1/4)*(1+nu)*sigma*(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)*(4*(1-2*nu)*cos((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))-4*r*(1-nu)*cos(theta)/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)-2*r^2*(cos((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))-cos(2*theta-(1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a))))/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2)))/E

(5)

NULL

u2:=(1+nu)*sigma*sqrt(r1(a)*r2(a))*(8*(1-nu)*sin((theta1(a)+(theta2(a)))/2)-4*r*(nu)*sin(theta)/sqrt(r1(a)*r2(a))-2*r^2/(r1(a)*r2(a))*(sin((theta1(a)+(theta2(a)))/2)+sin(2*theta-theta1(a)/2-(theta2(a))/2)))/(4*E)+(1+nu)*sigma12*sqrt(r1(a)*r2(a))*((1-2*nu)*cos((theta1(a)+theta2(a))/2)+2*r*(1-nu)*cos(theta)/sqrt(r1(a)*r2(a))-1*r^2/(r1(a)*r2(a))*sin(theta)*sin(theta-theta1(a)/2-theta2(a)/2))/(E);

 

(1/4)*(1+nu)*sigma*(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)*(8*(1-nu)*sin((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))-4*r*nu*sin(theta)/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)-2*r^2*(sin((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))+sin(2*theta-(1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a))))/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2)))/E

(6)

 

## get u_r and u_theta as u[1] and u[2]

u[1] := u1*cos(theta)+u2*sin(theta);

(1/4)*(1+nu)*sigma*(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)*(4*(1-2*nu)*cos((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))-4*r*(1-nu)*cos(theta)/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)-2*r^2*(cos((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))-cos(2*theta-(1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a))))/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2)))*cos(theta)/E+(1/4)*(1+nu)*sigma*(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)*(8*(1-nu)*sin((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))-4*r*nu*sin(theta)/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)-2*r^2*(sin((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))+sin(2*theta-(1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a))))/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2)))*sin(theta)/E

(7)

u[2] := -sin(theta)*u1+cos(theta)*u2;

-(1/4)*sin(theta)*(1+nu)*sigma*(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)*(4*(1-2*nu)*cos((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))-4*r*(1-nu)*cos(theta)/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)-2*r^2*(cos((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))-cos(2*theta-(1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a))))/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2)))/E+(1/4)*cos(theta)*(1+nu)*sigma*(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)*(8*(1-nu)*sin((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))-4*r*nu*sin(theta)/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2))^(1/2)-2*r^2*(sin((1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))+(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))+sin(2*theta-(1/2)*arctan(r*sin(theta)/(r*cos(theta)-a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a))))/(((r*cos(theta)-a)^2+r^2*sin(theta)^2)^(1/2)*((r*cos(theta)+a)^2+r^2*sin(theta)^2)^(1/2)))/E

(8)

Diff_ur := simplify(diff(u[1], a));

(1/2)*sigma*(1+nu)*a*(-(-2*cos(theta)*a*r+a^2+r^2)^(1/2)*(2*cos(theta)*a*r+a^2+r^2)^(1/2)*r^2*cos(theta)*(a-r)*(a+r)*cos(2*theta+(1/2)*arctan(r*sin(theta)/(-r*cos(theta)+a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))+(-2*cos(theta)*a*r+a^2+r^2)^(1/2)*(2*cos(theta)*a*r+a^2+r^2)^(1/2)*r^2*sin(theta)*(a^2+r^2)*sin(2*theta+(1/2)*arctan(r*sin(theta)/(-r*cos(theta)+a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))+((a^2*r^2-r^4)*(2*cos(theta)*a*r+a^2+r^2)^(1/2)*(-2*cos(theta)*a*r+a^2+r^2)^(1/2)-4*(-2*cos(theta)*a*r+a^2+r^2)*(2*cos(theta)*a*r+a^2+r^2)*(-4*r^2*(nu-3/4)*cos(theta)^2+(3*nu-5/2)*r^2+a^2*(nu-1/2)))*cos(theta)*cos((1/2)*arctan(r*sin(theta)/(-r*cos(theta)+a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))-sin(theta)*((2*cos(theta)*a*r+a^2+r^2)^(1/2)*r^2*(a^2+r^2)*(-2*cos(theta)*a*r+a^2+r^2)^(1/2)-4*(-2*cos(theta)*a*r+a^2+r^2)*(2*cos(theta)*a*r+a^2+r^2)*(-4*r^2*(nu-3/4)*cos(theta)^2+(a^2+r^2)*(nu-1)))*sin((1/2)*arctan(r*sin(theta)/(-r*cos(theta)+a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a))))/((-2*cos(theta)*a*r+a^2+r^2)^(3/2)*(2*cos(theta)*a*r+a^2+r^2)^(3/2)*((-2*cos(theta)*a*r+a^2+r^2)^(1/2)*(2*cos(theta)*a*r+a^2+r^2)^(1/2))^(1/2)*E)

(9)

``

 

Diff_ut := simplify(diff(u[2], a));

-(1/2)*sigma*(1+nu)*a*(-(-2*cos(theta)*a*r+a^2+r^2)^(1/2)*(2*cos(theta)*a*r+a^2+r^2)^(1/2)*r^2*sin(theta)*(a^2+r^2)*cos(2*theta+(1/2)*arctan(r*sin(theta)/(-r*cos(theta)+a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))-(-2*cos(theta)*a*r+a^2+r^2)^(1/2)*(2*cos(theta)*a*r+a^2+r^2)^(1/2)*r^2*cos(theta)*(a-r)*(a+r)*sin(2*theta+(1/2)*arctan(r*sin(theta)/(-r*cos(theta)+a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))+sin(theta)*((2*cos(theta)*a*r+a^2+r^2)^(1/2)*r^2*(a^2+r^2)*(-2*cos(theta)*a*r+a^2+r^2)^(1/2)-4*(-2*cos(theta)*a*r+a^2+r^2)*(-4*r^2*(nu-3/4)*cos(theta)^2+(a^2+r^2)*(nu-1/2))*(2*cos(theta)*a*r+a^2+r^2))*cos((1/2)*arctan(r*sin(theta)/(-r*cos(theta)+a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))+((a^2*r^2-r^4)*(2*cos(theta)*a*r+a^2+r^2)^(1/2)*(-2*cos(theta)*a*r+a^2+r^2)^(1/2)-4*(-2*cos(theta)*a*r+a^2+r^2)*(-4*r^2*(nu-3/4)*cos(theta)^2+(3*nu-2)*r^2+a^2*(nu-1))*(2*cos(theta)*a*r+a^2+r^2))*sin((1/2)*arctan(r*sin(theta)/(-r*cos(theta)+a))-(1/2)*arctan(r*sin(theta)/(r*cos(theta)+a)))*cos(theta))/((-2*cos(theta)*a*r+a^2+r^2)^(3/2)*(2*cos(theta)*a*r+a^2+r^2)^(3/2)*((-2*cos(theta)*a*r+a^2+r^2)^(1/2)*(2*cos(theta)*a*r+a^2+r^2)^(1/2))^(1/2)*E)

(10)

``

# find the limiting case

Att := limit(Diff_ut*r*sin(2*theta), r = infinity);

(2*a*sigma*cos(theta)^3*sin(theta)^2*nu+2*a*sigma*cos(theta)*sin(theta)^4*nu+2*a*sigma*cos(theta)^3*sin(theta)^2+2*a*sigma*cos(theta)*sin(theta)^4-8*a*sigma*cos(theta)*sin(theta)^2*nu^2-6*a*sigma*cos(theta)*sin(theta)^2*nu+2*a*sigma*cos(theta)*sin(theta)^2)/(((cos(theta)^2+sin(theta)^2)/cos(theta)^2)^(1/2)*E)

(11)

Arr := limit(Diff_ur*r*(1-cos(2*theta)), r = infinity);

(-16*a*sigma*cos(theta)^6*nu^2-16*a*sigma*cos(theta)^4*sin(theta)^2*nu^2-6*a*sigma*cos(theta)^6*nu-6*a*sigma*cos(theta)^4*nu*sin(theta)^2+10*a*sigma*cos(theta)^6+10*a*sigma*sin(theta)^2*cos(theta)^4+28*a*sigma*cos(theta)^4*nu^2+20*a*sigma*cos(theta)^2*sin(theta)^2*nu^2+10*a*sigma*cos(theta)^4*nu+4*a*sigma*cos(theta)^2*sin(theta)^2*nu-18*a*sigma*cos(theta)^4-16*a*sigma*sin(theta)^2*cos(theta)^2-12*a*sigma*cos(theta)^2*nu^2-4*a*sigma*sin(theta)^2*nu^2-4*a*sigma*cos(theta)^2*nu+2*a*sigma*sin(theta)^2*nu+8*a*sigma*cos(theta)^2+6*a*sigma*sin(theta)^2)/(cos(theta)*((cos(theta)^2+sin(theta)^2)/cos(theta)^2)^(1/2)*E)

(12)

G := (1/8)*(int(Arr+Att, theta = 0 .. Pi/2))*sigma*4;

-(1/8)*Pi*a*sigma^2*(4*nu^2-nu-5)/E

(13)

simplify(G)

-(1/8)*Pi*a*sigma^2*(4*nu^2-nu-5)/E

(14)

 


Download Derivative_implicit_maplePrime.mw

 

Thanks,

Hi,

 

Is there any way to add arrows to the parametrics plot to show the direction they are going? Thanks. 

Hi,

How would I tell maple to solve for the variable t? The answer should be 4. 

[t-2,(t-2)^2]

[(3t/2)-4,(3t/2)-2]

I need to set them equal to eachother and then solve for t. 

 

Thanks!

Suppose that n is a positive integer number and [k1,k2,...,kn] is a list of non-negative integer numbers. 

My Question: How to create the procedure proc([k1,k2,...,kn]) such that the output of this procedure is in the following form:

For i1 from 0 to k1 do

for i2 from 0 to k2 do

......................

for in from 0 to kn do

i1+i2+...+in

end do; end do;...end do;

This application describes the motion of a pendulum attached to a moving pivot, all in 2D.

https://www.maplesoft.com/applications/view.aspx?SID=4888

 
How can this situation be generalized to a pendulum attached to a pivot which moves along a 3D spacecurve?

The Joint Mathematics Meetings are taking place next week (January 16 – 19) in Baltimore, Maryland, U.S.A. This will be the 102nd annual winter meeting of the Mathematical Association of America (MAA) and the 125th annual meeting of the American Mathematical Society (AMS).

Maplesoft will be exhibiting at booth #501 as well as in the networking area. Please stop by to chat with me and other members of the Maplesoft team, as well as to pick up some free Maplesoft swag or win some prizes.

This year we will be hosting a hands-on workshop on Maple: A Natural Way to Work with Math

This special event will take place on Thursday, January 17 at 6:00 -8:00 P.M. in the Holiday Ballroom 4 at the Hilton Baltimore.

 

There are also several other interesting Maple related talks:

MYMathApps Tutorials

MAA General Contributed Paper Session on Mathematics and Technology 

Wednesday January 16, 2019, 1:00 p.m.-1:55 p.m.

Room 323, BCC
Matthew Weihing*, Texas A&M University 
Philip B Yasskin, Texas A&M University 

 

The Logic Behind the Turing Bombe's Role in Breaking Enigma. 

MAA General Contributed Paper Session on Mathematics and Technology 

Wednesday January 16, 2019, 1:00 p.m.-1:55 p.m.
Room 323, BCC
Neil Sigmon*, Radford University 
Rick Klima, Appalachian State University 

 

On a software accessible database of faithful representations of Lie algebras. 

MAA General Contributed Paper Session on Algebra, I 

Wednesday January 16, 2019, 2:15 p.m.-6:25 p.m.
Room 348, BCC
Cailin Foster*, Dixie State University 
 

Discussion of Various Technical Strategies Used in College Math Teaching. 

MAA Contributed Paper Session on Open Educational Resources: Combining Technological Tools and Innovative Practices to Improve Student Learning, IV 

Friday January 18, 2019, 8:00 a.m.-10:55 a.m.
Room 303, BCC
Lina Wu*, Borough of Manhattan Community College-The City University of New York 
 

An Enticing Simulation in Ordinary Differential Equations that predict tangible results. 

MAA Contributed Paper Session on The Teaching and Learning of Undergraduate Ordinary Differential Equations 

Friday January 18, 2019, 1:00 p.m.-4:55 p.m.
Room 324, BCC
Satyanand Singh*, New York City College of Technology of CUNY 
 

An Effort to Assess the Impact a Modeling First Approach has in a Traditional Differential Equations Class. 

AMS Special Session on Using Modeling to Motivate the Study of Differential Equations, I 
Saturday January 19, 2019, 8:00 a.m.-11:50 a.m.

Room 336, BCC
Rosemary C Farley*, Manhattan College 
Patrice G Tiffany, Manhattan College 

 

If you are attending the Joint Math meetings this week and plan on presenting anything on Maple, please feel free to let me know and I'll update this list accordingly.


See you in Baltimore!

Daniel

Maple Product Manager

First 753 754 755 756 757 758 759 Last Page 755 of 2249