# Items tagged with seqseq Tagged Items Feed

### seq(i, i=5.-1.2) Unusual output!...

December 11 2014
0 2

seq(i,i=1..5);  gives output 1,2,3,4,5

seq(i,i=5..1);  seems to get ignored in Maple 7.  It does not return an error message.

I was hoping to step back from a large number to a smaller one in stepsof minus one.  The for loop structure allows negative "increments" - so I experimented by putting the decrement value of -1 between the two dots.  I was expecting it to givean error message, so was surprisd when it gavesome output!

eg  seq(i, i=5.-1.2);  gives output of 38, -1

I'm curious as to what is happening here?  Also, has the seq command been upgraded in later versions of Maple?  eg is it possible to do negative decrements?

### seq output - unexpected output for ii:=3...

November 28 2014
1 0

Description of program: To try to find 'similar shaped' words.  eg the word 'qwirky' is similar to 'ywivhg' because q, y and g have downstrokes and h, k have an 'upstroke'.  ..at present the 'words' are not words in the dictionary sense.

I have posed several questions throughout the program, but will focus on the most puzzling which is in the last section of the program, reproduced below.  The variable ii is set at 1 - relating to the first letter, q, of the 'word' qwirky. It correctly outputs the list, listy[4], which contains the letter q.  Similarly if ii is set to 2 it ouputs listy[8] - w.  However when ii is set to 3, it ouputs the number 7, when listy[7] (=[i]) was expected.  Values of ii from 4 to 6 (thelength of 'qwirky') work as expected.  Ideally I would like to dispense with  the ii:=1 statement, and uncomment the for .. do loop:

> for ii from 1 to nops(letters) do
> seq(listy[listsuffix[  Ord(letters[ii] )-96] ][kk], kk=1..nops(listy[listsuffix[Ord(letters[ii] )-96] ]) );
> end do:

Another question was how to incorporate the sequence, seq() statement in a printf statement - but that's enough for now!!:-)

After reading thris through and seeing theTags, I see I have used a variable 'letters' in my program - perhaps this is causing problems?  I initially thought Maple had a bug in it - but probably a common thought by students!:-)

##End part of program

> ii:=1:   #####Try putting equal to 2, 3, 4, 5, 6
> #ii:=2 returns w - which is correct, but ii:=3 returns 7 when i is expected. Values 4 to 6 work OK
> printf("List of the listy which contains the particular letter, %d  of 'qwirky'  ie the letter %s",ii, letters[ii]);
> printlevel:=5:
> printf("Nops(word)=%d  nops(letters)=%d\n",nops(word),nops(letters));
> #for ii from 1 to nops(letters) do
> seq(listy[listsuffix[  Ord(letters[ii] )-96] ][kk], kk=1..nops(listy[listsuffix[Ord(letters[ii] )-96] ]) );
> #end do:

Thanks, David S

START of MAPLE PROGRAM here

# Similar Words - idea is to create words which look similar in shape to other words
> restart:
> with(StringTools):
> #abcdefghijklmnopqrstuvwxyz
> #a  c, e, o, s, u, x, z
> #b  d, h, k,
> #f  l, t
> #g  j, p, q, y
> #i
> #m  n
> #r  v
> #w
>
> #  Take a word eg 'qwirky' & make words which appear similar -
>
> word:="qwirky":
> numLetters:=length(word):
> printf("Length of word is %d",length(word));
> printf("Why is the length of x+2*y equal to %d - as opposed to just 5?",length(x+2*y));
> printf("Is it because x and y each take up 3 'storage locations' - and one each for +2* ?");
>
> # Help says:For other objects, the length of each operand of expr is computed recursively and added to the number of words used to represent expr. In this way, the measure of the size of expr is returned.
> #...but I'm not much wiser!:-(
> #I ended up using 'nops' instead, but not sure which is better.
> listy[1]:=[a,c,e,o,s,u,x,z]:
> #printf("Number of letters in listy[1] seq(%s, kk=1..nops(listy[1]))   is %d\n",seq(listy[1][kk], kk=1..nops(listy[1])));
> printf("The previous printf statement - commented out - does not work.  The one below does\n - but that's because I've put in eight 'per cents'\n - I'd like the program to work this out.\n");
>
> printf("Number of letters in listy[1] %s,%s,%s,%s,%s,%s,%s,%s is %d\n",seq(listy[1][kk], kk=1..nops(listy[1])  ),nops(listy[1]) );
> listy[2]:=[b, d, h, k]:
> listy[3]:=[f, l, t]:
> listy[4]:=[g, j, p, q, y]:
> listy[5]:=[m, n]:
> listy[6]:=[r, v]:
> listy[7]:=[i]:
> listy[8]:=[w]:
> #Which list number, for each letter of the 26 letters?
> #Nos below correspond to a, b,c... ..z
> listsuffix:=[1,2,1,2,1,3,4,2,7,4,2,3,5,5,1,4,4,6,1,3,1,6,8,1,4,1]:
> #printf("listsuffix[12]=%d",listsuffix[12]);
> #printf("listy[4][2]=%s",listy[4][2]);
> printf("Ascii number of Second letter in list 4 is %d",Ord(listy[4][2]));
> printf("Second letter in list 4 is %s",Char(Ord(listy[4][2])));
> #printf("listsuffix[listy[4][2]]=%d",listsuffix[listy[4][2]]);
> #Split into a list of letters
> letters:=convert(word, list):
> #Consider the letters close to the letters - go through all combinations and check to see if any match words in the dictionary.
> #printf("1");
> #printf("%d",Ord(letters[2]));
> #printf("2");
> #printf("Suffix number is %d",listsuffix[Ord(letters[2])-71]);
> #printf("3");
> for i from 1 to length(word) do
> #See which list letter belongs to
> #printf("Letter number %d, %A belongs to list %d\n",i,letters[i],listsuffix[Ord(letters[i])-96]);
> printf("Ascii number of letter number %d, %s in list %d is %d\n",i,letters[i],listsuffix[Ord(letters[i])-96],Ord(letters[i]));
>
> #printf("Ascii number of letter number %d, %s is %d in list %d which is \n",i,letters[i],Ord(letters[i]),listsuffix[Ord(letters[i])-96]);
> #printf("Below may not work");
> #printf("Ascii number of letter number %d, %s is %d in list %d which is seq(%s, kk=1..nops(listy[listsuffix[Ord(letters[ii] )-96] ]) ))\n",i,letters[i],Ord(letters[i]),listsuffix[Ord(letters[i])-96],seq(listy[listsuffix[  Ord(letters[ii] )-96] ][kk], kk=1..nops(listy[listsuffix[Ord(letters[ii] )-96] ]) ) );
>
> #Check out all letters in list, listy[listsuffix[Ord(letters[i])-96]
>
> #seq(  listy[  listsuffix[  Ord(letters[i] )-96]  ], 1..length(listy[                listsuffix[  Ord(letters[i] )-96]);
> #seq(listy[listsuffix[  Ord(letters[ii] )-96] ][kk], kk=1..nops(listy[listsuffix[Ord(letters[ii] )-96] ]) )
> end do:
> #seq(listy[2][kk], kk=1..4);
> #List of listy[2]
> printf("List of listy[2] below:");
> seq(listy[2][kk], kk=1..nops(listy[2]));
> #List of the listy which contains the particular letter of 'qwirky'
> ii:=1:   #####Try putting equal to 2, 3, 4, 5, 6
> #ii:=2 returns w - which is correct, but ii:=3 returns 7 when i is expected. Values 4 to 6 work OK
> printf("List of the listy which contains the particular letter, %d  of 'qwirky'  ie the letter %s",ii, letters[ii]);
> printlevel:=5:
> printf("Nops(word)=%d  nops(letters)=%d\n",nops(word),nops(letters));
> #for ii from 1 to nops(letters) do
> seq(listy[listsuffix[  Ord(letters[ii] )-96] ][kk], kk=1..nops(listy[listsuffix[Ord(letters[ii] )-96] ]) );
> #end do:

#####  END of program.   Below is output for Maple 7   ##########

Warning, the assigned name Group now has a global binding

Length of word is 6
Why is the length of x+2*y equal to 9 - as opposed to just 5?
Is it because x and y each take up 3 'storage locations' - and one each for +2* ?
The previous printf statement - commented out - does not work.  The one below does
- but that's because I've put in eight 'per cents'
- I'd like the program to work this out.
Number of letters in listy[1] a,c,e,o,s,u,x,z is 8
Ascii number of Second letter in list 4 is 106
Second letter in list 4 is j
Ascii number of letter number 1, q in list 4 is 113
Ascii number of letter number 2, w in list 8 is 119
Ascii number of letter number 3, i in list 7 is 105
Ascii number of letter number 4, r in list 6 is 114
Ascii number of letter number 5, k in list 2 is 107
Ascii number of letter number 6, y in list 4 is 121
List of listy[2] below:
b, d, h, k
List of the listy which contains the particular letter, 1  of 'qwirky'  ie the letter q
{--> enter printf, args = "Nops(word)=%d  nops(letters)=%d\n", 1, 6
Nops(word)=1  nops(letters)=6
30
<-- exit printf (now at top level) = }
{--> enter StringTools:-Ord, args = "q"
113
<-- exit StringTools:-Ord (now at top level) = 113}
{--> enter StringTools:-Ord, args = "q"
113
<-- exit StringTools:-Ord (now at top level) = 113}
{--> enter StringTools:-Ord, args = "q"
113
<-- exit StringTools:-Ord (now at top level) = 113}
{--> enter StringTools:-Ord, args = "q"
113
<-- exit StringTools:-Ord (now at top level) = 113}
{--> enter StringTools:-Ord, args = "q"
113
<-- exit StringTools:-Ord (now at top level) = 113}
{--> enter StringTools:-Ord, args = "q"
113
<-- exit StringTools:-Ord (now at top level) = 113}
g, j, p, q, y

### What's wrong with Maple 18.02?...

November 14 2014
1 4

Hi everyone.

I always used simple command to plot graphs with parametric function:

> plot([seq([i, t, t=0..11-i], i=1..10)], thickness=3, color=blue);

And I always obtained this:

But yesterday I installed second update for Maple 18, and now I get only error:

"Error, (in plot) invalid input: ToInert expects 1 or 2 arguments, but received 0"

What command I should use now?

### Integration of a Vector...

September 13 2014
1 6

Hi all

Assume that we have following vectors:

> V1 := [1/9, -5/9, 7/9, 1/9, -5/9, 7/9, 1/9, -5/9, 7/9];

>  V2:=t*V1;

and we want to compute the integral of V2, namely:

>  Int(seq(V2[i],i=1..9),t=0..1);
>

[       5 t  7 t         5 t  7 t         5 t  7 t]
V2 := [t/9, - ---, ---, t/9, - ---, ---, t/9, - ---, ---]
[        9    9           9    9           9    9 ]

Error, (in print/Int) invalid input: IntegrationTools:-GetOptions expects its 1st argument, v, to be of type Integral, but received Int(1/9*t,-5/9*t,7/9*t,1/9*t,-5/9*t,7/9*t,1/9*t,-5/9*t,7/9*t,t = 0 .. 1)

how we integrate from V2? why answer is wrong in my code?

thanks a lot

Ph.D Candidate

Applied Mathematics Department

### execution time difference between seq and \$ syntax...

August 22 2014
1 0

When the loop variable can be written as a unit step sequence, I never really distinguish between using

seq( f(i), i=m..n ), and

f(i) \$ i=m..n

However I recent came across a case where the 'seq' construct ran about 2.5x faster. Is using 'seq' always faster? Does it depend on the function being evaluated? Why is there such a large difference in execution time

The original example which exhibited the problem is shown below, although after some experimentation, I have found other cases where 'seq' is faster (and plenty where it doesn't seem to make any difference!)

Example code for implementation using '\$' is

restart:
ulim:=1000000:
t1:=time():
ans:= max
( { iquo(3*d, 7)/d \$ d = 1..ulim }
minus
{3/7}
):
t2:= time()-t1;

Example code for for implementation using 'seq' is

restart:
ulim:=1000000:
t1:= time():
ans:= max
( { seq
( iquo(3*d, 7)/d, d=1..ulim )
}
minus
{3/7}
):
t2:= time()-t1;

On my machine, the version using the 'seq' construct runs 2.5x faster

### the use of seq() vs. map, general guidelines when ...

August 22 2014
1 7

I am learning a bit of Maple. I noticed I can use map and seq to obtain the same result I want. So I was wondering when to use each, or if it just a style issue or if there is more to it.

I am sure there are cases when map can only be used, and cases when seq() only can be used. But are there general rules of thumb to look for when deciding which to use? Here is an example of what I mean

restart;
plot( map(i->i*sin(t),[seq(i,i=.1..1,.2)]),t=-2*Pi..2*Pi);   #1
plot( [seq(i*sin(t),i=.1..1,.2)],t=-2*Pi..2*Pi);  #2

Both give the same result

I kind'a like map more myself, but seq is a little shorter in this case. Just looking for thoughts and hints from the experts.

### How to count the same random sequence as one...

August 21 2014
0 6

RandomCompositions:= proc(n::posint, k::posint)
local
C,
Compositions:= [seq(C-~1, C= combinat:-composition(n+k, k))],
Rand:= rand(1..nops(Compositions))
;
()-> Compositions[Rand()]
end proc:

R:= RandomCompositions(9,6):
n:= 10:
S:= 'R()' \$ n;

S := [4, 1, 1, 1, 2, 0], [3, 2, 1, 1, 0, 2], [0, 1, 1, 0, 0, 7], [0, 1, 1, 5, 0, 2], [1, 0, 3, 1, 3, 1],

[1, 3, 1, 1, 0, 3], [1, 4, 2, 0, 2, 0], [5, 0, 0, 3, 1, 0], [1, 1, 1, 4, 0, 2], [0, 1, 2, 1, 0, 5]

[4, 1, 1, 1, 2, 0] , [1, 1, 1, 4, 0, 2]  and [0, 1, 1, 5, 0, 2] , [0, 1, 2, 1, 0, 5]  are same number

but different order.

There are two same sequence. I want to  count  as one, and compile statistics the summation, and

divide by 8.

the result

0=14/8

1=17/8

2=6/8

...

4=2/8

5=2/8

...

### how to count the number summation ...

August 15 2014
1 10

RandomCompositions:= module()
local
Compositions, Rand,

RandomCompositions:= module()
local
Compositions, Rand,
ModuleApply:= proc(n::posint, k::posint)
local C;
Compositions:= [seq(C-~1, C= combinat:-composition(n+k, k))];
Rand:= rand(1..nops(Compositions));
()-> Compositions[Rand()]
end proc;

end module:
R:= RandomCompositions(8,6):
seq(R(),i=1..10);

[0, 0, 2, 6, 0, 0], [1, 0, 0, 3, 4, 0], [0, 3, 3, 2, 0, 0],[1, 2, 4, 0, 1, 0], [0, 4, 0, 1, 3, 0],

[2, 0, 1, 4, 1, 0],[2, 0, 1, 1, 3, 1], [1, 0, 4, 2, 1, 0], [1, 3, 0, 2, 0, 2],[2, 0, 3, 2, 1, 0]

with(Statistics):
Tally(R());
[0 = 1, 1 = 4, 4 = 1]

I want to count the 0 to 8 respectively summation,and divide by i.

But the  seq command  R() isn't conform  with Tally command R() .

Thanks.

### Bug with evaluation of arguments in `if`...

July 20 2014
2 6

Suppose i am trying to do a sequential if command as follows:

seq(`if`(a[i] < b[i], c[i], d[i]), i = 1 .. 10);

now this doesnot evaluate the i's in c[i] and d[i].

### Changing a Global Parameter for each evaluation in...

July 06 2014
1 3

I have a rank 1 array M of 1000 values.

I want to apply a function f on each value of M and its location giving,

[f(1,M[1]), f(2,M[2]), ... , f(1000,M[1000])]

is it possible to get this using map or map2 or map[n] or maptype (without using seq since its slowing down computation).

inotherwords can i access the member location inside a map evaluation?

### Error, (in f) unable to store .......................

May 27 2014
0 2

Hello Hello everybody
I have to solve the following differential equation numerically

 > restart:with(plots):
 > mb:=765 : mp:=587 : Ib:=76.3*10^3 : Ip:=7.3*10^3 : l:=0.92 : d:=10: F:=490: omega:=0.43 :
 > eq1:=(mp+mb)*diff(x(t),t\$2)+mp*(d*cos(theta(t))+l*cos(alpha(t)+theta(t)))*diff(theta(t),t\$2)+mp*l*cos(alpha(t)+theta(t))*diff(alpha(t),t\$2)+mp*(d*diff(theta(t),t)^2*sin(theta(t))+l*(diff(theta(t),t)+diff(alpha(t),t))^2*sin(alpha(t)+theta(t)))-F*sin(omega*t)=0;
 (1)
 > eq2:=(mp+mb)*diff(z(t),t\$2)-mp*d*(sin(theta(t)+alpha(t))+sin(theta(t)))*diff(theta(t),t\$2)-mp*l*sin(alpha(t)+theta(t))*diff(alpha(t),t\$2)+mp*(d*diff(theta(t),t)^2*cos(theta(t))+l*(diff(theta(t),t)+diff(alpha(t),t))^2*cos(alpha(t)+theta(t)))+9.81*(mp+mb)-F*sin(omega*t)=0;
 (2)
 > eq3:=mp*(d*cos(theta(t))+l*cos(alpha(t)+theta(t)))*diff(x(t),t\$2)-mp*(l*sin(theta(t)+alpha(t))+d*sin(theta(t)))*diff(z(t),t\$2)+(Ip+Ib+mp*(d^2+l^2)+2*mp*d*l*cos(alpha(t)))*diff(theta(t),t\$2)+[Ip+mp*l^2+mp*d*l*cos(alpha(t))]*diff(alpha(t),t\$2)-mp*sin(alpha(t))*(l*d*diff(alpha(t),t)^2-l*d*(diff(alpha(t),t)+diff(theta(t),t))^2)+mp*9.81*l*sin(alpha(t)+theta(t))+mp*9.81*d*sin(theta(t))=0;
 (3)
 > eq4:=mp*l*cos(alpha(t)+theta(t))*diff(x(t),t\$2)-mp*l*sin(alpha(t)+theta(t))*diff(z(t),t\$2)+(Ip+mp*l^2+mp*d*l*cos(alpha(t)))*diff(theta(t),t\$2)+(Ip+mp*l^2)*diff(alpha(t),t\$2)-mp*9.81*l*sin(alpha(t)+theta(t))+l*d*mp*diff(theta(t),t\$1)^2*sin(alpha(t))=0;
 (4)
 > CI:= x(0)=0,z(0)=0,theta(0)=0,alpha(0)=0,D(x)(0)=0,D(alpha)(0)=0,D(z)(0)=0,D(theta)(0)=0;
 (5)
 > solution:=dsolve([eq1,eq2,eq3,eq4, CI],numeric);
 Error, (in f) unable to store '[0.]/(0.17571268341557e16+[-0.25659510610770e15])' when datatype=float[8]

I don't know why it says : Error, (in f) unable to store '[0.]/(0.17571268341557e16+[-0.25659510610770e15])' when datatype=float[8]

Help pleaase!

thank you !!!

### How do I plot this orthogonal trajectories equatio...

March 12 2014
2 6

I'm taking calculus and my professor introduced us to maple software. The professor asked us to plot the families of curves for this orthogonal equation:

dy/dx = (x^2) - (2y^2) - C = 0

This is what I had so far:

restart;

with(DEtools):

with(plots):

Function:=unapply(simplify(x^2-2y^2-C),(x,y)):

'Function'(x,y) = Function(x,y);

plotFunction:=C->implicitplot(eval(F(x,y),a=C),x=-5..5,y=5..5,scaling=constrained):

plot1:=display(seq(plotFunction(a),a=-5..5)):

display(plot1);

This is only display one family. How do I code for it plot the other families?

(The graph should look like curves converging from left, top and right sides toward to the origin of the axes)

### How do I generate a 4-D array using a function for...

March 07 2014
1 1

Hi,

I have a 4-D function that I have found an analytic expression for in Maple, but I want to generate a numerical 4-D array, which I can export for use in Matlab. However, I don't think I'm using a very good solution, because it is extremely slow (several minutes for even 10x10x10x10 elements). My code is

NumRange:=10:
NumElements:=10:
dx:=2*NumRange/(NumElements-1):
A:=Array(1..NumElements,1..NumElements,1..NumElements,1..NumElements,[seq([seq([seq([seq(evalf(rho(ws1,ws2,ws1p,ws2p)),ws2p=-NumRange..NumRange,dx)],ws1p=-NumRange..NumRange,dx)],ws2=-NumRange..NumRange,dx)] , ws1=-NumRange..NumRange,dx)],datatype=float);

Rho is an exponential with 10 terms in the exponents.

I also tried using four for-loops but that was even slower!

Thanks for any input

### create a table/matrix/array ...

November 17 2013
1 5

I was trying to create a array or table with the following columns

3. sinus (x)

4. cosinus (x)

5. tangent(x)

for x= 0, pi/12, 2pi/12.. 2pi.

I was trying to use seq()

seq([(1*Pi/12*j),sin(1*Pi/12*j)], j=0..24);

but I cannot get something nicely "arranged" (like in a table or matrix) to export to latex.

could somebody give me a help..please?

Jean

### Is this a Rounding bug in maple?...

November 15 2013
0 6

x11 := Vector([0.208408965651696e-3, -0.157194487523421e-2, -0.294739401402979e-2, 0.788206708183853e-2, 0.499394753201753e-2, 0.191468321959759e-3, 0.504980449104750e-2, 0.222150494088535e-2, 0.132091821964287e-2, 0.161118434883258e-2, -0.281236534046873e-2, -0.398055875132037e-2, -0.111753680372819e-1, 0.588868146012489e-2, -0.354191562612469e-2, 0.984082837373291e-3, -0.116041186868374e-1, 0.603027845850267e-3, -0.448778128168742e-2, -0.127561485214862e-1, -0.412027655195339e-2, 0.379387381798949e-2, -0.602550446997765e-2, -0.605986284736216e-2, -0.751396992404410e-2, 0.633613424008655e-2, -0.677581832613623e-2]):
y11 := Vector([ -21321.9719565717, 231.709204951251, 1527.92905167191, -32.8508507060675, 54.9408176234139, -99.4222178124229, -675.771433486265, 42.0838668074923, -12559.3183308951, 5.21412214166344*10^5, 1110.50031772203, 3.67149699000155, -108.543878970269, -8.48861069398811, -521.810552387313, 26.4792411876883, -8.32240296737599, -1085.40982521906, -44.1390030597906, -203.891397612798, -56.3746416571417, -218.205643256096, -178.991498697065, -42.2468018350386, .328546922634921, -1883.18308996621, 111.747881085748]):
z11 := Vector([ 1549.88755331800, -329.861725802688, 8.54200301129155, -283.381775745327, -54.5469129127573, 1875.94875597129, -16.2230517860850, 6084.82381954832, 1146.15489803104, -456.460512914647, 104.533252701641, 16.3998365630734, 11.5710907832054, -175.370276462696, 33.8045539958636, 2029.50029336951, 1387.92643570857, 9.54717543291120, -1999.09590358328, 29.7628085078953, 2.58210333216737*10^6, 57.7969622731082, -6.42551196941394, -8549.23677077892, -49.0081775323244, -72.5156360537114, 183.539911458475]):

> seq({round(x11[k]), round(y11[k]), round(z11[k])}, k = 1 .. 27);
{-21322, 0, 1550}, {-330, 0, 232}, {0, 9, 1528}, {-283, -33, 0}, {-55, 0, 55},

{-99, 0, 1876}, {-676, -16, 0}, {0, 42, 6085}, {-12559, 0, 1146},

{-456, 0, 521412}, {0, 105, 1111}, {0, 4, 16}, {-109, 0, 12}, {-175, -8, 0},

{-522, 0, 34}, {0, 26, 2030}, {-8, 0, 1388}, {-1085, 0, 10},

{-1999, -44, 0}, {-204, 0, 30}, {-56, 0, 2582103}, {-218, 0, 58},

{-179, -6, 0}, {-8549, -42, 0}, {-49, 0}, {-1883, -73, 0}, {0, 112, 184}

{-49, 0}

there is a missing comma in this, is it the built in robot in maple playing human or my window make a joke?

this bug make me get an misunderstanding from mathematica stackexchange