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 <schnet...@cct.lsu.edu> 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 <dlfivefi...@gmail.com> 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 <schnet...@cct.lsu.edu>
> http://www.perimeterinstitute.ca/personal/eschnetter/

Reply via email to