Sorry but I really don't understand you first sentence. 
About the code, I will possibly experiment it during the next days or 
weeks, and I'll send you some feedback. 
Thank you again for this library and your help.
- Stéphane

Le samedi 21 juin 2014 14:24:03 UTC+2, Sheehan Olver a écrit :
>
> Thanks! 
>
>  I'm interested to know if the ultraspherical spectral approach has any 
> clear advantages over spectral collocation for nonlinear odes. (For linear 
> odes the advantages are clear.)
>
> So if you find the code better than expected please let me know.  It's a 
> bit buggy and unoptimized, so chances are you won't.
>
> Sent from my iPad
>
> On 21 Jun 2014, at 10:15 pm, 'Stéphane Laurent' via julia-users <
> [email protected] <javascript:>> wrote:
>
> Ok, I understand. It works and it is really awesome. Thank you !
>
>
> Le samedi 21 juin 2014 12:17:22 UTC+2, Sheehan Olver a écrit :
>>
>> Hi,
>>
>>
>> You didn’t quite get the Newton iteration right: if you want to solve
>>
>> B u + [1,0] = 0
>> L u + g(u) = 0
>>
>> then Newton iteration becomes
>>
>> u = u - [B, L + g’(u)]\[B u + [1,0], L u + g(u)]
>>
>>
>> i.e., your bc right hand side is not right.  Below is the corrected code.
>>
>> Cheers,
>>
>> Sheehan
>>
>>
>>
>> x=Fun(identity, Interval(0.,1.))
>> d=x.domain
>> B=neumann(d)
>> D=diff(d)
>> # Solves Lu + g(u)-1==0
>> L = D^2 + 2/(x.+1)*D
>> g = u -> -(exp(u)-exp(-u)); gp = u -> -(exp(u)+exp(-u))
>>
>> u=-0.3*x+0.5   #initial guess 
>>
>> for k=1:5 # this crashes if Ii increase the number of iterations
>>         u=u-[B,L+gp(u)]\[diff(u)[0.]+1.,diff(u)[1.],L*u+g(u)];
>> end
>>
>> plot(u)
>>
>> On 21 Jun 2014, at 6:54 pm, 'Stéphane Laurent' via julia-users <
>> [email protected]> wrote:
>>
>> Hello,
>>
>> I'd like to solve this equation with Neumann boundary conditions. My code 
>> below does not work. Am I doing something bad or is it a failure of the 
>> Newton algorithm ?
>>
>> *# solves u" = (exp(u)-exp(-u))-2u'/(x+1) ,  u'(0)=-1,  u(1)=0*
>> *x=Fun(identity, Interval(0.,1.))*
>> *d=x.domain*
>> *B=neumann(d)*
>> *D=diff(d)*
>> *# Solves Lu + g(u)-1==0*
>> *L = D^2 + 2/(x.+1)*D*
>> *g = u -> -(exp(u)-exp(-u)); gp = u -> -(exp(u)+exp(-u))*
>>
>> *u=-0.3*x+0.5**   #initial guess *
>>
>> *for k=1:5 # this crashes if Ii increase the number of iterations*
>> *        u=u-[B,L+gp(u)]\[-1.,0.,L*u+g(u)];*
>> *end*
>>
>>
>> The solution should look like that :
>>
>>
>> <https://lh5.googleusercontent.com/-BCYNzh8ckCA/U6VIJcT2-tI/AAAAAAAAAGI/r08hknI2EIg/s1600/Screenshot+from+2014-06-21+10%3A37%3A46.png>
>>
>>
>>

Reply via email to