MapleTypes922.mws

MapleTypes922.mws
Thu Sep 22 07:50:02 MDT 2005

>    restart;

Some housekeeping "with" statements:

>    with(plots, display);

[display]

Here we look at some Maple data types:

      range,  
     sequence,
      list,
      set.

>    dwim := 6;

dwim := 6

####################################################################

>    Mrange := -5..dwim; Maple Range  
-22/7..exp(4);
-dwim..dwim^2;

Mrange := -5 .. 6

-22/7 .. exp(4)

-6 .. 36

>    evalf(%);  
10..-9;
nerk := plot(t -> t^2/5, Mrange):    
display(nerk);

-6. .. 36.

10 .. -9

[Maple Plot]

########################################################################

>    Mseq := eenie, meenie, meinie, moe;   Maple Sequence  
Mseq[3];  
Mseq[0];  
Mseq[12];

Mseq := eenie, meenie, meinie, moe

meinie

Error, invalid subscript selector

Error, invalid subscript selector

#############################################################################

>    Mlist := [J,A,S,O,N];    Maple List    
Mlist[3];  
Mlist[2..4];

Mlist := [J, A, S, O, N]

S

[A, S, O]

>    op(Mlist);   A Sequence

J, A, S, O, N

>    nops(Mlist);

5

##########################################################################

>    Mset := {is, are, was, were, have, has, had};   Maple Set
Mset[4];     Repeated Executions
Mset[1..3];   

Mset := {has, is, were, have, are, was, had}

have

{has, is, were}

>   

>    Nset := {1,2,7,have,have,3,5,5,5,are,2,2,is,7,3,8,3,9,3};

Nset := {1, 2, 3, 5, 7, 8, 9, is, have, are}

>    Mset intersect Nset;

{is, have, are}

########################################################################
 

Maple Sequence Stuff

#########################################################################

>    Mseq;

eenie, meenie, meinie, moe

>    member(meenie, Mseq);

Error, invalid input: member expects 2 or 3 arguments, but received 5

>    member(meenie,[Mseq]);  member(tweedle, [Mseq]);

true

false

>    seq(j, j=Mrange);

-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6

>    MSeq := %;   A BAD variable name

MSeq := -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6

>    MSeq, Mseq;    Concatenate

-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, eenie, meenie, meinie, moe

>    %[10];

4

>    MSeq := MSeq, 729;    Append

MSeq := -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 729

>    MSeq := 1024, MSeq;    Prepend

MSeq := 1024, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 729

>    seq(x^3-25, x=2..5);

-17, 2, 39, 100

>    seq(x^3-25, x=8..3);   Empty Sequence                    

>    poo := NULL;

poo := NULL

>    poo := poo, 34,-9;

poo := 34, -9

>    seq( ithprime(i), i=1..15);

2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47

Random Squences:

>    randomize();

1127501308

>    seq( rand(), n=1..20);   Twelve-digit positive integers.

959055736533, 678694377146, 69689809816, 200200249046, 116370712904, 694866968824, 338621639347, 952537969481, 135165417738, 406583498109, 455768894216, 358865424891, 210928047854, 649714962728, 230719...
959055736533, 678694377146, 69689809816, 200200249046, 116370712904, 694866968824, 338621639347, 952537969481, 135165417738, 406583498109, 455768894216, 358865424891, 210928047854, 649714962728, 230719...
959055736533, 678694377146, 69689809816, 200200249046, 116370712904, 694866968824, 338621639347, 952537969481, 135165417738, 406583498109, 455768894216, 358865424891, 210928047854, 649714962728, 230719...
959055736533, 678694377146, 69689809816, 200200249046, 116370712904, 694866968824, 338621639347, 952537969481, 135165417738, 406583498109, 455768894216, 358865424891, 210928047854, 649714962728, 230719...

>    seq( rand()/10^11, n=1..20);

161777807577/100000000000, 485825806753/50000000000, 322563330207/100000000000, 257840260183/100000000000, 389066487347/100000000000, 191054980121/100000000000, 493120558981/100000000000, 1522625399/10...
161777807577/100000000000, 485825806753/50000000000, 322563330207/100000000000, 257840260183/100000000000, 389066487347/100000000000, 191054980121/100000000000, 493120558981/100000000000, 1522625399/10...
161777807577/100000000000, 485825806753/50000000000, 322563330207/100000000000, 257840260183/100000000000, 389066487347/100000000000, 191054980121/100000000000, 493120558981/100000000000, 1522625399/10...
161777807577/100000000000, 485825806753/50000000000, 322563330207/100000000000, 257840260183/100000000000, 389066487347/100000000000, 191054980121/100000000000, 493120558981/100000000000, 1522625399/10...

>    evalf(%);

1.617778076, 9.716516135, 3.225633302, 2.578402602, 3.890664873, 1.910549801, 4.931205590, .1522625399, 8.206438880, 6.877860900, 5.324649901, 2.875741558, 1.521442915, 9.020792450, 9.553674320, 3.5784...
1.617778076, 9.716516135, 3.225633302, 2.578402602, 3.890664873, 1.910549801, 4.931205590, .1522625399, 8.206438880, 6.877860900, 5.324649901, 2.875741558, 1.521442915, 9.020792450, 9.553674320, 3.5784...
1.617778076, 9.716516135, 3.225633302, 2.578402602, 3.890664873, 1.910549801, 4.931205590, .1522625399, 8.206438880, 6.877860900, 5.324649901, 2.875741558, 1.521442915, 9.020792450, 9.553674320, 3.5784...

>    Katrina := seq( floor( rand()/10^11  ), n=1..20);

Katrina := 4, 3, 8, 0, 0, 5, 5, 0, 3, 4, 0, 4, 7, 2, 9, 5, 1, 2, 2, 5

>    {%};   Use of the set type to extirpate duplicats.

{0, 1, 2, 3, 4, 5, 7, 8, 9}

>    tweet := rand(Mrange); Generates a procedure

tweet := proc () local t; global _seed; _seed := irem(a*_seed,p); t := _seed;  to concats do _seed := irem(a*_seed,p); t := s*t+_seed end do; irem(t,divisor)+offset end proc
tweet := proc () local t; global _seed; _seed := irem(a*_seed,p); t := _seed;  to concats do _seed := irem(a*_seed,p); t := s*t+_seed end do; irem(t,divisor)+offset end proc
tweet := proc () local t; global _seed; _seed := irem(a*_seed,p); t := _seed;  to concats do _seed := irem(a*_seed,p); t := s*t+_seed end do; irem(t,divisor)+offset end proc
tweet := proc () local t; global _seed; _seed := irem(a*_seed,p); t := _seed;  to concats do _seed := irem(a*_seed,p); t := s*t+_seed end do; irem(t,divisor)+offset end proc
tweet := proc () local t; global _seed; _seed := irem(a*_seed,p); t := _seed;  to concats do _seed := irem(a*_seed,p); t := s*t+_seed end do; irem(t,divisor)+offset end proc
tweet := proc () local t; global _seed; _seed := irem(a*_seed,p); t := _seed;  to concats do _seed := irem(a*_seed,p); t := s*t+_seed end do; irem(t,divisor)+offset end proc
tweet := proc () local t; global _seed; _seed := irem(a*_seed,p); t := _seed;  to concats do _seed := irem(a*_seed,p); t := s*t+_seed end do; irem(t,divisor)+offset end proc
tweet := proc () local t; global _seed; _seed := irem(a*_seed,p); t := _seed;  to concats do _seed := irem(a*_seed,p); t := s*t+_seed end do; irem(t,divisor)+offset end proc

>    tweet();

2

>    Birdie := seq( tweet(), i=1..10);

Birdie := -4, 1, -4, -4, -4, -4, 2, -2, 6, -1

####################################################################

Maple List Stuff

#####################################################################

>    op(Mlist);  nops(Mlist);

J, A, S, O, N

5

>    nops(MSeq);   "nops" doesn't apply to sequences

Error, invalid input: nops expects 1 argument, but received 14

>    member(N, Mlist);

true

>    PT := [3, 3^2-4];

PT := [3, 5]

>    radius := 1/5;  

radius := 1/5

>    D1 := plottools[disk](PT, radius, colour=red):  display(%);

[Maple Plot]

>    cons := [nerk, D1]:

>    plots[textplot]([2,2,"Wow!"]):

>    cons := [op(cons), %]:

>    plots[textplot]([op(PT),"PT here!"], align={BELOW,RIGHT}):

>    cons := [op(cons), %]:    If we move PT somewhere else, then the PT label will follow.

>    display(cons);

[Maple Plot]

>    display(cons,scaling=CONSTRAINED);

[Maple Plot]

>    map( t -> t^3, Mlist);

[J^3, A^3, S^3, O^3, N^3]

>    Eagle := map( t -> t^2, [Birdie]);

Eagle := [16, 1, 16, 16, 16, 16, 4, 4, 36, 1]

>    select( x -> x > 7, Eagle);

[16, 16, 16, 16, 16, 36]

########################################################################

Maple Set Stuff

>    op(Mset);  nops(Mset);

has, is, were, have, are, was, had

7

>    numtheory[factorset](144);   Like, prime factors.

{2, 3}

>    numtheory[divisors](144);

{1, 2, 3, 4, 6, 8, 9, 12, 16, 18, 24, 36, 48, 72, 144}

>    member(go,Mset);

false

>    member(was,Mset);

true

>    {op(Eagle)};

{1, 4, 16, 36}

>    select( x -> x > 7, %);

{16, 36}

>    select( n -> isprime(n), {Katrina});

{2, 3, 5, 7}

>   

>