Cool! Let me know if you want any functionality added to make it useful.

Sent from my iPhone

> On Jun 20, 2014, at 11:11 PM, 'Stéphane Laurent' via julia-users 
> <julia-users@googlegroups.com> wrote:
> 
> Thank you, it works !!
> 
> NB: I'm Stéphane and not Stéphanie :-)
> 
> 
> Le vendredi 20 juin 2014 00:13:08 UTC+2, Sheehan Olver a écrit :
>> 
>> Hi Stephanie,
>> 
>> Are you on the latest GitHub version? You can get on it with
>> 
>> Pkg.checkout("ApproxFun")
>> 
>> Sent from my iPad
>> 
>>> On 20 Jun 2014, at 3:19 am, 'Stéphane Laurent' via julia-users 
>>> <julia...@googlegroups.com> wrote:
>>> 
>>> Hello Sheehan,
>>> 
>>>  I get this error when I run your code:
>>> 
>>> julia> for k=1:5
>>>                u=u-[B,L+gp(u)]\[0.,0.,L*u+g(u)-1.];
>>>        end
>>> ERROR: Reducing over an empty array is not allowed.
>>>  in _mapreduce at reduce.jl:151
>>>  in mapreduce at reduce.jl:173
>>>  in old_addentries! at 
>>> /home/sdl/.julia/v0.3/ApproxFun/src/Operators/OperatorAlgebra.jl:106
>>>  in addentries! at 
>>> /home/sdl/.julia/v0.3/ApproxFun/src/Operators/OperatorAlgebra.jl:141
>>>  in ShiftArray at 
>>> /home/sdl/.julia/v0.3/ApproxFun/src/Operators/ShiftArray.jl:16
>>>  in BandedArray at 
>>> /home/sdl/.julia/v0.3/ApproxFun/src/Operators/ShiftArray.jl:110
>>>  in getindex at /home/sdl/.julia/v0.3/ApproxFun/src/Operators/Operator.jl:46
>>>  in getindex at 
>>> /home/sdl/.julia/v0.3/ApproxFun/src/Operators/AlmostBandedOperator.jl:133
>>>  in backsubstitution! at 
>>> /home/sdl/.julia/v0.3/ApproxFun/src/Operators/adaptiveqr.jl:78
>>>  in ultraiconversion at 
>>> /home/sdl/.julia/v0.3/ApproxFun/src/Operators/Operator.jl:71
>>>  in * at /home/sdl/.julia/v0.3/ApproxFun/src/Operators/Operator.jl:97
>>>  in anonymous at no file:2
>>> 
>>> 
>>> Le mercredi 11 juin 2014 23:27:52 UTC+2, Sheehan Olver a écrit :
>>>> 
>>>> Hi Stèphane,
>>>> 
>>>>    Nonlinear is not built in, but it’s easy enough to do by hand with 
>>>> Newton iteration in function space.  Let me know if there is any confusion 
>>>> with the code below.  I suppose I could just add a “nonlinsolve” routine 
>>>> that bundles this up.  
>>>> 
>>>>    (I am on the latest branch so this may or may not work on the 0.0.1 
>>>> tag.)
>>>> 
>>>> 
>>>> Cheers,
>>>> 
>>>> Sheehan
>>>> 
>>>> 
>>>> 
>>>> x=Fun(identity,[-1.,1.])
>>>> d=x.domain
>>>> B=dirichlet(d)                     
>>>> D=diff(d)
>>>> 
>>>> # Sets up L and g for equation in the form Lu + g(u)-1==0
>>>> 
>>>> L=D^2 + 2(1-x.^2)*D
>>>> g=u->u.^2;gp=u->2u
>>>> 
>>>> u=0.x   #  initial guess for the solution is zero
>>>> 
>>>> for k=1:5
>>>>         u=u-[B,L+gp(u)]\[0.,0.,L*u+g(u)-1.];
>>>> end
>>>> 
>>>> norm(diff(u,2) + 2(1-x.^2).*diff(u) + g(u) -1)  # This equals 0.0
>>>> 
>>>> 
>>>>> On 12 Jun 2014, at 1:02 am, 'Stéphane Laurent' via julia-users 
>>>>> <julia...@googlegroups.com> wrote:
>>>>> 
>>>>> Hello Sheehan, 
>>>>> 
>>>>>  I have unsuccessfully tried to understand how works the differential 
>>>>> equation solver (I do not understand the Airy example).
>>>>> 
>>>>> It would be nice to have an example of code for a simple BVP such as :
>>>>> 
>>>>> u" + 2(1-x^2)u + u^2 = 1 ,  u(-1) = u(1) = 0
>>>>> 
>>>>> Regards,
>>>>> Stéphane
>>>>> 
>>>>> Le lundi 24 mars 2014 02:04:25 UTC+1, Sheehan Olver a écrit :
>>>>>> 
>>>>>> 
>>>>>> I tagged a new release for ApproxFun 
>>>>>> (https://github.com/dlfivefifty/ApproxFun) with major new features that 
>>>>>> might interest people.  Below are ODE solving and random number sampling 
>>>>>> examples, find more in ApproxFun/examples.  The code is meant as alpha 
>>>>>> quality, so don't expect too much beyond the examples.  There is 
>>>>>> rudimentary support for PDE solving (e.g. Helmholtz in a square), but 
>>>>>> it's reliability is limited without a better Lyapanov solver 
>>>>>> (https://github.com/JuliaLang/julia/issues/5814).  
>>>>>> 
>>>>>> Cheers,
>>>>>> 
>>>>>> Sheehan
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>     Pkg.add("ApproxFun")
>>>>>>     using ApproxFun
>>>>>> 
>>>>>> ODE Solving: solve the Airy equation on [-1000,10]
>>>>>> 
>>>>>>     x=Fun(identity,[-2000.,10.])
>>>>>>     d=x.domain
>>>>>>     D=diff(d)
>>>>>>     ai=[dirichlet(d),D^2 - x]\[airyai(-2000.),0.]
>>>>>>     plot(ai)
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Random number sampling: Sample a 2D Cauchy distribution on (-∞,∞)^2
>>>>>> 
>>>>>>  f = Fun2D((x,y)->1./(2π.*(x.^2 .+ y.^2 .+ 1).^(3/2)),Line(),Line())
>>>>>>  r = sample(f,100)
>>>> 

Reply via email to