Re: In V7, is it possible to parallelize DensityPlot?
- To: mathgroup at smc.vnet.net
- Subject: [mg94350] Re: In V7, is it possible to parallelize DensityPlot?
- From: Szabolcs Horvát <szhorvat at gmail.com>
- Date: Thu, 11 Dec 2008 03:42:35 -0500 (EST)
- Organization: University of Bergen
- References: <gglsti$8gk$1@smc.vnet.net> <ggog30$s7s$1@smc.vnet.net>
Jens-Peer Kuska wrote:
> Hi,
>
> sincs version 6. Mathematica uses an adaptive mesh for the density plot
> and there are *no* in the plot. Only triangles as to see from:
>
> DensityPlot[Sin[x*y], {x, -Pi, Pi}, {y, -Pi, Pi}, Mesh -> All]
>
> and since the mesh subdivision seems to be a global operation it
> would be very hard to parallelize it.
>
Jens,
I have to disagree here. The mesh subdivision is based on a square
grid, and while there may be difficulties at the position where the
domain is split in two, it should definitely be possible to calculate
the function values in parallel (provided that the function that is
being plotted is a well behaved function, and has no internal state).
expr = Abs[(4 (-1)^(2/3) -
9 (x + I y)^2)^3/((9 + 4 (-1)^(1/3) (x + I y)^2)^3 (x + I y)^3)];
p1 = DensityPlot[expr, {x, -3, 3}, {y, -3, 3}, Mesh -> All,
ColorFunction -> (RGBColor[1, 1, 1, 0] &), PlotPoints -> 15,
MeshStyle -> Blue]
p2 = Show[
DensityPlot[expr, {x, -3, 0}, {y, -3, 3}, Mesh -> All,
ColorFunction -> (RGBColor[1, 1, 1, 0] &), PlotPoints -> {8, 15},
MeshStyle -> Red],
DensityPlot[expr, {x, 0, 3}, {y, -3, 3}, Mesh -> All,
ColorFunction -> (RGBColor[1, 1, 1, 0] &), PlotPoints -> {8, 15},
MeshStyle -> Red], PlotRange -> All]
The meshes generated in the two cases do not differ significantly:
Show[p2, p1]
> The final rendering is done by the graphics card and since it is a IO
> operation it can't be parallel outside of the graphics card.
>