MaplePrimes Questions


I got problem how to rewrite formula in maple, I have tried so many times but it is not working.

How to rewrite sum of double sum like this formula (4th constraints in the following picture)

H := numelems(N); for k from 2 to H do for i to k-1 do cons[k] := add(x[i, k], i = N)+add(x[k, j], N) = 2 end do end do;
                             H := 5
Error, invalid input: add received {1, 2, 3, 4, 5}, which is not valid for its 2nd argument, i


for example, there is an expression exp1=(a+b)*(a+c),  I want to find all the position in DAG of a specific operand, such as 'a' ; also I want to find the position in the DAG of  sub-expression which type is '+' .
 is there any function in maple which can return the  integers indicating position of an operand or type in an expression? i.e. with this function, assume its name is 'find',then
find(exp1, a) will return  [1,1],[2,1];
find(exp1,'+') will return  [1,0],[2,0];


i got a problem to solve 2 nonlinear  pde equation that are not coupled but there is 8 coupled boundary condition. i can use pdsolve in maple.anyone can help me in numerical solving of these pdes?


How can I set the range (bounds) of all of the function's variables to the same range at once? Here is a simple exaple:



Minimize((x[1]-1)^2+(x[2]-1)^2+(x[3]-1)^2, {8 <= x[1]*(x[2]^2+x[3]^2+1)}, x[1] = 1 .. 2, x[2] = 1 .. 2, x[3] = 1 .. 2);


[0.693290283715211841, [x[1] = 1.53166579937811,  x[2] = 1.45311243719790, x[3] = 1.45311243719790]]

My function have 15 variables x[1] -> x[15]. How can I set their bounds to a global range, say: x[i]=1..2 ?

I'm using Maple 17.3 at work.

Thanks, and sorry for the bad English.


This is from the documentation of ?plot3d,light:


light=[phi, theta, r, g, b]

    This option adds [my emphasis] a directed light source

    from the direction phi, theta in spherical coordinates.


The "adds" in that sentence seems to imply that

multiple light sources are possible, but it does not seem

to work that way.  Each subsequent light option overrides

the previous one as we see in the following illustration

where we render a ball three times by illuminating it

(a) from the north, (b) from the south, and (c) from

both the north and south.  In (c) Maple accounts for only

the south light.


with(plots): with(plottools):

ball := sphere(1, style=surface, color=gold):

    display(ball,light=[0,0,1,1,1])   |
    display(ball,light=[180,0,1,1,1]) |
    display(ball,light=[0,0,1,1,1], light=[180,0,1,1,1])




When I try:


I get:

Error, (in Statistics:-Sample) invalid input: expected distribution or algebraic expression with random variables, but received X

What am I doing wrong?


I am trying to parallelize the output of my Maple18 program, such that it is able to write into multiple smaller output files at the same time, rather than into one unique big file spending much time in this operation...

This is the code:






As you can see from the code, I have tried with different combinations of options. The errors that I get are:


(only one file: "rows-1 < 10000")

Option1A = Error, (in fprintf) string expected for string format

Option1B = Error, (in unspecified) Too many levels of recursion for display

Option2A = OK (but there isn't parallelism here....)

Option2B = OK (but there isn't parallelism here....)


(more than one file: "rows-1 > 10000") 

Option1A = Error, (in fprintf) string expected for string format

Option1B = Error, (in unspecified) Too many levels of recursion for display

Option2A = Error, (in StringTools:-Split) first argument must be a string

Option2B = Error, (in StringTools:-Split) first argument must be a string


Instead, if I simplify the definition of D_vol to one single sum (for exemple 2+2), this is what I get:


(only one file: "rows-1 < 10000")

Option1A = OK (but there isn't parallelism here, and the example is trivial 2+2=4)

Option1B = OK (but there isn't parallelism here, and the example is trivial 2+2=4)

Option2A = OK (but there isn't parallelism here, and the example is trivial 2+2=4)

Option2B = OK (but there isn't parallelism here, and the example is trivial 2+2=4)


(more than one file: "rows-1 > 10000") 

Option1A = OK (but the example is trivial 2+2=4)

Option1B = OK (but the example is trivial 2+2=4)

Option2A = Error, (in StringTools:-Split) first argument must be a string

Option2B = Error, (in StringTools:-Split) first argument must be a string


Can you please help me? Any advice wil be really useful....



in maple, i can't use print? Help me. Please.

I'm trying to make a Least-Squares curve fitting plot.  I need to sequence two rows from a data file I imported (see attached worksheet  More specifically, I need to sequence the data in

X:=Row(T,1) with the data in y:=Row(T,2).  It should look like

([41115.0,6.97],[41257.0,18.9],[41270.0,15.67]...[43495.0,4.06]) when complete.  I tried seq[X_k,Y_k], that didn't work.  Also tried using an index of 1 to 25 (the number of elements in each row), that didn't work.  Any help with this appreciated, thanks in advance!



For educational needs; I try to animated some statistical concepts with simple statistical commands of Maple on 2018. The WorkSheet  in appendix, gives the desired animations, but with rather heavy procedures. Thanks for your help.


Hi !
I made a program that solves a series of system of linear equations of increasing dimension.
Equations with rational numbers. I have a list of equations "liseq1" and a list of variables "lisvar1".
I use the following command :
solve(liseq1,lisvar1) ;
When the equation system reaches dimension 32, Maple gives me the following error message :
"Error, (in LinearAlgebra:-Modular:-IntegerLinearSolve) invalid arguments to iratrecon" .
It is an overdetermined system with 33 equations and 32 unknowns .
The variables are defined with the command:
 x: = array (0..31) ;
I managed to work around the problem by replacing the variables with the following commands :
lissub: = seq (x[i] = x||i, i = 0..31) ;
lisvar2: = subs(lissub, lisvar1) ;
liseq2: = subs(lissub, liseq1) ;
solve (liseq2, lisvar2);
If you run the file I sent, Maple sometimes gives the desired answer but in a random way
because if you run the last 3 lines in a different order you will get the answer or the
error message .
Something remains in memory. Sorry, but it's a bug.
I have Windows 10, 64 bit with Maple 2018.2.
Regards .


I'm a long-time Maple user and have used the CodeGeneration package in the past, but with a recent download of Maple 2018, I'm now getting an error I have never gotten before. Even when I do something simple (see below, for example), I get an error that reads "Error, (in clear) argument `` is incorrect or out of order". And I get this error no matter which language I choose. Any help would be much appreciated.

> with(CodeGeneration)

> R(exp(x))





I do know how to define the finite field F_q=GF(p,k). But know I am looking at the residue class ring R:= \F_q[x]/(f) with f an arbitrary polynomial in F_q[x]  of degree(f)>1. And I need all the calculations over R. My f will be reducible, so R wont be a field. Can anyone help me how I tell Maple to do the arithmetic in R? With the right remainder calculation? And with [f]=[0], so that the sesidue class of f is the same as the residue class of 0?

Thank you very much for any help!!



I would like to evaluate a funktion f in \F_q[x], where \F_q is a finite field with q=p^k. My algorithm is based on the fast multipoint evaluation algo in J. von zur Gathen/ J. Gerhard Modern Computer Algebra Edition 3. My proc FastEval does the right thing, but I dont know how to reach any of the calculatet values. And I will need all of the values for further procs! I tried it with lists, but (because of the recursive call??) I only get 1 value in the list... Does anyone know how to solve my problem? The return call only stops my proc after the first value has been calculated, that is why i used print. 
Please, can anyone help me? 
This is my first question asked in, so please excuse any mistakes.. Also I dont know how to put the maple stuff in here correctly??

I would be really really happy if anyone can help me... 
Kind regards from Germany

\sourceon Maple
istZweierpotenz := proc (n::posint)  #checks if n=2^k for any k in N
local k, nTest; 
k := 0; nTest := 1; 
while nTest <= n do 
    if nTest = n then return true 
else nTest := 2*nTest; k := k+1
 end if 
end do;
 return false 
end proc; 


SubProdTree := proc (n::posint, u::(seq(anything))) 
local k, j, i, M::(polynom(integer, x)), leftList, rightList, kList; 
if istZweierpotenz(n) = true then k := log[2](n); 
if nops([u]) = n then 
for j to nops([u]) do M[0, j-1] := x-u[j] 
end do; 
for kList from 0 to k do leftList[0, kList] := [M[0, 2*kList]]; rightList[0, kList] := [M[0, 2*kList+1]]
 end do;
 for i to k do for j from 0 to 2^(k-i)-1 do M[i, j] := M[i-1, 2*j]*M[i-1, 2*j+1] 
end do;
 for kList from 0 to 2^(k-i-1)-1 do leftList[i, kList]
:= Flatten([[leftList[i-1, 2*kList]], [rightList[i-1, 2*kList]], M[i, 2*kList]]); rightList[i, kList]
:= Flatten([leftList[i-1, 2*kList+1], rightList[i-1, 2*kList+1], M[i, 2*kList+1]]) 
end do; 
if i = k then kList := 0;
leftList[i, kList] := Flatten([[leftList[i-1, 2*kList]], [rightList[i-1, 2*kList]], M[i, 2*kList]]) 
end if 
end do; 
return leftList[k, 0] 
return false 
end if 
else return false 
end if 
end proc;

GoDownTree := proc (f::polynom, n::posint, l::list, p::posint) 
local func, prim, k, r0, r1, newLeftList, newRightList, numberPoint, newList; 
func := f; 
prim := p; 
numberPoint := n; 
k := log[2](numberPoint); 
newList := l; 
newLeftList := newList[1 .. numberPoint-1]; 
newRightList := newList[numberPoint .. 2*numberPoint-2]; 

if not isprime(prim) then return sprintf("%a ist nicht prim", prim) 
end if; 
if numberPoint < degree(func) then return false 
end if;
 if numberPoint = 1 then print(func) 
r0 := evala(`mod`(Rem(func, newLeftList[-1], x), prim)); 
r1 := evala(`mod`(Rem(func, newRightList[-1], x), prim)); 
GoDownTree(r0, (1/2)*numberPoint, newLeftList, prim); 
GoDownTree(r1, (1/2)*numberPoint, newRightList, prim) 
end if 
end proc;

FastEval := proc (f::polynom, n::posint, p::posint, u::(seq(anything))) local l; 
l := SubProdTree(n, u); 
GoDownTree(f, n, l, p) 
end proc;

G := GF(11, 2); 
a := G:-extension; 
aOut := G:-ConvertOut(a); 
alias(alpha = RootOf(aOut)); 
l := SubProdTree(8, 1, 2, 3, 4, 5, 6, 7, 8); 
GoDownTree(x^2+x+1, 8, l, 11);

                           GF(11, 2)
                     / 2          \       
                     \T  + 6 T + 7/ mod 11
                          T  + 6 T + 7
[x - 1, x - 2, (x - 1) (x - 2), x - 3, x - 4, (x - 3) (x - 4), 

  (x - 1) (x - 2) (x - 3) (x - 4), x - 5, x - 6, (x - 5) (x - 6), 

  x - 7, x - 8, (x - 7) (x - 8), (x - 5) (x - 6) (x - 7) (x - 8), 

  (x - 1) (x - 2) (x - 3) (x - 4) (x - 5) (x - 6) (x - 7) (x - 8)

FastEval(x^2+x+1, 8, 11, 1, 2, 3, 4, 5, 6, 7, 8);

Trying to simulate tossing 10 coins. What  am i doing rong? Thanks




a := Vector[row](1 .. 10)

Vector[row](%id = 18446745395177063238)



for k to 10 do r := rand(1 .. 2); if r < .5 then a[k] := "H" else a[k] := "T"; print(a[k]) end if end do

proc () (proc () option builtin = RandNumberInterface; end proc)(6, 2, 1)+1 end proc


Error, cannot determine if this expression is true or false: r < .5



Vector[row](%id = 18446745395177063238)







First 577 578 579 580 581 582 583 Last Page 579 of 2279