Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

Dear guides

I have an equation: "eq := Pi-arcsin(sqrt(2E)/sqrt(1+E))-arcsin(sqrt(2E)/sqrt(2+E))-2*sqrt(2E)=0;

when I use "solve" maple say: "Warning, solutions may have been lost" and get a bad result. How can I ontain a better answer?

thanks.

The goal of computing only a select number of eigenvectors of a real symmetric floating-point Matrix comes up now and then. For very large Matrices the memory requirements can be more restrictive than the timing.

The attached worksheet and code computes this, more quickly and with significantly less memory allocation than does the usual task of computing all eigenvectors. By using the supplied Matrix itself as a partial "workspace" the amount of additional workspace and memory allocation for the task is negligible.

For example, having created the very large Matrix in the first place,  essentially no significant further memory allocation is required to compute the largest eigenvalue and its associated eigenvector.

A little about this routine `SelectedEigenvectors` follows.

It only works in hardware double precision. It expects a float[8] datatype Matrix (because you are serious about using minimal memory!). It uses the CLAPACK function dsyevx, using the "wrapperless" version of Maple's external-calling mechanism. It seems to work fine in the systems I've tried so far: Maple 13 and 14 on both 32bit and 64bit Linux and Windows.

Whether it computes and returns the selected eigenvectors (alongside the selected eigenvalues, which are always returned) is controlled by the 'vectors=truefalse' optional argument. By default it uses the Matrix argument as partial workspace and so destroys the original data; but this can be overridden with the 'preserve=true' optional argument. The requested accuracy can be relaxed with the 'epsilon=float' optional argument, which might sometimes speed it up.

The input Matrix is presumed to be symmetric. By default it uses the data in the lower triangle, but this can be changed to be the upper triangle with the 'uplo' optional argument.

The choice of eigenvalues is controlled by the two integer arguments `il` and `iu`. If il=iu=n then only the nth largest eigenvalue is computed. If il=1 and iu=4 then the four smallest eigenvalues are computed.

It returns three things: a Vector of dimension n whose first m entries are the selected eigenvalues, a nxm Matrix whose columns are the m associated eigenvectors, and a Vector of dimension n whose entries indicate whether corresponding eigenvectors failed to converge.

I didn't enable float arguments such as `vl` and `vu` which in principle could allow one to supply a floating-point range in which to find eigenvalues.

I didn't make an optimization of having it do an initial "dummy" external call in which no calculation would be done, but which would instead query for and subsequently utilize the optimal-performance additonal float workspace size.

For reasons mysterious to me, on Windows the 64bit version runs almost exactly half as fast as the 32bit version.

Usually, the workspace for eigen-solving is implemented to be at least O(n^2) for an nxn Matrix. But this routine does only O(m+n) extra workspace allocation to compute the m eigenvectors. And that is linear. Which is the Big Deal.

A 5000x5000 datatype=float[8] (ie. hardware double precision) Matrix takes 200MB of memory. With the preserve=true option, this routine can compute just the largest eigenvector with only about 200MB of additional allocation. And if the original Matrix is no longer required then with the preserve=false option this routine can do that task with less than 1MB further allocation. In comparison, the regular LinearAlgebra:-Eigenvectors command would require about 600MB of additional memory allocation while computing all eigenvectors.

At size 5000x5000 this routine is only about four times faster than LinearAlgebra:-Eigenvectors. I suspect that is because it still has to compute in full the reduction to tridiagonal form.

Download dsyevx.mw

How could I have information of serial of a hard disk in Maple? Thank you very much!

Hey Guys, 

 

I have plotted the following graph, its the position of an elementary volume before a supernovae takes place.

 

x0=r0sinθ0cosΦ0

y0=r0sinθ0sinΦ0

z0=r0cosθ0

 

Created a mesh of 10 mesh points, divided the ranges  

0<r<1

0<θ<∏

Hey,

suppose I have got two quadratics varying with variable Q1 and two quadratics varying with Q2,

eg. P1=a+b*Q1^2 and P11=c+d*Q1^2

     P2=e+f*Q2^2 and P22=g-h*Q2^2

where a,b,c,d,e,f,g and h are finite constants such that curves P1 and P11 intersect at two values of Q1, one being negative and the other positive. The same is true for curves P2 and P22. Now, I can plot curves P1 and P2 on a 3D plot (x-axis = Q1 and y-axis=Q2 and z-axis=P1=P2...

I hope that someone will prove useful. Especially - for beginners

ani.zip

I am to solve this differential equation (nonlinear):

 

C'(t) = G[0]+0.1*sqrt(C(t))-C(t)*n+C[ude]*n

G[0] = 1.7*1.2*83

n = 6

C[ude] = 417

 

i need to use programming since the DE is nonlinear.

 

Does anybody have the solution to that?

Thanks in advance.

Best regards,

Marie

f:=x->x^3:
y[1]:=0.5:
y[3]:=subs(x=y[1],f(x)):
i := 2:
y[i] := y[i-1]-(y[1]-y[2+1])*(1/2):
i:=1:
g[i] := (y[i+1]-y[i+2])*x/(y[i]-y[i+1])+(y[i+2]*y[i]-y[i+1]*y[i+1])/(y[i]-y[i+1]):
g[i] := unapply(g[i], x):
h[i] := unapply(solve(y = g[i](x), x), y):
for i from 2 by 1 to 7 do
g[i]:=(f@h[i-1])(x);
g[i]:=unapply(g[i],x);
y[i+2]:=subs(x=y[i+1],g[i](x));
s:=solve(z=g[i](x),x);
h[i]:=unapply(s[1],z);
end do:

for i from -1 by -1 to -8 do

Is it possible to write a Maple program which prints itself and only itself?

Hey guys I'd be grateful if you can help me plot the following graph. It's the position of an elementary volume before a supernova takes place.

 

x0=r0sinθ0cosΦ0

y0=r0sinθ0sinΦ0

z0=r0cosθ0

 

create a mesh of 10 mesh points, divide the ranges

0<r<any positive value

Usually Maple gives solutions in terms of radicals only up to degree=4
(for example using RootOf + allvalues).

Using 'irreduc' (to test first) and 'galois' (to check for the Galois
group, if degree <= 9) I have cases, where the result implies, that by
theory the roots can be given through radicals:

Though the results are difficult to read in my case they are 'C(6)' or
'C(8)', the cyclic groups of that order - thus abelian and IIRC those
groups are solvable.

Hi all,

I have maple 13 and have been trying to set up some plot of a single point on a plane, to teach plotting in two dimensional plane.The figure at the following page may help you to get an insight of what I am trying to do in maple:

http://en.wikipedia.org/wiki/Cartesian_coordinate_system

 

Any advice?

 

Regards!

Sohail

Hi,

Basically I have two curves, P1 and P2, which are dependent on Q1 and Q2 in a square manner. For example, P1:=1+Q1^2 and P2:=5-Q2^2. I now want to plot P1 and P2 on the same graph with the values of P1 and P2 on the same z-axis and Q1 and Q2 along the x- and y-axes. Consequently I would get two orthogonal parabolic curves. plot3d([P1,P2],Q1=-1..1,Q2=-1..1) doesn't work because it obviously draws two surfaces rather than two curves for P1 with Q2 always equal to...

Maple-version (86 mws with links): course_zno.zip  Html-interactive version: tar.zip

Training course

Maple in Ukraine
TRAINING COURSE
for the entrance examination in mathematics
External independent evaluation

Could somebody help me I am having trouble with an if statement.

I have defined three functions a.b and c in terms of one variable j.

I have correctly defined g_{k,j} as well as other functions and now I have run into trouble with my if statement.

p:=(k,j)->if k=0 then max(K-j*S,0) else g_{k,j} end if

I think its clear what i am trying to achieve in the if statement as I want to be able to enter p(1,4), p(4,3) etc. . .  after the if statement...

First 1723 1724 1725 1726 1727 1728 1729 Last Page 1725 of 2224