Maple 13 Questions and Posts

These are Posts and Questions associated with the product, Maple 13

Dear Maple researchers

 

I have a problem in solving a system of odes that resulted from discretizing, in space variable, method of lines (MOL).

The basic idea of this code is constructed from the following paper:

http://www.sciencedirect.com/science/article/pii/S0096300313008060

If kindly is possible, please tell me whas the solution of this problem.

With kin dregards,

Emran Tohidi.

My codes is here:

> restart;
> with(orthopoly);
print(`output redirected...`); # input placeholder
> N := 4; Digits := 20;
print(`output redirected...`); # input placeholder

> A := -1; B := 1; rho := 3/4;
> g1 := proc (t) options operator, arrow; 1/2+(1/2)*tanh((1/2)*(A-(2*rho-1)*t/sqrt(2))/sqrt(2)) end proc; g2 := proc (t) options operator, arrow; 1/2+(1/2)*tanh((1/2)*(B-(2*rho-1)*t/sqrt(2))/sqrt(2)) end proc;
print(`output redirected...`); # input placeholder
> f := proc (x) options operator, arrow; 1/2+(1/2)*tanh((1/2)*x/sqrt(2)) end proc;
print(`output redirected...`); # input placeholder
> uexact := proc (x, t) options operator, arrow; 1/2+(1/2)*tanh((1/2)*(x-(2*rho-1)*t/sqrt(2))/sqrt(2)) end proc;
print(`output redirected...`); # input placeholder
> basiceq := simplify(diff(uexact(x, t), `$`(t, 1))-(diff(uexact(x, t), `$`(x, 2)))+uexact(x, t)*(1-uexact(x, t))*(rho-uexact(x, t)));
print(`output redirected...`); # input placeholder
                                      0
> alpha := 0; beta := 0; pol := P(N-1, alpha+1, beta+1, x); pol := unapply(pol, x); dpol := simplify(diff(pol(x), x)); dpol := unapply(dpol, x);
print(`output redirected...`); # input placeholder
> nodes := fsolve(P(N-1, alpha+1, beta+1, x));
%;
> xx[0] := -1;
> for i to N-1 do xx[i] := nodes[i] end do;
print(`output redirected...`); # input placeholder
> xx[N] := 1;
> for k from 0 to N do h[k] := 2^(alpha+beta+1)*GAMMA(k+alpha+1)*GAMMA(k+beta+1)/((2*k+alpha+beta+1)*GAMMA(k+1)*GAMMA(k+alpha+beta+1)) end do;
print(`output redirected...`); # input placeholder
> w[0] := 2^(alpha+beta+1)*(beta+1)*GAMMA(beta+1)^2*GAMMA(N)*GAMMA(N+alpha+1)/(GAMMA(N+beta+1)*GAMMA(N+alpha+beta+2));
print(`output redirected...`); # input placeholder
> for jj to N-1 do w[jj] := 2^(alpha+beta+3)*GAMMA(N+alpha+1)*GAMMA(N+beta+1)/((1-xx[jj]^2)^2*dpol(xx[jj])^2*factorial(N-1)*GAMMA(N+alpha+beta+2)) end do;
print(`output redirected...`); # input placeholder
> w[N] := 2^(alpha+beta+1)*(alpha+1)*GAMMA(alpha+1)^2*GAMMA(N)*GAMMA(N+beta+1)/(GAMMA(N+alpha+1)*GAMMA(N+alpha+beta+2));
print(`output redirected...`); # input placeholder
> for j from 0 to N do dpoly1[j] := simplify(diff(P(j, alpha, beta, x), `$`(x, 1))); dpoly1[j] := unapply(dpoly1[j], x); dpoly2[j] := simplify(diff(P(j, alpha, beta, x), `$`(x, 2))); dpoly2[j] := unapply(dpoly2[j], x) end do;
print(`output redirected...`); # input placeholder
print(??); # input placeholder
> for n to N-1 do for i from 0 to N do BB[n, i] := sum(P(jjj, alpha, beta, xx[jjj])*dpoly2[jjj](xx[n])*w[i]/h[jjj], jjj = 0 .. N) end do end do;
> for n to N-1 do d[n] := BB[n, 0]*g1(t)+BB[n, N]*g2(t); d[n] := unapply(d[n], t) end do;
print(`output redirected...`); # input placeholder
> for nn to N-1 do F[nn] := simplify(sum(BB[nn, ii]*u[ii](t), ii = 1 .. N-1)+u[nn](t)*(1-u[nn](t))*(rho-u[nn](t))+d[nn](t)); F[nn] := unapply(F[nn], t) end do;
print(`output redirected...`); # input placeholder
> sys1 := [seq(d*u[q](t)/dt = F[q](t), q = 1 .. N-1)];
print(`output redirected...`); # input placeholder
[d u[1](t)                                                                
[--------- = 40.708333333333333334 u[1](t) + 52.190476190476190476 u[2](t)
[   dt                                                                    

                                                                  2          3
   + 39.958333333333333334 u[3](t) - 1.7500000000000000000 u[1](t)  + u[1](t)

   + 7.3392857142857142858

   - 3.6696428571428571429 tanh(0.35355339059327376220

   + 0.12500000000000000000 t) - 3.6696428571428571429 tanh(
                                                     d u[2](t)   
-0.35355339059327376220 + 0.12500000000000000000 t), --------- =
                                                        dt       
-20.416666666666666667 u[1](t) - 25.916666666666666667 u[2](t)

                                                                  2          3
   - 20.416666666666666667 u[3](t) - 1.7500000000000000000 u[2](t)  + u[2](t)

   - 3.7500000000000000000

   + 1.8750000000000000000 tanh(0.35355339059327376220

   + 0.12500000000000000000 t) + 1.8750000000000000000 tanh(
                                                     d u[3](t)                
-0.35355339059327376220 + 0.12500000000000000000 t), --------- = 29.458333333\
                                                        dt                    

  333333333 u[1](t) + 38.476190476190476190 u[2](t)

                                                                  2          3
   + 30.208333333333333333 u[3](t) - 1.7500000000000000000 u[3](t)  + u[3](t)

   + 5.4107142857142857144

   - 2.7053571428571428572 tanh(0.35355339059327376220

   + 0.12500000000000000000 t) - 2.7053571428571428572 tanh(
                                                   ]
-0.35355339059327376220 + 0.12500000000000000000 t)]
                                                   ]
> ics := seq(u[qq](0) = evalf(f(xx[qq])), qq = 1 .. N-1);
print(`output redirected...`); # input placeholder
    u[1](0) = 0.38629570659055483825, u[2](0) = 0.50000000000000000000,

      u[3](0) = 0.61370429340944516175
> dsolve([sys1, ics], numeic);
%;
Error, (in dsolve) invalid input: `PDEtools/sdsolve` expects its 1st argument, SYS, to be of type {set({`<>`, `=`, algebraic}), list({`<>`, `=`, algebraic})}, but received [[d*u[1](t)/dt = (20354166666666666667/500000000000000000)*u[1](t)+(13047619047619047619/250000000000000000)*u[2](t)+(19979166666666666667/500000000000000000)*u[3](t)-(7/4)*u[1](t)^2+u[1](t)^3+36696428571428571429/5000000000000000000-(36696428571428571429/10000000000000000000)*tanh(1767766952966368811/5000000000000000000+(1/8)*t)-(36696428571428571429/10000000000000000000)*tanh(-1767766952966368811/5000000000000000000+(1/8)*t), d*u[2](t)/dt = -(20416666666666666667/1000000...

How difficult is it to simulate gravitational influences and perturbing effects on celestial orbits with Maple? Could this syntax http://www.maplesoft.com/applications/view.aspx?SID=4484&view=html be altered without excessive changes to consider these aspects?

Are there somewhere worksheets to take a look at as an introduction and to see how such goals would be approached and implemented?

Some time ago, I have used the Virtual 3D Solar System code to plot a few interesting figures with asteroids. It can be found here: http://www.maplesoft.com/applications/view.aspx?SID=4484&view=html . I plotted the asteroid belt as a closed, warped surface according to how the asteroids are inclined, with the arguments of perihelion and longitude of ascending node where they cross the equatorial plane to the other celestial hemisphere. The plot was only done with axes in units of distances, for convenience's sake in astronomical units of 1 AU = 150 million km.

But I am strongly wondering if it were somehow possible to alter or adjust the code such that there is a zylinder placed around such plot where one can see celestial coordinates (Rectascension, Declination) on the inside, so that if one wants to know what coordinates an orbit of a specific asteroid has that one can look in the chart and go out on the balcony and set the telescope to these coordinates. Of course the asteroid most likely is not there on his entire orbital path, but you have at least the location where the asteroid CAN be. Would this be possible to plot?

This probably doesn't work if a closed cylinder is placed around the Virtual Solar System. But how about scrolling the cylinder and the orbits flat on a 2D plot?

I need to calculate Weyl scalar for a metric using null tetrad using debever package in maple 13. However, I am stuck at the defination of h (representing the covariant complex null tetrad). Is it the product of covariant null tetrad? I have worked it out by using covariant, contravariant and both covariant and contravariant null tetrad (like l_a*l_a, l^a*l^a, l_a*l^a), however, i am not getting the right result not even for the example given in the maple help for plane wave. please help me out that how should i define this h.

thanks,
suresh

Hi Maple People,

My question is, "How can I combine the two plots shown in the attachment into one plot?".



Download plot_real_example_5_Exact_Curve_Fit_questiion_for_MaplePrimes.mw

Regards

Matt

 

 

 

Hello

I am new to Maple. I am solving the differential equation with the given initial condition. I am getting some error. Can anyone help me please.

 

Thanks

maple_help.mw

Hi Maple People

 

# Some Maple code
restart
x:= Vector(10):
y:= Vector(10):

for z from -5 to 4 do
   x[z+6]:=z^2 + 40:
   y[z+6]:=z^2 + z + 41:
end do:

plot(x,y,style=point,symbol=asterisk)

 

Regards

Matt

This procedure calculate the equations of motions for Euclidean space and Minkowski space  with help of the Jacobian matrix.

Procedures
Calculation the equation of motions for Euclidean space and Minkowski space

"EQM := proc(eq, g,xup,xa,xu , eta ,var)"

Calling Sequence

 

EQM(eq, g, xup, xa, xu, eta, var)

Parameters

 

parameterSequence

-

eq, g, xup, xa, xu, eta, var

eq

out

equation of motion

g

out

metric

xup

out

velocitiy vector

xa

in

position vector

xu

in

vector of the independet coortinates

eta

in

signature matrix for Minkowski space

var

in

independet variable

 

``

 Procedur Code

 

restart; with(linalg); EQM := proc (eq, g, xup, xa, xu, eta, var) local J, Jp, xdd, l, xupp, ndim; ndim := vectdim(xu); xup := vector(ndim); xupp := vector(ndim); for l to ndim do xup[l] := diff(xu[l](var), var); xupp[l] := diff(diff(xu[l](var), var), var) end do; J := jacobian(xa, xu); g := multiply(transpose(J), eta, J); g := map(simplify, g); Jp := jacobian(multiply(J, xup), xu); Jp := map(simplify, Jp); xdd := multiply(inverse(g), transpose(J), eta, Jp, xup); xdd := map(simplify, xdd); xdd := map(convert, xdd, diff); eq := vector(vectdim(xupp)); for l to ndim do eq[l] := xupp[l]+xdd[l] = 0 end do end proc

``

Input

 

xa := Vector(3, {(1) = R*sin(`&varphi;`)*cos(`&vartheta;`), (2) = R*sin(`&varphi;`)*sin(`&vartheta;`), (3) = R*cos(`&varphi;`)}); xu := Vector(2, {(1) = `&varphi;`, (2) = `&vartheta;`}); eta := Matrix(3, 3, {(1, 1) = 1, (1, 2) = 0, (1, 3) = 0, (2, 1) = 0, (2, 2) = 1, (2, 3) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 1})

 

EQM(eq, g, xup, xa, xu, eta, t):

Output EOM

 

for i to vectdim(xu) do eq[i] end do;

diff(diff(`&varphi;`(t), t), t)-cos(`&varphi;`)*sin(`&varphi;`)*(diff(`&vartheta;`(t), t))^2 = 0

 

diff(diff(`&vartheta;`(t), t), t)+2*cos(`&varphi;`)*(diff(`&vartheta;`(t), t))*(diff(`&varphi;`(t), t))/sin(`&varphi;`) = 0

(5.1)

Output Line-Element

 

ds2 := expand(multiply(transpose(xup), g, xup));

(diff(`&varphi;`(t), t))^2*R^2+(diff(`&vartheta;`(t), t))^2*R^2-(diff(`&vartheta;`(t), t))^2*R^2*cos(`&varphi;`)^2

(6.1)

Output Metric

 

assume(cos(`&varphi;`)^2 = 1-sin(`&varphi;`)^2); g := map(simplify, g)

array( 1 .. 2, 1 .. 2, [( 2, 2 ) = (R^2*sin(`&varphi;`)^2), ( 1, 2 ) = (0), ( 2, 1 ) = (0), ( 1, 1 ) = (R^2)  ] )

(7.1)

``

``

 

Download bsp_jacobi.mw

Procedures
Calculation the equation of motions for Euclidean space and Minkowski space

"EQM := proc(eq, g,xup,xa,xu , eta ,var)"

Calling Sequence

 

EQM(eq, g, xup, xa, xu, eta, var)

Parameters

 

parameterSequence

-

eq, g, xup, xa, xu, eta, var

eq

out

equation of motion

g

out

metric

xup

out

velocitiy vector

xa

in

position vector

xu

in

vector of the independet coortinates

eta

in

signature matrix for Minkowski space

var

in

independet variable

 

``

 Procedur Code

 

restart; with(linalg); EQM := proc (eq, g, xup, xa, xu, eta, var) local J, Jp, xdd, l, xupp, ndim; ndim := vectdim(xu); xup := vector(ndim); xupp := vector(ndim); for l to ndim do xup[l] := diff(xu[l](var), var); xupp[l] := diff(diff(xu[l](var), var), var) end do; J := jacobian(xa, xu); g := multiply(transpose(J), eta, J); g := map(simplify, g); Jp := jacobian(multiply(J, xup), xu); Jp := map(simplify, Jp); xdd := multiply(inverse(g), transpose(J), eta, Jp, xup); xdd := map(simplify, xdd); xdd := map(convert, xdd, diff); eq := vector(vectdim(xupp)); for l to ndim do eq[l] := xupp[l]+xdd[l] = 0 end do end proc

``

Input

 

t := x[0]/c; xa := Vector(4, {(1) = t, (2) = r*cos(`&varphi;`), (3) = r*sin(`&varphi;`), (4) = x[3]}); xu := Vector(4, {(1) = x[0], (2) = r, (3) = `&varphi;`, (4) = x[3]}); eta := Matrix(4, 4, {(1, 1) = -1, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (2, 1) = 0, (2, 2) = 1, (2, 3) = 0, (2, 4) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 1, (3, 4) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 1})

 

EQM(eq, g, xup, xa, xu, eta, tau):

Output EOM

 

for i to vectdim(xu) do eq[i] end do;

diff(diff(x[0](tau), tau), tau) = 0

 

diff(diff(r(tau), tau), tau)-(diff(`&varphi;`(tau), tau))^2*r = 0

 

diff(diff(`&varphi;`(tau), tau), tau)+2*(diff(`&varphi;`(tau), tau))*(diff(r(tau), tau))/r = 0

 

diff(diff(x[3](tau), tau), tau) = 0

(5.1)

Output Line-Element

 

ds2 := expand(multiply(transpose(xup), g, xup));

-(diff(x[0](tau), tau))^2/c^2+(diff(r(tau), tau))^2+(diff(`&varphi;`(tau), tau))^2*r^2+(diff(x[3](tau), tau))^2

(6.1)

Output Metric

 

assume(cos(`&varphi;`)^2 = 1-sin(`&varphi;`)^2); g := map(simplify, g)

array( 1 .. 4, 1 .. 4, [( 3, 3 ) = (r^2), ( 3, 4 ) = (0), ( 4, 1 ) = (0), ( 1, 1 ) = (-1/c^2), ( 4, 3 ) = (0), ( 4, 2 ) = (0), ( 2, 2 ) = (1), ( 3, 2 ) = (0), ( 3, 1 ) = (0), ( 2, 4 ) = (0), ( 1, 4 ) = (0), ( 1, 2 ) = (0), ( 2, 3 ) = (0), ( 4, 4 ) = (1), ( 2, 1 ) = (0), ( 1, 3 ) = (0)  ] )

(7.1)

``

``

 

Download bsp_jacobi_minkowski.mw

I am using maple 13 to get the result of the einstein field equations,

 

with(tensor)

...

Estn := Einstein(metric, RICCI, RS);

displayGR(Einstein, Estn);

 

How can I put the result on an array element, so I can use it later on?

 

 

I wrote the following procedure that evaluates i-th B-spline basis function of degree n over the knot vector T:

N := proc(i, n, t, T)

if (n = 0) then
    if ((t >= T[i]) and (t < T[i+1])) then
        return 1.0:
    else
        return 0.0:
    fi:
fi:

return (evalf((t-T[i])/(T[i+n]-T[i]))*N(i, n-1, t, T) + evalf((T[i+n+1]-t)/(T[i+n+1]-T[i+1]))*N(i+1, n-1, t, T)):

end proc:

 

Now, I want to compute

int(N(i, n, t, T)*N(j, n, t, T), t=0..1, numeric),

where i, n and T are given. However, Maple evaluates N and, since t is unknown, I get the following error:

"Error, (in N) cannot determine if this expression is true or false: .1 <= t and t < .25"

In http://www.maplesoft.com/support/help/Maple/view.aspx?path=evalf/Int  I read that in order to integrate a procedure, one should write (see the example given there)

evalf(Int(N*N, 0..1));

however, in my case, It will not work because I must pass the known parameters i, n and T. Is there a way to solve my problem?

 

 

 

 

I get the maple result as a product and sum off terms

 

x= (a+b*c)/d

i want to convert it to

x= a/d+b*c/d

i try to use convert(x,?)  

 

Hi everyone

When I solve these nonlinear ODEs, there is this problem i.e. Highlighted in yellow, in my solution. How can I solve it?

 

thanks a million!

 


 

nonlinear_ODE.mw

Hi, I have 2 Questions about programming in maple. I will be thankful if you help me as soon as possible.

First; How can I display a n*n HilbertMatrix?

Second: I wanna make a 2*2 matrix which its transpose is egual to its inverse, How can I do that by helping reflectionmatrix?

(I'm an amateur programmer, I use maple 13 on my pc)

a1:= f(x) :
> T1 :=simplify((taylor(a1,x=alpha,N+3))):
> E1:=subs([seq(((D@@i)(f))(alpha) = 0,i=1..m-1),f(alpha)=0,x=e[n]+alpha],T1):
> g1 :=(convert(simplify(series((E1,e[n]=0,N))),polynom));

 

Hi everyone...!

Can somebody tell me how to express this equation in Maple? 

xij <= zkl ; ∀ i ∈ I: S(i)=k, ∀ j ∈ B: R(j)=l; 

Currently I'm dealing with containerization problem and have 4 indexes in the constraints (namely: i for item, j for container, k for shipment, l for route, S for Set of Shipment, and R for Set of Route) while x and z are binary variables. What I want to express is: (for example), item 1,2,3 are in shipment 1, item 4,5 are in shipment 2, etc etc. SO, if i = 1,2,3 then the value of k will be 1. If i = 4,5 then the value of k will be 2, etc. Same thing goes to j and l, (for example) if j = 1,2 then the value of l will be 1, etc etc. Further depcition is more or less like this:

S(i) = k

S(1) = 1

S(2) = 1

S(3) = 1

S(4) = 2

S(5) = 2

 

Thank you very much for the help.

First 14 15 16 17 18 19 20 Last Page 16 of 55