MaplePrimes Questions

Search Questions:

Latest Questions Latest Questions Feed

I want to apologize if this being neither necessarily a minimal working example for one question nor just one question is uncomfortable. The "MWE" was created on and is designed for Linux machines including ImageMagick. The problem itself should be obvious to all users though, as the subfolder and creation of the gif are just conveniences. I have three sections concerning the different problems occuring in my attempts.

(which I was told is not doable in maple ... hence the gif)

link

The goal was to create an animation that zooms in on a function. As maple just wouldn't allow scaling of axis in animations I decided to export single frames and then convert those with ImageMagick. Maple offers ssystem(„...“) which allows for command line usage.

The problem (may as well be a bug) occurs when I try to export images in a for loop with exportplot(...). If the path as well as previously exported images exist, it won't output an error but still not export the desired images. Exporting frames separately works just fine, as well as doing the very same operation in a separate for loop.

(see the first red comment and export section)

After using the workaround in a second for loop. I couldn't figure out how to import the images and then create an animation from them. The main obstacle is the fact that the imported pictures are put into plot-functions.

(see the second red comment)

 

restart;

with(plottools):

f1 := s -> sin(2*s):

max_frame := 10: # = number of steps

for k from 0 to max_frame do
    pic[k] := plot(f1(x), x=-Pi*(1-k/max_frame)..Pi*(1-k/max_frame),
                    filled=true, #color = ["Orange"],
                    color = ColorTools:-Color([0,
                                              floor(128*k/max_frame),
                                              floor(255*k/max_frame)
                                              ]),
                    view=[-Pi*(1-k/max_frame)..Pi*(1-k/max_frame), -1..1]
                    ):
end do:

path := FileTools:-TemporaryDirectory();
path_list := ssystem("pwd");
path := path_list[2];
ssystem("mkdir ./pics"); # creates a subfolder
path := FileTools:-JoinPath([path, "pics"]); # need to change path to subfolder

plotsetup(window, plotoptions="width=480, height=600");
for k from 0 to max_frame do
    file[k] := FileTools:-JoinPath([path,
                                     MapleTA:-Builtin:-strcat("frame_",
                                                              convert(k, string),
                                                              ".jpg")
                                    ]);
    # exportplot(file[k], pic[k]); # does not work
end do:

exportplot(file[0], pic[0]); # works

# =====================================================================================
# export
# =====================================================================================
for k from 0 to max_frame do
  exportplot(file[k], pic[k]);
od; # also works

# =====================================================================================
# import
# =====================================================================================
for k from 0 to max_frame do
    reimported_pic[k] := importplot(file[k]); # this might take a while (depending on the amount of frames)
end do: # import works but [Length of output exceeds limit of 1000000]

whattype(reimported_pic[0]); #seems to create a plot function
show := convert(reimported_pic,list):
#Error, while processing result #There is no help page available for this error

show[1]; # works

# =====================================================================================
# create an animated gif at least
# =====================================================================================
delay_time := ceil(evalf(100/max_frame));
command_for_gif := MapleTA:-Builtin:-strcat("convert -delay ",
                                            convert(delay_time, string),
                                            " -loop 0 ", # -reverse ",
                                            FileTools:-JoinPath([path, "frame_*.jpg "]),
                                            FileTools:-JoinPath([path, "animation.gif"])
                                            );
ssystem(command_for_gif);

 

 

Download bug_report_maybe.mw

 

I would be grateful for any suggestions. Moreover I have run accross

?DocumentTools:-Components:-VideoPlayer

which I could not figure out how to use by the help pages (I tried to create an avi and import that). If someone has informations on that, please share!

Hello people in mapleprimes,

 

I wonder if there is not any way to control the timing of substitution.

For  example,

x:=(t^(1-s)+s^(1-2*s))^a;mu:=c^(a-b)/'x';

brings mu := c^(a-b)/x. Please note that I made x unevaluated with '' around x, so that,

into the output of mu, the definition of x of (t^(1-s)+s^(1-2*s))^a does not appear.

But, in this case, when I typed the expression of

1+mu

and clicked return, the definition of x is inserted into the result of 1+m, though

I want x to remain x yet.

Surely, if I wrote ''x'' in stead of 'x', 1+mu does not contain the definition of x.

But, in that case as well, when I have other following calculations, in those the definition 

of x should apear, which I don't like.

 

On the other hand, when I write as

x:=(t^(1-s)+s^(1-2*s))^a; x:='x';
mu:=c^(a-b)/x; 1+m;

surely as x is initialized once, the result of mu and 1+mu does not cotain the definition of x.

But, in this case, I have to write x:=(t^(1-s)+s^(1-2*s))^a; when I want the definition of x

to be inserted. Though in this case the definition of x is short, original relations I have and

haven't writen above is a little more complicated, so that to insert is not desiable.

 

Aren't there any good way to evaluate the value of particular variables and to leave them

unevaluated at each time I want to choose each one?

 

I hope I could have written my question as easly understood.

And, thanks in advance.

 

taro

 


                           

 

m that i guess is genus,

but if i do not know genus number, how can i calculate with genus function

genus(y^m-(x...., x, y);

when i change m only the genus number is also changing

is my function wrong?

can i use this as a verification?

if m i set is 3 and then genus(...) result is 3

if result is equal to input 3, then it is correct function?

is hilbert series only for genus 0 only?

i got error

Error, (in Groebner:-Basis) the generators are not polynomials with respect to, {a, b, c, d}

>
>
> w0 := 2*pi*sqrt(5)*10^9;
>
> mu0 := 4*pi*10^(-7); pi := 3.14; wepnorm := 4*pi*sqrt(3)*10^9; wmpnorm := 2*pi*sqrt(6)*10^9; wmpz := 4*pi*10^9; w := 10;
> k0 := w0/c; d := 10^(-9);
> enorm := e0*(1-wepnorm^2/w^2); munorm := mu0*(1-wmpnorm^2/w^2); mz := mu0*(1-wmpz^2/w^2); c := 3*10^8; e0 := 8.85*10^(-12);
> t1 := enorm*mz/(e0*mu0)-1; t2 := mz/munorm;
> eq1 := alpha0^2+t2*k1z^2-t1*k0^2;
>
>
>
>
>
>
>
t:=0:
for alpha0 from 0 to 25 by 5 do
t:=t+1:
>
k1z[t]:=fsolve(eq1,k1z,complex):

od:
Eff:=[seq([k1z[i],alpha0[i]],i=1..t)]:

with(plots):
display(plot(Eff,color=red));

Error, (in plot) found points with fewer or more than 2 components

 

I'm sorry for asking too many similar technical questions, but I just can't help this.

I'm solving a system of differential equations with dsolve and getting this type of error:

Error, (in f) unable to store 'HFloat(0.10664489706950975)+HFloat(1.1891638418458722e-5)*sin^2-HFloat(1.6095871822513048e-6)*sin' when datatype=float[8]

I checked the dsolve syntax, checked that all the constants are defined, checked that the number of equations matches the number of unknown functions (and there is no misprints of them in the code). In brief, I checked all the stuff that I usually have mistakes in, and yet the error stands. 

Here's the file: 1.mw

Hi,
I am solving large systems of linear equations (mod 2) which are of this form ,
systems:= {0 = f[[1, 4]]-f[[1, 3]], 0 = f[[1, 5]]-f[[1, 3]], 0 = f[[1, 5]]-f[[1, 4]], 0 = f[[1, 6]]-f[[1, 3]], 0 = f[[1, 6]]-f[[1, 4]], 0 = f[[1, 6]]-f[[1, 5]], 0 = f[[1, 7]]-f[[1, 3]], 0 = f[[1, 7]]-f[[1, 4]], 0 = f[[1, 7]]-f[[1, 5]], 0 = f[[1, 7]]-f[[1, 6]], 0 = f[[2, 4]]-f[[1, 3]], 0 = f[[2, 5]]-f[[1, 3]], 0 = f[[2, 5]]-f[[1, 4]], 0 = f[[2, 6]]-f[[1, 3]], 0 = f[[2, 6]]-f[[1, 4]], 0 = f[[2, 6]]-f[[1, 5]], 0 = f[[2, 6]]-f[[2, 4]], 0 = f[[2, 6]]-f[[2, 5]], 0 = f[[2, 7]]-f[[1, 3]], 0 = f[[2, 7]]-f[[1, 4]], 0 = f[[2, 7]]-f[[1, 5]], 0 = f[[2, 7]]-f[[1, 6]], 0 = f[[2, 7]]-f[[2, 4]], 0 = f[[2, 7]]-f[[2, 5]], 0 = f[[3, 1]]-f[[1, 4]], 0 = f[[3, 1]]-f[[1, 5]], 0 = f[[3, 1]]-f[[1, 6]], 0 = f[[3, 1]]-f[[2, 7]], 0 = f[[3, 5]]-f[[1, 4]], 0 = f[[3, 5]]-f[[1, 5]], 0 = f[[3, 5]]-f[[2, 4]], 0 = f[[3, 5]]-f[[2, 5]], 0 = f[[3, 6]]-f[[1, 3]], 0 = f[[3, 6]]-f[[1, 4]], 0 = f[[3, 6]]-f[[1, 5]], 0 = f[[3, 6]]-f[[1, 6]], 0 = f[[3, 6]]-f[[2, 4]], 0 = f[[3, 6]]-f[[2, 5]], 0 = f[[3, 6]]-f[[2, 6]], 0 = f[[3, 7]]-f[[1, 4]], 0 = f[[3, 7]]-f[[1, 5]], 0 = f[[3, 7]]-f[[1, 6]], 0 = f[[3, 7]]-f[[1, 7]], 0 = f[[3, 7]]-f[[2, 4]], 0 = f[[3, 7]]-f[[2, 5]], 0 = f[[3, 7]]-f[[2, 6]], 0 = f[[3, 7]]-f[[2, 7]], 0 = f[[3, 7]]-f[[3, 6]], 0 = f[[4, 1]]-f[[1, 5]], 0 = f[[4, 1]]-f[[1, 7]], 0 = f[[4, 1]]-f[[2, 7]], 0 = f[[4, 1]]-f[[3, 5]], 0 = f[[4, 1]]-f[[3, 7]], 0 = f[[4, 2]]-f[[2, 6]], 0 = f[[4, 2]]-f[[2, 7]], 0 = f[[4, 6]]-f[[1, 5]], 0 = f[[4, 6]]-f[[1, 6]], 0 = f[[4, 6]]-f[[2, 5]], 0 = f[[4, 6]]-f[[2, 6]], 0 = f[[4, 6]]-f[[3, 5]], 0 = f[[4, 6]]-f[[3, 6]], 0 = f[[4, 7]]-f[[1, 5]], 0 = f[[4, 7]]-f[[1, 6]], 0 = f[[4, 7]]-f[[1, 7]], 0 = f[[4, 7]]-f[[2, 5]], 0 = f[[4, 7]]-f[[2, 6]], 0 = f[[4, 7]]-f[[2, 7]], 0 = f[[4, 7]]-f[[3, 5]], 0 = f[[4, 7]]-f[[3, 6]], 0 = f[[4, 7]]-f[[4, 6]], 0 = f[[5, 1]]-f[[2, 6]], 0 = f[[5, 1]]-f[[2, 7]], 0 = f[[5, 1]]-f[[3, 6]], 0 = f[[5, 1]]-f[[4, 6]], 0 = f[[5, 2]]-f[[2, 7]], 0 = f[[5, 2]]-f[[3, 5]], 0 = f[[5, 2]]-f[[3, 6]], 0 = f[[5, 2]]-f[[3, 7]], 0 = f[[5, 2]]-f[[4, 6]], 0 = f[[5, 2]]-f[[4, 7]], 0 = f[[5, 3]]-f[[4, 7]], 0 = f[[5, 7]]-f[[1, 6]], 0 = f[[5, 7]]-f[[1, 7]], 0 = f[[5, 7]]-f[[2, 6]], 0 = f[[5, 7]]-f[[2, 7]], 0 = f[[5, 7]]-f[[3, 6]], 0 = f[[5, 7]]-f[[3, 7]], 0 = f[[5, 7]]-f[[4, 6]], 0 = f[[5, 7]]-f[[4, 7]], 0 = f[[6, 1]]-f[[1, 7]], 0 = f[[6, 1]]-f[[3, 6]], 0 = f[[6, 1]]-f[[4, 7]], 0 = f[[6, 1]]-f[[5, 7]], 0 = f[[6, 2]]-f[[3, 7]], 0 = f[[6, 2]]-f[[4, 7]], 0 = f[[6, 3]]-f[[4, 6]], 0 = f[[6, 3]]-f[[5, 7]], 0 = f[[6, 4]]-f[[5, 7]], 0 = f[[7, 2]]-f[[3, 7]], 0 = f[[7, 2]]-f[[5, 7]], 1 = f[[3, 1]]-f[[1, 7]], 1 = f[[3, 1]]-f[[2, 4]], 1 = f[[3, 1]]-f[[2, 5]], 1 = f[[3, 1]]-f[[2, 6]], 1 = f[[3, 1]]-f[[3, 6]], 1 = f[[4, 1]]-f[[1, 6]], 1 = f[[4, 1]]-f[[2, 5]], 1 = f[[4, 1]]-f[[2, 6]], 1 = f[[4, 1]]-f[[3, 6]], 1 = f[[4, 2]]-f[[3, 5]], 1 = f[[4, 2]]-f[[3, 6]], 1 = f[[4, 2]]-f[[3, 7]], 1 = f[[5, 1]]-f[[1, 6]], 1 = f[[5, 1]]-f[[1, 7]], 1 = f[[5, 1]]-f[[3, 5]], 1 = f[[5, 1]]-f[[3, 7]], 1 = f[[5, 1]]-f[[4, 7]], 1 = f[[5, 2]]-f[[2, 6]], 1 = f[[5, 3]]-f[[4, 6]], 1 = f[[6, 1]]-f[[2, 7]], 1 = f[[6, 1]]-f[[3, 7]], 1 = f[[6, 1]]-f[[4, 6]], 1 = f[[6, 2]]-f[[3, 6]], 1 = f[[6, 2]]-f[[4, 6]], 1 = f[[6, 2]]-f[[5, 7]], 1 = f[[6, 3]]-f[[3, 7]], 1 = f[[6, 3]]-f[[4, 7]], 1 = f[[6, 4]]-f[[4, 7]], 1 = f[[7, 1]]-f[[3, 7]], 1 = f[[7, 1]]-f[[4, 7]], 1 = f[[7, 1]]-f[[5, 7]], 1 = f[[7, 2]]-f[[4, 7]], 1 = f[[7, 3]]-f[[5, 7]], 1 = f[[7, 4]]-f[[5, 7]]};


I have been using msolve as follows; msolve(systems,2);  which returns NULL if there is no solution. This however takes a lot of my computer memory and also take a lot of time since the equations are very many.  I decided to try LinearSolve, but it doesn't give me any solutions even for the ones that I know that the solutions exist. My code was writen as follows:

systems:=as above..

vars := [f[[1, 3]], f[[1, 4]], f[[1, 5]], f[[1, 6]], f[[1, 7]], f[[2, 4]], f[[2, 5]], f[[2, 6]], f[[2, 7]], f[[3, 1]], f[[3, 5]], f[[3, 6]], f[[3, 7]], f[[4, 1]], f[[4, 2]], f[[4, 6]], f[[4, 7]], f[[5, 1]], f[[5, 2]], f[[5, 3]], f[[5, 7]], f[[6, 1]], f[[6, 2]], f[[6, 3]], f[[6, 4]], f[[7, 1]], f[[7, 2]], f[[7, 3]], f[[7, 4]]];

A,b:=GenerateMatrix(systems,var):
LinearSolve(A,b) mod 2;
what I'm I doing wrong? How can I make this fast and in such a way that the solution is computed without taking too much memory?

I also understand that LinearSolve returns the following when there is no solution, "Error, (in LinearAlgebra:-LinearSolve) inconsistent system
", in my case, if there is no solution, I don't want that error to be printed, but I want some variable (call it x) to be printed if a solution is found.

Any help is appreciated.

Vic.

how can i do this GIFs with maple ?

I am trying to solve an equation using surd and I get a strange result.

solve(surd(x^4,8)=-2)
    4, -4, 4 I, -4 I

These solutions are clearly wrong.

The equation (x^4)^(1/8) = -2 has no solution.

This problem is equivalent to asking the computer to solve sqrt(x) = -2

which has no solution in R or C.

 

However if I type

solve((x^4)^(1/8) = -2) , then I get no answer, which is what I expected.

Why does surd behave in this unexpected way.

 

Also another thing I am wondering, why doesn't Maple simplify (x^4)^(1/8) to x^(1/2).

I tried the simplify command it didn't work.

 

I have a number of dots that lie on the sphere. I want to draw a handsome sphere with three axes, put dots on the sphere and connect them. The problem is that some dots are pretty far from the other and so the line connecting them goes under the surface of the sphere and so is not seen. Therefore the question, how the dots can be connected so the line would be seen (or the line would lie on the surface of the sphere)?

Here's the file:ClassicalTrajectoriesAr-CO2.mw

restart;
Digits := 5;
with(ODETools);
with(student);
with(plots);
inf := 5;
with(LinearAlgebra);
equ1 := (1+2*n)*f(eta)*(diff(theta(eta), eta))/(1+3*n)-(diff(theta(eta), `$`(eta, 2))) = 0;
equ2 := ((1+n)*(diff(f(eta), eta))^2/(1+3*n)-(1+2*n)*f(eta)*(diff(f(eta), eta, eta))/(1+3*n))/Bo+(diff(f(eta), `$`(eta, 3)))^n-theta(eta) = 0;
Bcs := f(0) = 0, (D(f))(0) = 0, (D(f))(inf) = 0, theta(0) = 1, theta(inf) = 0;
Bo := 1; n := 2;
SolP1 := dsolve({Bcs, equ1, equ2}, numeric);
Error, (in dsolve/numeric/bvp/convertsys) unable to convert to an explicit first-order system
SolP1(0);
SolP1(0)

i want to solve a system , A.b+B.X=0 , which A is 5*5 known matrix, B is 5*2 known matrix , and b is 5*1 and X is 2*1 unknown arbitary matrices ! i want to have solution for b and X . whatever they can be ! just equation to be solved !

restart:

A:=Matrix(5,[[-0.9800,0,0,-0.0160,0],[1.0000,0,0,0,0],[-2.1900,-9.7800,-0.0280,0.0740,0],[77.3600,-0.7700,-0.2200,-0.6700,0],[0,-79.9700,-0.0300,0.9900,0]]);

A := Matrix(5, 5, {(1, 1) = -.9800, (1, 2) = 0, (1, 3) = 0, (1, 4) = -0.160e-1, (1, 5) = 0, (2, 1) = 1.0000, (2, 2) = 0, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (3, 1) = -2.1900, (3, 2) = -9.7800, (3, 3) = -0.280e-1, (3, 4) = 0.740e-1, (3, 5) = 0, (4, 1) = 77.3600, (4, 2) = -.7700, (4, 3) = -.2200, (4, 4) = -.6700, (4, 5) = 0, (5, 1) = 0, (5, 2) = -79.9700, (5, 3) = -0.300e-1, (5, 4) = .9900, (5, 5) = 0})

(1)

B:=Matrix((5,2),[[-2.44,0.58],[0,0],[0.18,19.62],[-6.48,0],[0,0]]);

B := Matrix(5, 2, {(1, 1) = -2.44, (1, 2) = .58, (2, 1) = 0, (2, 2) = 0, (3, 1) = .18, (3, 2) = 19.62, (4, 1) = -6.48, (4, 2) = 0, (5, 1) = 0, (5, 2) = 0})

(2)

b:=Matrix((5,1),[y[1],y[2],y[3],y[4],y[5]]);

b := Matrix(5, 1, {(1, 1) = y[1], (2, 1) = y[2], (3, 1) = y[3], (4, 1) = y[4], (5, 1) = y[5]})

(3)

X:=Matrix((2,1),[[x[1]],[x[2]]])

X := Matrix(2, 1, {(1, 1) = x[1], (2, 1) = x[2]})

(4)

M:=A.b+B.X

M := Matrix(5, 1, {(1, 1) = -.9800*y[1]-0.160e-1*y[4]-2.44*x[1]+.58*x[2], (2, 1) = 1.0000*y[1], (3, 1) = -2.1900*y[1]-9.7800*y[2]-0.280e-1*y[3]+0.740e-1*y[4]+.18*x[1]+19.62*x[2], (4, 1) = 77.3600*y[1]-.7700*y[2]-.2200*y[3]-.6700*y[4]-6.48*x[1], (5, 1) = -79.9700*y[2]-0.300e-1*y[3]+.9900*y[4]})

(5)

eval(M,y[1]=0)

Matrix([[-0.160e-1*y[4]-2.44*x[1]+.58*x[2]], [0.], [-9.7800*y[2]-0.280e-1*y[3]+0.740e-1*y[4]+.18*x[1]+19.62*x[2]], [-.7700*y[2]-.2200*y[3]-.6700*y[4]-6.48*x[1]], [-79.9700*y[2]-0.300e-1*y[3]+.9900*y[4]]])

(6)

 

 

 

Download solve.mw


actually the problem to be solved is M=0 ! which directly goes to y[1]=0;
after that , how can i find other unknowns so that M=0 is ok. tnx

I have a worksheet (.mw) file that I want to export using a statement to avoid tedious GUI clicking.

How to export a worksheet (.mw) to Maple Input (.mpl) using a statement in the worksheet, so I can just execute the worksheet, and then the Maple Input (.mpl) file is generated?

 

How to get directory name of current worksheet file ?

 

So for example if my current worksheet .mw file is saved at "c:\temp\temp\work.mw" I can get the directory part as "c:\temp\temp\".

 

I am getting the error that maple was unable to allocate enough memmory for the computation. I have seen that some of the values could have been stored in a remember table so that they are accessed whenever needed. I am however using arrays and maple cannot tell when the entries in an array change, how about option cache? can that be useful? if not, how can I optimize my storage space?

1 2 3 4 5 6 7 Last Page 2 of 1348