Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

Hello,

I've got the following problem: Sometimes when I let Maple compute an integral it gives a result which is much smaller than it should be. This happens even for rather simple integrals such as the product of a Gauss function and a 1/x-type function. Here's a minimal working example:

restart;
with(plots):
f := x -> exp(-x^2):
g := (x,a) -> 1/(1+abs(x-a)):
plot([f(x),g(x,3)],x=-3..10):
for a from 1 to 100 do
A[a] := int(f(x)*g(x,a),x=-infinity..a-1)
end do:
B:=[seq(A[a],a=1..100)]:
X:=[seq(a,a=1..100)]:
plot(X,B);

The plot it returns looks like this:

which is clearly wrong between around a=35 and a=60...

Does anyone have an idea how this can be repaired?

Hello,

I try to use the Explore function on a trigonometric expressions depending of 8 parameters. My aim is to study the influence of these parameters on the results.

However, i receive an error message and I didn't manage to troubleshoot it.

May you have a look of an extract of my code and see if you see the mistake ?

TestExplore.mw

Thanks a lot for your help.

 

 

Dear sir

 

I try the below program and it is not executing because of error and that error is " unable to match delimiters" 

Please can you varify it.

sol1 := dsolve([diff(diff(diff(f(eta),eta),eta),eta)+f(eta)*diff(diff(f(eta),eta),eta)+((2*n)/((n+1)))*(1-diff(f(eta),eta)^2) = 0, 1/(Pr) *diff(diff(theta(eta),eta),eta)+f(eta)*diff(theta(eta),eta)-((2*p)/((n+1)))diff(f(eta),eta)*theta(eta) = 0, f(0) = 0, D(f)(0) = 1+lambda*'@@'(D,2)(f)(0), D(f)(10) = 1, theta(0)=0, theta(0)=1+sigma*D(theta(0)),theta(10)=1], numeric, method = bvp);  plots[odeplot](sol1, [eta, `@@`(D,2)(f)(eta)], color = red,axes=boxed);

Dear Community,

Is there an explicit command to remove rows or columns from a DataFrame? I've only found the Append command. What's the easiest way to do it?

Tx in advance,

best regards

Andras

eq2 := -4*A[2]*cos(2*x)-16*A[4]*cos(4*x)-36*A[6]*cos(6*x)-64*A[8]*cos(8*x)+a*A[0]+cos(8*x)*a*A[8]+cos(6*x)*a*A[6]+cos(4*x)*a*A[4]+2*cos(2*x)*q*A[0]+cos(2*x)*a*A[2]+q*A[8]*cos(6*x)+q*A[8]*cos(10*x)+q*A[6]*cos(4*x)+q*A[6]*cos(8*x)+q*A[4]*cos(2*x)+q*A[4]*cos(6*x)+q*A[2]*cos(4*x)+q*A[2]

How to extract the co-fficent that do not have cos in it like

a*A[0]+q*A[2]

This presentation is on an undergrad intermediate Quantum Mechanics topic. Tackling the problem within a computer algebra worksheet in the way shown below is actually the novelty, using the Physics package to formulate the problem with quantum operators and related algebra rules in tensor notation.

 

Quantization of the Lorentz Force

 

Pascal Szriftgiser1 and Edgardo S. Cheb-Terrab2 

(1) Laboratoire PhLAM, UMR CNRS 8523, Université Lille 1, F-59655, France

(2) Maplesoft

 

We consider the case of a quantum, non-relativistic, particle with mass m and charge q evolving under the action of an arbitrary time-independent magnetic field "B=Curl(A(x,y,z)), "where `#mover(mi("A",mathcolor = "olive"),mo("→"))` is the vector potential. The Hamiltonian for this system is

H = (`#mover(mi("p",mathcolor = "olive"),mo("→"))`-q*`#mover(mi("A",mathcolor = "olive"),mo("→"))`(X))^2/(2*m)

where `#mover(mi("p",mathcolor = "olive"),mo("→"))` is the momentum of the particle, and the force acting in this particle, also called the Lorentz force, is given by

 

`#mover(mi("F",mathcolor = "olive"),mo("→"))` = m*(diff(v(t), t))

 

where `#mover(mi("v",mathcolor = "olive"),mo("→"))` is the quantized velocity of the particle, and all of  H, `#mover(mi("p",mathcolor = "olive"),mo("→"))`, `#mover(mi("v",mathcolor = "olive"),mo("→"))`, `#mover(mi("B",mathcolor = "olive"),mo("→"))`, `#mover(mi("A",mathcolor = "olive"),mo("→"))` and `#mover(mi("F",mathcolor = "olive"),mo("→"))` are Hermitian quantum operators representing observable quantities.

 

In the classic (non-quantum) case, `#mover(mi("F"),mo("→"))` for such a particle in the absence of electrical field is given by

 

`#mover(mi("F"),mo("→"))` = `&x`(q*`#mover(mi("v"),mo("→"))`, `#mover(mi("B"),mo("→"))`) ,

 

Problem: Departing from the Hamiltonian, show that in the quantum case the Lorentz force is given by [1]

 

`#mover(mi("F",mathcolor = "olive"),mo("→"))` = (1/2)*q*(`&x`(`#mover(mi("v",mathcolor = "olive"),mo("→"))`, `#mover(mi("B",mathcolor = "olive"),mo("→"))`)-`&x`(`#mover(mi("B",mathcolor = "olive"),mo("→"))`, `#mover(mi("v",mathcolor = "olive"),mo("→"))`))

 

[1] Photons et atomes, Introduction à l'électrodynamique quantique, p. 179, Claude Cohen-Tannoudji, Jacques Dupont-Roc et Gilbert Grynberg - EDP Sciences janvier 1987.

 

Solution

 

We choose to tackle the problem in Heisenberg's picture of quantum mechanices, where the state of a system is static and only the quantum operators evolve in time according to

``

diff(O(t), t) = I*Physics:-Commutator(H, O(t))/`ℏ`

 

Also, the algebraic manipulations are simpler using tensor abstract notation instead of the standard 3D vector notation. We then start setting the framework for the problem, a system of coordinates X, indicating the dimension of the tensor space to be 3 and the metric Euclidean, and that we will use lowercaselatin letters to represent tensor indices. In addition, not necessary but for convenience, we set the lowercase latin i to represent the imaginary unit and we request automaticsimplification so that the output of everything comes automatically simplified in size.

 

restart; with(Physics); interface(imaginaryunit = i)

Setup(mathematicalnotation = true, automaticsimplification = true, coordinates = X, dimension = 3, metric = Euclidean, spacetimeindices = lowercaselatin, quiet)

[automaticsimplification = true, coordinatesystems = {X}, dimension = 3, mathematicalnotation = true, metric = {(1, 1) = 1, (2, 2) = 1, (3, 3) = 1}, spacetimeindices = lowercaselatin]

(1)

 

Next we indicate the letters we will use to represent the quantum operators with which we will work, and also the standard commutation rules between position and momentum, always the starting point when dealing with quantum mechanics problems

 

Setup(quantumoperators = {F}, hermitianoperators = {A, B, H, p, r, v, x}, realobjects = {`ℏ`, m, q}, algebrarules = {%Commutator(p[k], p[n]) = 0, %Commutator(x[k], p[l]) = I*`ℏ`*KroneckerDelta[k, l], %Commutator(x[k], x[l]) = 0})

[algebrarules = {%Commutator(p[k], p[n]) = 0, %Commutator(x[k], p[l]) = I*`ℏ`*Physics:-KroneckerDelta[k, l], %Commutator(x[k], x[l]) = 0}, hermitianoperators = {A, B, H, p, r, v, x}, quantumoperators = {A, B, F, H, p, r, v, x}, realobjects = {`ℏ`, m, q, x1, x2, x3, %dAlembertian, Physics:-dAlembertian}]

(2)

 

Note that we start not indicating F as Hermitian, in order to arrive at that result. The quantum operators A, B, and F are explicit functions of X, so to avoid redundant display of this functionality on the screen we use

 

CompactDisplay((A, B, F)(X))

A(x1, x2, x3)*`will now be displayed as`*A

 

B(x1, x2, x3)*`will now be displayed as`*B

 

F(x1, x2, x3)*`will now be displayed as`*F

(3)

Define now as tensors the quantum operators that we will use with tensorial notation (recalling: for these, Einstein's sum rule for repeated indices will be automatically applied when simplifying)

 

Define(x, p, v, A, B, F, quiet)

{A, B, F, p, v, x, Physics:-Dgamma[a], Physics:-Psigma[a], Physics:-d_[a], Physics:-g_[a, b], Physics:-KroneckerDelta[a, b], Physics:-LeviCivita[a, b, c], Physics:-SpaceTimeVector[a](X)}

(4)

The Hamiltonian,

H = (`#mover(mi("p",mathcolor = "olive"),mo("→"))`-q*`#mover(mi("A",mathcolor = "olive"),mo("→"))`(X))^2/(2*m)

in tensorial notation, is given by

H = (p[n]-q*A[n](X))^2/(2*m)

H = (1/2)*Physics:-`^`(p[n]-q*A[n](X), 2)/m

(5)

Generally speaking to arrive at  ```#mover(mi("F",mathcolor = "olive"),mo("→"))` = (1/2)*q*(`&x`(`#mover(mi("v",mathcolor = "olive"),mo("→"))`, `#mover(mi("B",mathcolor = "olive"),mo("→"))`)-`&x`(`#mover(mi("B",mathcolor = "olive"),mo("→"))`, `#mover(mi("v",mathcolor = "olive"),mo("→"))`)) what we now need to do is

1) Express this Hamiltonian (5) in terms of the velocity

 

And, recalling that, in Heisenberg's picture, quantum operators evolve in time according to

diff(O(t), t) = I*Physics:-Commutator(H, O(t))/`ℏ`

 

2) Take the commutator of H with the velocity itself to obtain its time derivative and, from `#mover(mi("F",mathcolor = "olive"),mo("→"))` = m*(diff(v(t), t)) , that commutator is already the force up to some constant factors.

 

To get in contact with the basic commutation rules between position and momentum behind quantum phenomena, the quantized velocity itself can be computed as the time derivative of the position operator, i.e as the commutator of x[k] with H

I*Commutator(H = (1/2)*Physics[`^`](p[n]-q*A[n](X), 2)/m, x[k])/`ℏ`

I*Physics:-Commutator(H, x[k])/`ℏ` = (1/2)*(I*q^2*Physics:-AntiCommutator(A[n](X), Physics:-Commutator(A[n](X), x[k]))-I*q*Physics:-AntiCommutator(p[n], Physics:-Commutator(A[n](X), x[k]))-2*(q*A[n](X)-p[n])*Physics:-KroneckerDelta[k, n]*`ℏ`)/(`ℏ`*m)

(6)

This expression for the velocity, that involves commutators between the potential A[n](X), the position x[k] and the momentum p[n], can be simplified taking into account the basic quantum algebra rules between position and momentum. We assume that A[n](X)(X) can be decomposed into a formal power series (possibly infinite) of the x[k], hence all the A[n](X) commute between themselves as well as with all the x[k]

 

{%Commutator(A[k](X), x[l]) = 0, %Commutator(A[k](X), A[l](X)) = 0}

{%Commutator(A[k](X), x[l]) = 0, %Commutator(A[k](X), A[l](X)) = 0}

(7)

(Note: in some cases, this is not true, but those cases are beyond the scope of this worksheet.)

 

Add these rules to the algebra rules already set so that they are all taken into account when simplifying things

 

Setup(algebrarules = {%Commutator(A[k](X), x[l]) = 0, %Commutator(A[k](X), A[l](X)) = 0})

[algebrarules = {%Commutator(p[k], p[n]) = 0, %Commutator(x[k], p[l]) = I*`ℏ`*Physics:-KroneckerDelta[k, l], %Commutator(x[k], x[l]) = 0, %Commutator(A[k](X), x[l]) = 0, %Commutator(A[k](X), A[l](X)) = 0}]

(8)

Simplify(I*Physics[Commutator](H, x[k])/`ℏ` = (1/2)*(I*q^2*Physics[AntiCommutator](A[n](X), Physics[Commutator](A[n](X), x[k]))-I*q*Physics[AntiCommutator](p[n], Physics[Commutator](A[n](X), x[k]))-2*(q*A[n](X)-p[n])*Physics[KroneckerDelta][k, n]*`ℏ`)/(`ℏ`*m))

I*Physics:-Commutator(H, x[k])/`ℏ` = (-A[k](X)*q+p[k])/m

(9)

The right-hand side of (9) is then the kth component of the velocity tensor quantum operator, the relationship is the same as in the classical case

v[k] = rhs(I*Physics[Commutator](H, x[k])/`ℏ` = (-A[k](X)*q+p[k])/m)

v[k] = (-A[k](X)*q+p[k])/m

(10)

and with this the Hamiltonian (5) can now be rewritten in term of the velocity completing step 1)

simplify(H = (1/2)*Physics[`^`](p[n]-q*A[n](X), 2)/m, {SubstituteTensorIndices(k = n, (rhs = lhs)(v[k] = (-A[k](X)*q+p[k])/m))})

H = (1/2)*m*Physics:-`^`(v[n], 2)

(11)

For step 2), to compute

 `#mover(mi("F",mathcolor = "olive"),mo("→"))` = m*(diff(v(t), t)) and m*(diff(v(t), t)) = I*m*Physics:-Commutator(H, v(t)[k])/`ℏ` 

 

we need the commutator between the different components of the quantized velocity which, contrary to what happens in the classical case, do not commute. For this purpose, take the commutator between (10) with itself after replacing the free index

Commutator(v[k] = (-A[k](X)*q+p[k])/m, SubstituteTensorIndices(k = n, v[k] = (-A[k](X)*q+p[k])/m))

Physics:-Commutator(v[k], v[n]) = -q*(Physics:-Commutator(A[k](X), p[n])+Physics:-Commutator(p[k], A[n](X)))/m^2

(12)

To simplify (12), we use the fact that if f  is a commutative mapping that can be decomposed into a formal power series in all the complex plan (which is assumed to be the case for all A[n](X)(X)), then

Physics:-Commutator(p[k], f(x, y, z)) = -I*`ℏ`*`∂`[k](f(x, y, z))

where p[k]"=-i `ℏ` `∂`[k] " is the momentum operator along the x[k] axis. This relation reads in tensor notation:

Commutator(p[k], A[n](X)) = -I*`ℏ`*d_[k](A[n](X))

Physics:-Commutator(p[k], A[n](X)) = -I*`ℏ`*Physics:-d_[k](A[n](X), [X])

(13)

Add this rule to the rules previously set in order to automatically take it into account in (12)

Setup(Physics[Commutator](p[k], A[n](X)) = -I*`ℏ`*Physics[d_][k](A[n](X), [X]))

[algebrarules = {%Commutator(p[k], p[n]) = 0, %Commutator(p[k], A[n](X)) = -I*`ℏ`*Physics:-d_[k](A[n](X), [X]), %Commutator(x[k], p[l]) = I*`ℏ`*Physics:-KroneckerDelta[k, l], %Commutator(x[k], x[l]) = 0, %Commutator(A[k](X), x[l]) = 0, %Commutator(A[k](X), A[l](X)) = 0}]

(14)

Physics[Commutator](v[k], v[n]) = -q*(Physics[Commutator](A[k](X), p[n])+Physics[Commutator](p[k], A[n](X)))/m^2

Physics:-Commutator(v[k], v[n]) = -I*q*`ℏ`*(Physics:-d_[n](A[k](X), [X])-Physics:-d_[k](A[n](X), [X]))/m^2

(15)

Also add this other rule so that it is taken into account automatically

Setup(Physics[Commutator](v[k], v[n]) = -I*q*`ℏ`*(Physics[d_][n](A[k](X), [X])-Physics[d_][k](A[n](X), [X]))/m^2)

[algebrarules = {%Commutator(p[k], p[n]) = 0, %Commutator(p[k], A[n](X)) = -I*`ℏ`*Physics:-d_[k](A[n](X), [X]), %Commutator(v[k], v[n]) = -I*q*`ℏ`*(Physics:-d_[n](A[k](X), [X])-Physics:-d_[k](A[n](X), [X]))/m^2, %Commutator(x[k], p[l]) = I*`ℏ`*Physics:-KroneckerDelta[k, l], %Commutator(x[k], x[l]) = 0, %Commutator(A[k](X), x[l]) = 0, %Commutator(A[k](X), A[l](X)) = 0}]

(16)

Recalling now the expression of the Hamiltonian (11) as a function of the velocity, one can compute the components of the force operator  "()Component(v*B,k)=m (v[k])=(i m [H,v[k]][-])/`ℏ`"

F[k](X) = I*m*%Commutator(rhs(H = (1/2)*m*Physics[`^`](v[n], 2)), v[k])/`ℏ`

F[k](X) = I*m*%Commutator((1/2)*m*Physics:-`^`(v[n], 2), v[k])/`ℏ`

(17)

Simplify this expression for the quantized force taking the quantum algebra rules (16) into account

Simplify(F[k](X) = I*m*%Commutator((1/2)*m*Physics[`^`](v[n], 2), v[k])/`ℏ`)

F[k](X) = (1/2)*q*(-Physics:-`*`(Physics:-d_[n](A[k](X), [X]), v[n])+Physics:-`*`(Physics:-d_[k](A[n](X), [X]), v[n])-Physics:-`*`(v[n], Physics:-d_[n](A[k](X), [X]))+Physics:-`*`(v[n], Physics:-d_[k](A[n](X), [X])))

(18)

It is not difficult to verify that this is the antisymmetrized vector product `&x`(`#mover(mi("v",mathcolor = "olive"),mo("→"))`, `#mover(mi("B",mathcolor = "olive"),mo("→"))`). Departing from `#mover(mi("B",mathcolor = "olive"),mo("→"))` = `&x`(VectorCalculus[Nabla], `#mover(mi("A",mathcolor = "olive"),mo("→"))`) expressed using tensor notation,

B[c](X) = LeviCivita[c, n, m]*d_[n](A[m](X))

B[c](X) = -Physics:-LeviCivita[c, m, n]*Physics:-d_[n](A[m](X), [X])

(19)

and taking into acount that

 Component(`&x`(`#mover(mi("v",mathcolor = "olive"),mo("→"))`, `#mover(mi("B",mathcolor = "olive"),mo("→"))`), k) = `ε`[b, c, k]*v[b]*B[c](X) 

multiply both sides of (19) by `ε`[b, c, k]*v[b], getting

LeviCivita[k, b, c]*v[b]*(B[c](X) = -Physics[LeviCivita][c, m, n]*Physics[d_][n](A[m](X), [X]))

Physics:-LeviCivita[b, c, k]*Physics:-`*`(v[b], B[c](X)) = -Physics:-LeviCivita[b, c, k]*Physics:-LeviCivita[c, m, n]*Physics:-`*`(v[b], Physics:-d_[n](A[m](X), [X]))

(20)

Simplify(Physics[LeviCivita][b, c, k]*Physics[`*`](v[b], B[c](X)) = -Physics[LeviCivita][b, c, k]*Physics[LeviCivita][c, m, n]*Physics[`*`](v[b], Physics[d_][n](A[m](X), [X])))

Physics:-LeviCivita[b, c, k]*Physics:-`*`(v[b], B[c](X)) = Physics:-`*`(v[m], Physics:-d_[k](A[m](X), [X]))-Physics:-`*`(v[n], Physics:-d_[n](A[k](X), [X]))

(21)

Finally, replacing the repeated index m by n 

SubstituteTensorIndices(m = n, Physics[LeviCivita][b, c, k]*Physics[`*`](v[b], B[c](X)) = Physics[`*`](v[m], Physics[d_][k](A[m](X), [X]))-Physics[`*`](v[n], Physics[d_][n](A[k](X), [X])))

Physics:-LeviCivita[b, c, k]*Physics:-`*`(v[b], B[c](X)) = Physics:-`*`(v[n], Physics:-d_[k](A[n](X), [X]))-Physics:-`*`(v[n], Physics:-d_[n](A[k](X), [X]))

(22)

Likewise, for

 Component(`&x`(`#mover(mi("v",mathcolor = "olive"),mo("→"))`, `#mover(mi("B",mathcolor = "olive"),mo("→"))`), k) = `ε`[b, c, k]*B[b]*B[c](X) 

multiplying (19), this time from the right instead of from the left, we get

Simplify(((B[c](X) = -Physics[LeviCivita][c, m, n]*Physics[d_][n](A[m](X), [X]))*LeviCivita[k, b, c])*v[b])

Physics:-LeviCivita[b, c, k]*Physics:-`*`(B[c](X), v[b]) = Physics:-`*`(Physics:-d_[k](A[m](X), [X]), v[m])-Physics:-`*`(Physics:-d_[n](A[k](X), [X]), v[n])

(23)

SubstituteTensorIndices(m = n, Physics[LeviCivita][b, c, k]*Physics[`*`](B[c](X), v[b]) = Physics[`*`](Physics[d_][k](A[m](X), [X]), v[m])-Physics[`*`](Physics[d_][n](A[k](X), [X]), v[n]))

Physics:-LeviCivita[b, c, k]*Physics:-`*`(B[c](X), v[b]) = Physics:-`*`(Physics:-d_[k](A[n](X), [X]), v[n])-Physics:-`*`(Physics:-d_[n](A[k](X), [X]), v[n])

(24)

Simplifying now the expression (18) for the quantized force taking into account (22) and (24) we get

simplify(F[k](X) = (1/2)*q*(-Physics[`*`](Physics[d_][n](A[k](X), [X]), v[n])+Physics[`*`](Physics[d_][k](A[n](X), [X]), v[n])-Physics[`*`](v[n], Physics[d_][n](A[k](X), [X]))+Physics[`*`](v[n], Physics[d_][k](A[n](X), [X]))), {(rhs = lhs)(Physics[LeviCivita][b, c, k]*Physics[`*`](v[b], B[c](X)) = Physics[`*`](v[n], Physics[d_][k](A[n](X), [X]))-Physics[`*`](v[n], Physics[d_][n](A[k](X), [X]))), (rhs = lhs)(Physics[LeviCivita][b, c, k]*Physics[`*`](B[c](X), v[b]) = Physics[`*`](Physics[d_][k](A[n](X), [X]), v[n])-Physics[`*`](Physics[d_][n](A[k](X), [X]), v[n]))})

F[k](X) = (1/2)*q*Physics:-LeviCivita[b, c, k]*(Physics:-`*`(v[b], B[c](X))+Physics:-`*`(B[c](X), v[b]))

(25)

i.e.

`#mover(mi("F",mathcolor = "olive"),mo("→"))` = (1/2)*q*(`&x`(`#mover(mi("v",mathcolor = "olive"),mo("→"))`, `#mover(mi("B",mathcolor = "olive"),mo("→"))`)-`&x`(`#mover(mi("B",mathcolor = "olive"),mo("→"))`, `#mover(mi("v",mathcolor = "olive"),mo("→"))`))

in tensor notation. Finally, we note that this operator is Hermitian as expected

(F[k](X) = (1/2)*q*Physics[LeviCivita][b, c, k]*(Physics[`*`](v[b], B[c](X))+Physics[`*`](B[c](X), v[b])))-Dagger(F[k](X) = (1/2)*q*Physics[LeviCivita][b, c, k]*(Physics[`*`](v[b], B[c](X))+Physics[`*`](B[c](X), v[b])))

F[k](X)-Physics:-Dagger(F[k](X)) = 0

(26)



Download:  Quantization_of_the_Lorentz_force.mw,   Quantization_of_the_Lorentz_force.pdf


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

Dear all

I have a PDE and its analytical solution. I want to find the numerical solution by Finite Difference Method.

I duscratize the PDE and boundary condition and Could not able to solve them togethe.

Here is the file FEM-Nu.mw

of the implicit function sin(x+y)+sin(x) = y at x = Pi , y=0 of order 15? Here is one of the difficulties

restart; eval(implicitdiff(sin(x+y)+sin(x) = y, y, x$15), [x = Pi, y = 0]);
Error, (in expand/bigprod) Maple was unable to allocate enough memory to complete this computation. Please see ?alloc

Hi everybody,

I solve an ODE system numerically with the command

Tend := ….. :
sol := dsolve(MySys, numeric, method=rosenbrock, range=0..Tend):    # or rkf45

One of my colleagues wants the solution in array form for using it in a spreadsheet (namely Excel). 
Here is an example of what I do :
 
data := plottools:-getdata( plots:-odeplot(sol, […..], 0..Tend, refine = Q) )
:  # Q rational
result := data[3]:
ExcelTools:-Export (result, …)


To understand the following, you need to know that
the time step varies by several decades (at least 3 or 4). and that  numfun
is typically in the order of 10^5
 
When I ask Maple to construct  data , Maple seems to sample the solution 
sol
according to the local time step dsolve has selected (and probably some other parameters ?)
Because this time step varies in very large proportions, the result is sometimes a concentration of points in regions where the solution is rapidly changing (which is desirable) … with some lacunarity in slow varying regions.

To obviate this, sometimes  poor appearance, I used to force Maple to compute the solution by regularly sampling the range
]0, Tend[  and combining this array with the original one (result
).
But this not satisfactory for I do not avoid lacunarity region (unless I proceed in some ad hoc way)

Here is my question :
Could you give me some elements about  the way odeplot adapts its sampling strategy according to the local time step, the budget N (the Q value I guess) and maybe numfun
?

Thank you in advance

I have excuted a loop for i from.....by...while.....do l2:=NLPSolve(.......) with variables, t1,th,tl, etc. I need get the numerical result of theses variables and assign them to t1,th, etc. After execute a function with them. I have tried with op, map and assign, but the program don't understand the numerical value of variables. Why?. How can i assign theses numerical vaules?. Thanks! 

hi

please help to me for solve this equation via pdsolve?

thanks

dsove2.mw

restart

f := 1; k := 1; h := 1

PDE := diff((diff(rho*H(rho, z), rho))/rho, rho)+diff(H(rho, z), z, z)+k^2*H(rho, z) = f

-(H(rho, z)+rho*(diff(H(rho, z), rho)))/rho^2+(2*(diff(H(rho, z), rho))+rho*(diff(diff(H(rho, z), rho), rho)))/rho+diff(diff(H(rho, z), z), z)+H(rho, z) = 1

(1)

NULL

NULL

NULL

NULL

sol3 := dsolve([PDE, (D[2](H))(rho, -h) = 0, (D[2](H))(rho, 0) = 0], H(rho, z))

NULL



Download dsove2.mw

 

 

 

hi

in attached file below not answer found for dsolve?

please help me

thanks..

dsove.mw

restart

J := 1:

PDE := diff(T(z, t), z, z)-.2*(diff(T(z, t), t, t)) = int(.7703831837*(diff(T(z, tau), tau, tau))/(t-tau)^.3, tau = 0 .. t):

with(inttrans):

sol := laplace(PDE, t, s):

sol2 := subs([laplace(T(z, t), t, s) = U(z, t), T(z, 0) = sin(J*Pi*z), (D[2](T))(z, 0) = 0], sol)

diff(diff(U(z, t), z), z)-.2000000000*s^2*U(z, t)+.2000000000*s*sin(Pi*z) = -1.000000000*s^.3000000000*sin(Pi*z)+1.000000000*s^1.300000000*U(z, t)

(1)

sol3 := dsolve([sol2, (D[1](U))(0, t) = 0, (D[1](U))(1, t) = 0], U(z, t))

"sol3 := "

(2)

U(z, t) = invlaplace(rhs(sol3), s, t)

Error, invalid input: rhs expects 1 argument, but received 0

 

sol4 := simplify(subs(z = 0, rhs(sol3)))

Error, invalid input: rhs expects 1 argument, but received 0

 

``

``



Download dsove.mw

 

I'm trying to compute the tensor product of two column vectors as

 

with(LinearAlgebra):

A:=Matrix([[1/sqrt(2)],[0],[0],[1/sqrt(2)]]);

KroneckerProduct(A,A);

 

And the output is a column vector with entries: "16 x 1 Matrix", "Data Type: Anything", "Storage: rectangular", "Order: Fortran_order"

 

The Maple documentation indicates that this function should output the result of the kronecker tensor product of the input matrices, and I've followed the same form as the examples in the documentation... Does anyone know why this isn't working as it should?

> restart;
> libname = [shootlib, libname];
> with(shoot);
Error, invalid input: with expects its 1st argument, pname, to be of type {`module`, package}, but received shoot
> with(plots);
Pr := 10; s = -.1; lambda := 0; Gr := 1.0; Gm := 1.0; beta := -1.20;
10
s = -0.1
0
1.0
1.0
-1.20
> M := 0.; z := .1; Xi := .5; Nt := .5; Nb := .2; l := 5; Nr := .5; epsilon1 := .2; epsilon2 := .2;
0.
0.1
0.5
0.5
0.2
5
0.5
0.2
0.2
> Prff := Pr/(1+4.*N*(1/3));
10
-----------------
1 + 1.333333333 N
> FNS := {f(eta), h(eta), r(eta), u(eta), v(eta), theta(eta), `ϕ`(eta)};
{f(eta), h(eta), r(eta), u(eta), v(eta), theta(eta), ϕ(eta)}
> ODE := {diff(h(eta), eta)+.75*l*f(eta)*h(eta)-(1/4)*l*u(eta)*epsilon2-Nt*(.75*f(eta)*r(eta)-(1/4)*u(eta)*epsilon1+Nb*r(eta)*h(eta)+Nt*r(eta)*r(eta))/Nb = 0, .75*f(eta)*r(eta)+diff(r(eta), eta)-(1/4)*u(eta)*epsilon1+Nb*r(eta)*h(eta)+Nt*r(eta)*r(eta) = 0, diff(v(eta), eta)+3*(f(eta)*v(eta)-u(eta)*u(eta))/(4*Pr)-(M+lambda)*u(eta)+theta(eta)-Nr*`ϕ`(eta) = 0, diff(f(eta), eta) = u(eta), diff(u(eta), eta) = v(eta), diff(theta(eta), eta) = r(eta), diff(`ϕ`(eta), eta) = h(eta)};
/ / d \
{ 0.75 f(eta) r(eta) + |----- r(eta)| - 0.05000000000 u(eta)
\ \ deta /

2 / d \ 3
+ 0.2 r(eta) h(eta) + 0.5 r(eta) = 0, |----- v(eta)| + -- f(eta) v(eta)
\ deta / 40

3 2 / d \
- -- u(eta) + theta(eta) - 0.5 ϕ(eta) = 0, |----- h(eta)|
40 \ deta /

+ 3.75 f(eta) h(eta) - 0.1250000000 u(eta) - 1.875000000 f(eta) r(eta)

2
- 0.5000000000 r(eta) h(eta) - 1.250000000 r(eta) = 0,

d d d
----- f(eta) = u(eta), ----- u(eta) = v(eta), ----- theta(eta) = r(eta),
deta deta deta

d \
----- ϕ(eta) = h(eta) }
deta /
> IC := {f(0) = s, h(0) = xi, r(0) = tau, u(0) = 0, v(0) = alpha(0), theta(0) = 1-(1/4)*epsilon1, `ϕ`(0) = (1/4)*epsilon2};
{f(0) = s, h(0) = xi, r(0) = tau, u(0) = 0, v(0) = alpha(0),

theta(0) = 0.9500000000, ϕ(0) = 0.05000000000}
> L := 2;
2
> BC = {u(L) = 0, theta(L) = 0, `ϕ`(L) = 0};
BC = {u(2) = 0, theta(2) = 0, ϕ(2) = 0}
> S := Shoot(ODE, IC, BC, FNS, [alpha = .42453091564332, tau = -.21166705749821127, xi = -.4944583739651814]);
/ / / d \
Shoot|{ 0.75 f(eta) r(eta) + |----- r(eta)| - 0.05000000000 u(eta)
\ \ \ deta /

2 / d \ 3
+ 0.2 r(eta) h(eta) + 0.5 r(eta) = 0, |----- v(eta)| + -- f(eta) v(eta)
\ deta / 40

3 2 / d \
- -- u(eta) + theta(eta) - 0.5 ϕ(eta) = 0, |----- h(eta)|
40 \ deta /

+ 3.75 f(eta) h(eta) - 0.1250000000 u(eta) - 1.875000000 f(eta) r(eta)

2
- 0.5000000000 r(eta) h(eta) - 1.250000000 r(eta) = 0,

d d d
----- f(eta) = u(eta), ----- u(eta) = v(eta), ----- theta(eta) = r(eta),
deta deta deta

d \
----- ϕ(eta) = h(eta) }, {f(0) = s, h(0) = xi, r(0) = tau, u(0) = 0,
deta /

v(0) = alpha(0), theta(0) = 0.9500000000, ϕ(0) = 0.05000000000}, BC,

{f(eta), h(eta), r(eta), u(eta), v(eta), theta(eta), ϕ(eta)}, [

alpha = 0.42453091564332, tau = -0.21166705749821127,

\
xi = -0.4944583739651814]|
/
RungeKutta(ODE, BC, alpha = .42453091564332, tau = -.21166705749821127, xi = -.4944583739651814, output=plot);
/ / / d \
RungeKutta|{ 0.75 f(eta) r(eta) + |----- r(eta)| - 0.05000000000 u(eta)
\ \ \ deta /

2 / d \ 3
+ 0.2 r(eta) h(eta) + 0.5 r(eta) = 0, |----- v(eta)| + -- f(eta) v(eta)
\ deta / 40

3 2 / d \
- -- u(eta) + theta(eta) - 0.5 ϕ(eta) = 0, |----- h(eta)|
40 \ deta /

+ 3.75 f(eta) h(eta) - 0.1250000000 u(eta) - 1.875000000 f(eta) r(eta)

2
- 0.5000000000 r(eta) h(eta) - 1.250000000 r(eta) = 0,

d d d
----- f(eta) = u(eta), ----- u(eta) = v(eta), ----- theta(eta) = r(eta),
deta deta deta

d \
----- ϕ(eta) = h(eta) }, BC, alpha = 0.42453091564332,
deta /

\
tau = -0.21166705749821127, xi = -0.4944583739651814, output = plot|
/
>

 

 

Dear sir 

in the above problem im geiitng the problem with , with(shoot) command and even it is not executing at

S := Shoot(ODE, IC, BC, FNS, [alpha = .42453091564332, tau = -.21166705749821127, xi = -.4944583739651814]) this command, here alpha,tau and zi variable should change.

> restart;
> with(plots);
> Eql := diff(f(eta), eta, eta, eta)+.5*f(eta)*(diff(f(eta), eta, eta)) = 0;
/ d / d / d \\\ / d / d \\
|----- |----- |----- f(eta)||| + 0.5 f(eta) |----- |----- f(eta)|| = 0
\ deta \ deta \ deta /// \ deta \ deta //
> blt := 10;
10
> bcs1 := f(0) = f0, (D(f))(0) = 0, (D(f))(blt) = 1;
f(0) = f0, D(f)(0) = 0, D(f)(10) = 1
> L := [0];
[0]
> for k to 1 do R := dsolve(eval({Eql, bcs1}, f0 = L[k]), f(eta), numeric, output = listprocedure); X1 || k := rhs(R[3]); X2 || k := rhs(R[4]) end do;
[
[eta = proc(eta) ... end;, f(eta) = proc(eta) ... end;,
[

d
----- f(eta) = proc(eta) ... end;,
deta

d / d \ ]
----- |----- f(eta)| = proc(eta) ... end;]
deta \ deta / ]
proc(eta) ... end;
proc(eta) ... end;
> print([X2], [1 .. 1, 0]);

 

dear sir/madam

 

in the above problem i should get the asnser (at print line) but its not getting so please can you tell me why it is not getting.

First 1052 1053 1054 1055 1056 1057 1058 Last Page 1054 of 2224