Re: [julia-users] ANN: ApproxFun v0.0.3 with general linear PDE solving on rectangles

2014-09-14 Thread Sheehan Olver
Hi Erik,

3D/4D is in the eventual plan: I really want to be able to solve PDEs 
on cylinders/spheres/cubes.  Representing functions as tensor product of 
coefficients should be straightforward.For low rank approximation a la 
Townsend&Trefethen/Chebfun2, which makes many computations competitive, things 
are less obvious.

Also, its not clear yet how to structure these two representations in 
software.  Now there are two classes — TensorFun & Fun2D (which will probably 
be renamed LowRankFun) — and the code will sometimes convert between the two 
via an SVD.  Whether this is the “right” approach is not clear.  I think 
Chebfun2’s approach is to only have low rank representations, but this has 
certain drawbacks speedwise (e.g., addition is not a linear operation).  


Cheers,

Sheehan










On 15 Sep 2014, at 5:13 am, Erik Schnetter  wrote:

> Sheehan
> 
> I notice that ApproxFun handles 1D and 2D domains. Do you plan to
> extend it to 3D or 4D as well? Would that be complicated? If so, is
> this about software engineering, or about the numerical analysis
> behind the package?
> 
> -erik
> 
> 
> On Wed, Sep 10, 2014 at 6:22 PM, Sheehan Olver  wrote:
>> 
>> This is to announce a new version of ApproxFun
>> (https://github.com/dlfivefifty/ApproxFun.jl), a package for approximating
>> functions.  The biggest new feature is support for PDE solving.  The
>> following lines solve Helmholtz equation u_xx + u_yy + 100 u = 0 with the
>> solution held to be one on the boundary:
>> 
>> d=Interval()⊗Interval()# the domain to solve is a rectangle
>> 
>> u=[dirichlet(d),lap(d)+100I]\ones(4)   # first 4 entries are boundary
>> conditions, further entries are assumed zero
>> contour(u) # contour plot of the solution,
>> requires GadFly
>> 
>> PDE solving is based on a recent preprint with Alex Townsend
>> (http://arxiv.org/abs/1409.2789).   Only splitting rank 2 PDEs are
>> implemented at the moment.  Examples included are:
>> 
>>"examples/RectPDE Examples.ipynb": Poisson equation, Wave equation,
>> linear KdV, semiclassical Schrodinger equation with a potential, and
>> convection/convection-diffusion equations.
>>"examples/Wave and Klein–Gordon equation on a square.ipynb": On-the-fly
>> 3D simulation of time-evolution PDEs on a square.  Requires GLPlot.jl
>> (https://github.com/SimonDanisch/GLPlot.jl).
>>"examples/Manipulate Helmholtz.upynb": On-the-fly variation of Helmholtz
>> frequency.  Requires Interact.jl (https://github.com/JuliaLang/Interact.jl)
>> 
>> Another new feature is faster root finding, thanks to Alex.
> 
> 
> 
> -- 
> Erik Schnetter 
> http://www.perimeterinstitute.ca/personal/eschnetter/



Re: [julia-users] ANN: ApproxFun v0.0.3 with general linear PDE solving on rectangles

2014-09-14 Thread Erik Schnetter
Sheehan

I notice that ApproxFun handles 1D and 2D domains. Do you plan to
extend it to 3D or 4D as well? Would that be complicated? If so, is
this about software engineering, or about the numerical analysis
behind the package?

-erik


On Wed, Sep 10, 2014 at 6:22 PM, Sheehan Olver  wrote:
>
> This is to announce a new version of ApproxFun
> (https://github.com/dlfivefifty/ApproxFun.jl), a package for approximating
> functions.  The biggest new feature is support for PDE solving.  The
> following lines solve Helmholtz equation u_xx + u_yy + 100 u = 0 with the
> solution held to be one on the boundary:
>
> d=Interval()⊗Interval()# the domain to solve is a rectangle
>
> u=[dirichlet(d),lap(d)+100I]\ones(4)   # first 4 entries are boundary
> conditions, further entries are assumed zero
> contour(u) # contour plot of the solution,
> requires GadFly
>
> PDE solving is based on a recent preprint with Alex Townsend
> (http://arxiv.org/abs/1409.2789).   Only splitting rank 2 PDEs are
> implemented at the moment.  Examples included are:
>
> "examples/RectPDE Examples.ipynb": Poisson equation, Wave equation,
> linear KdV, semiclassical Schrodinger equation with a potential, and
> convection/convection-diffusion equations.
> "examples/Wave and Klein–Gordon equation on a square.ipynb": On-the-fly
> 3D simulation of time-evolution PDEs on a square.  Requires GLPlot.jl
> (https://github.com/SimonDanisch/GLPlot.jl).
> "examples/Manipulate Helmholtz.upynb": On-the-fly variation of Helmholtz
> frequency.  Requires Interact.jl (https://github.com/JuliaLang/Interact.jl)
>
> Another new feature is faster root finding, thanks to Alex.



-- 
Erik Schnetter 
http://www.perimeterinstitute.ca/personal/eschnetter/


[julia-users] ANN: ApproxFun v0.0.3 with general linear PDE solving on rectangles

2014-09-10 Thread Sheehan Olver

This is to announce a new version of ApproxFun 
(https://github.com/dlfivefifty/ApproxFun.jl), a package for approximating 
functions.  The biggest new feature is support for PDE solving.  The 
following lines solve Helmholtz equation u_xx + u_yy + 100 u = 0 with the 
solution held to be one on the boundary:

d=Interval()⊗Interval()# the domain to solve is a rectangle

u=[dirichlet(d),lap(d)+100I]\ones(4)   # first 4 entries are boundary 
conditions, further entries are assumed zero
contour(u) # contour plot of the solution, requires 
GadFly

PDE solving is based on a recent preprint with Alex Townsend 
(http://arxiv.org/abs/1409.2789).   Only splitting rank 2 PDEs are 
implemented at the moment.  Examples included are:

"examples/RectPDE Examples.ipynb": Poisson equation, Wave equation, 
linear KdV, semiclassical Schrodinger equation with a potential, and 
convection/convection-diffusion equations. 
"examples/Wave and Klein–Gordon equation on a square.ipynb": On-the-fly 
3D simulation of time-evolution PDEs on a square.  Requires GLPlot.jl 
(https://github.com/SimonDanisch/GLPlot.jl).   
"examples/Manipulate Helmholtz.upynb": On-the-fly variation of 
Helmholtz frequency.  Requires Interact.jl 
(https://github.com/JuliaLang/Interact.jl)

Another new feature is faster root finding, thanks to Alex.