Alec Mihailovs

Dr. Aleksandrs Mihailovs

4495 Reputation

21 Badges

20 years, 336 days
Mihailovs, Inc.
Owner, President, and CEO
Tyngsboro, Massachusetts, United States

Social Networks and Content at Maplesoft.com

Maple Application Center

I received my Ph.D. from the University of Pennsylvania in 1998 and I have been teaching since then at SUNY Oneonta for 1 year, at Shepherd University for 5 years, at Tennessee Tech for 2 years, at Lane College for 1 year, and this year I taught at the University of Massachusetts Lowell. My research interests include Representation Theory and Combinatorics.

MaplePrimes Activity


These are replies submitted by Alec Mihailovs

To get it working is not a big challenge. The challenge is to make it look nicely in Maple.

Alec

If there is a singularity, the series solution will have the radius of convergence equal or less than the distance from the center of the series to the singularity (perhaps, there are exceptions, but that's what usually happen), so it can not be used for continuation after the singularity. That can be cleary seen both here and in the example that you cited.

Alec

If there is a singularity, the series solution will have the radius of convergence equal or less than the distance from the center of the series to the singularity (perhaps, there are exceptions, but that's what usually happen), so it can not be used for continuation after the singularity. That can be cleary seen both here and in the example that you cited.

Alec

Then definitely use convert(f~(L),`+`) or max(f~(L)) instead of f~(L). I used f~(L) just because it was shorter to type. 

I'm not sure when ~ was introduced. If it doesn't work in Maple 12, then one could use map(f,L) instead.

Alec

Then definitely use convert(f~(L),`+`) or max(f~(L)) instead of f~(L). I used f~(L) just because it was shorter to type. 

I'm not sure when ~ was introduced. If it doesn't work in Maple 12, then one could use map(f,L) instead.

Alec

There is a possibility that the problem was to use dsolve(..., series) to construct the plot, but it seems more probable that the problem was to find an approximate solution and to draw a plot.

In the posted partial sum, the absolute values of the last 3 coefficients are greater than 1/(1.5)^13, 1/(1.5)^14, and 1/(1.5)^15, correspondingly, so it can not be used for plotting on distances 1.5 from 1 or greater - in particular, for x=4.

I meant ?odeplot or ?plots,odeplot on this site - it used to work like that, producing (automatically) a link to the corresponding help page.

Alec

There is a possibility that the problem was to use dsolve(..., series) to construct the plot, but it seems more probable that the problem was to find an approximate solution and to draw a plot.

In the posted partial sum, the absolute values of the last 3 coefficients are greater than 1/(1.5)^13, 1/(1.5)^14, and 1/(1.5)^15, correspondingly, so it can not be used for plotting on distances 1.5 from 1 or greater - in particular, for x=4.

I meant ?odeplot or ?plots,odeplot on this site - it used to work like that, producing (automatically) a link to the corresponding help page.

Alec

Since it didn't happen on May 4th, my guess is that it will happen on May 14th. 

Alec

By the way, names and strings can be generated faster than lists in Maple,

time(cat((1..2)$16));

                                0.078

time(StringTools:-Generate(16,"12"));

                                0.015

On the other hand,

time(indices(Array((1..2)$16)));

                                0.015

That doesn't work for arbitrary lists, names, and strings though.

Alec

Add [0,0] at the beginning of your data, and [3,2] at the end, and then BSplineCurve may be used,

a := [[0, 0], [1, 1], [3, 2], [3.5, 4], [4, 6], [5, 5], 
[6, 7], [7, 6], [8, 5], [9, 5.5], [10, 4], [11, 1], 
[12, -5], [11.5, -6], [12, -12], [10, -10], [8, -14], 
[7, -10], [3, -10], [2, -5], [1, -8], [0, 0], [1, 1],[3, 2]];

p := CurveFitting:-BSplineCurve(a, x):
plot([p, a], thickness = [2, 1], color = [red, blue]);

Alec

Add [0,0] at the beginning of your data, and [3,2] at the end, and then BSplineCurve may be used,

a := [[0, 0], [1, 1], [3, 2], [3.5, 4], [4, 6], [5, 5], 
[6, 7], [7, 6], [8, 5], [9, 5.5], [10, 4], [11, 1], 
[12, -5], [11.5, -6], [12, -12], [10, -10], [8, -14], 
[7, -10], [3, -10], [2, -5], [1, -8], [0, 0], [1, 1],[3, 2]];

p := CurveFitting:-BSplineCurve(a, x):
plot([p, a], thickness = [2, 1], color = [red, blue]);

Alec

Roman,

Excellent job!

What do you think about Larrabee? Would it work better than GPU?

Are the univariate polynomials also optimized? It would be interesting to look at their benchmarks, too, if you have them (including NTL with GMP).

Alec

I wonder how the parallelization was done. Did you use Cilk++ (as in that example), or GPU?

Alec

 

The benchmarks look very impressive. I don't have Maple 14 though. Is the source available (and under what license?)

Alec

In this example, with expr:=t^3-t+10, the elements of sol already have a+b*I form.

Alec

First 30 31 32 33 34 35 36 Last Page 32 of 180