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 <
> [email protected] <javascript:>> 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