Marko Riedel

Mr. Marko Riedel

390 Reputation

9 Badges

12 years, 10 days
B.Sc. Computer Science UBC 1994, M.Sc. Computer Science UofT 1996.

MaplePrimes Activity


These are questions asked by Marko Riedel

Dear friends,

after looking through your site for some time I could not find any instructions on how to change my avatar (green caleidoscope pattern at this time). Could you advise me on this? Thank you.

Best regards,

Marko Riedel

PS: If you are answering this, when I enter my website into my profile it says the link is invalid, could that possibly be because there is a tilde in the link and therefore it fails to match a regular expression somewhere? Could we get a more precise error message from the profile validator?

I would like to ask your assistance in understanding the following Maple interaction which speaks for itself.

 

> sum(product(k+4-m, m=0..k-1)*z^k ,k=0..j);                                         
                    /    j                 \                                         
                    | --------'            |
                    |'  |  |               |  (j + 1)
                    |   |  |    (j + 5 - m)| z
                    |   |  |               |
                    |   |  |               |
                    \  m = 0               /               1
                    --------------------------------- - -------
                                 4 z - 1                4 z - 1

> series(simplify(subs(j=6, %)), z=0, 16);   
              2       3        4         5         6            7            8
1 + 4 z + 16 z  + 64 z  + 256 z  + 1024 z  + 4096 z  - 1646816 z  - 6587264 z  -

              9              10              11               12               13
    26349056 z  - 105396224 z   - 421584896 z   - 1686339584 z   - 6745358336 z

                    14                 15      16
     - 26981433344 z   - 107925733376 z   + O(z  )

> sum(product(k+4-m, m=0..k-1)*z^k ,k=0..6);
                     6          5         4        3       2
             151200 z  + 15120 z  + 1680 z  + 210 z  + 30 z  + 5 z + 1

> sum((k+4)!/4!*z^k ,k=0..6);
                     6          5         4        3       2
             151200 z  + 15120 z  + 1680 z  + 210 z  + 30 z  + 5 z + 1

 

This was with Maple 18 (X86 64 LINUX).

 

Best regards, Marko Riedel

Greetings to all.

At the following Math.Stackexchange Discussion a certain constant was computed in relation to a Master Theorem Type recurrence being solved. This prompted me to try to identify it by the use of the eponymous command. What follows is the content of the Maple session. You may want to read the post in order to get an understanding of what the constant means and how its exact value is calculated.

> fsolve(2/2^a+1/4^a=1, a);
                                   1.271553303

> identify(%);
                                   1.271553303

> identify(%,all);
                                 1/2    1/2
                              2 2      3
                      arcsech(------ + ---- - 1/6 Zeta(5))
                                7       6

> evalf(log[2](1+sqrt(2)));
                                   1.271553303

My questions/observations are:

  • Why does the algorithm fail to spot as simple a constant as the one above or am I just not invoking it correctly?
  • If that last formula were true the author of this code would certainly win a prize for calculating a closed form expression for an odd integer zeta function value! (To be fair here I did notice that the spurious identification disappears when the number of working digits is increased and I do understand that the identification depends critically on the number of digits.)

In concluding I would like to say, why the complicated formula and not the simple one? Let me congratulate you just the same on providing this very useful command. I have worked on pandigital approximations which are slightly related and I understand that adding an operation like the logarithm to an integer base up to some max base value can dramatically increase the search space and may not always be feasible.

Best regards,

Marko Riedel

Greetings to all.

The multiplicative partition function is defined here at Wikipedia and was recently the subject of a discussion at Math Stackexchange.

I posted two solutions to the task of computing this function at the above page that use Maple code. One of them employs the Polya Enumeration Theorem and is of mostly theoretical interest as it cannot be used to effectively compute the function for n with many factors. I posted two additional implementations in order to remedy this defect, one of them in Maple and the other in Perl. I think the Maple implementation is easy enough to read not to require additional commentary. Note, however, that even though the Maple code and the Perl code implement the same algorithm (dynamic programming), the Maple version is dramatically slower than the Perl version and consumes a lot of memory. E.g. Maple takes 58 seconds for the value for 9! and Perl takes 1.5 seconds.

My question is, can someone explain this difference? Note that both are interpreted languages so there is no gain due to potential compilations.

Your commentary is appreciated.

This is with Maple 15 (X86 64 LINUX).

Best regards,

Marko Riedel

Greetings to all.

I have run into a curious numeric event while computing Master theorem recurrences at this math.stackexchange.com link.

I do have to say that this one has me worried. I am referring to Maple 15 (X86 64 LINUX).

Try the following program in a new Maple session.

T := proc(n)
option remember;
    if n = 0 then return 0 end if; 9*T(floor(1/3*n)) + n*(1 + ilog[3](n))^3
end proc;

T_ex := proc(n)
local m, d;
option remember;
    d := convert(n, base, 3);
    m := ilog[3](n);
    add(3^j*(1 + m - j)^3*add(d[k + 1]*3^k, k = j .. m), j = 0 .. m)
end proc;

T(3^22-1)-T_ex(3^22-1);

The result is the following error message:

Error, (in T_ex) invalid subscript selector

Now try it again, in a new Maple session, but enter the following command first.

Digits := 50;

Now the result is

0

Consider the following program:

T := proc(n)
option remember;
    if n = 0 then return 0 end if; 9*T(floor(1/3*n)) + n*(1 + ilog[3](n))^3
end proc;

T_upper := proc(n)
local m;
option remember;
    m := ilog[3](n); 3^(2*m + 2)*sum(3^(-j)*j^3*(1 - 3^(-j)), j = 1 .. m + 1)
end proc;

T(3^22-1)-T_upper(3^22-1);

The result is

-30454808964204479209326

But if you precede the program with the command

Digits:=50;

the result is once more

0

This is reproducible (restart Maple every time) and quite frankly, seems rather serious to me. Could someone please look into this.

 

Marko Riedel

1 2 3 4 Page 2 of 4