[Date Index]
[Thread Index]
[Author Index]
Re: How to find the eigenvalues/eigenfunctions of a
*To*: mathgroup at smc.vnet.net
*Subject*: [mg113407] Re: How to find the eigenvalues/eigenfunctions of a
*From*: Bob Hanlon <hanlonr at cox.net>
*Date*: Wed, 27 Oct 2010 05:17:00 -0400 (EDT)
Clear[u]
u[x_] = (u[x] /. DSolve[
{u''[x] - lambda u[x] == 0, u'[0] == 0},
u[x], x][[1]] // ExpToTrig // Simplify) /.
C[2] -> 1
2*Cosh[Sqrt[lambda]*x]
v = Solve[FullSimplify[
Reduce[{u[m] == 0, Element[m, Integers]},
lambda],
{Element[m, Integers], m > 0, C[1] == 0}],
lambda][[1]] // Quiet
{lambda -> -(Pi^2/(4*m^2))}
Simplify[u[x] /. v, m > 0]
2*Cos[(Pi*x)/(2*m)]
Simplify[u''[x] - lambda*u[x] /. v,
Element[m, Integers]]
0
Bob Hanlon
---- "Nasser M. Abbasi" <nma at 12000.org> wrote:
=============
This is a simple math problem, which I solved by hand, but having hard
time to get the same result I had by using Mathematica. I'll describe
the problem, the solution I obtained by hand, what I did to try to
verify my result. I'd like to be able to get Mathematica to produce the
same result I have.
Summary: I need to have mathematica find the eigenvalues and
eigenfunctions of differential operator without me having to do too much
manual manipulation.
Problem
--------
Given Lu==u''[x], with boundary conditions u'[0]==0,u'[1]==0, need to
find the eigenvalues and eigenfunctions of L.
my solution:
------------
The eigenvalues are
lambda[n_]= -(n Pi)^2
for n=0,1,2,3,... infinity
with corresponding eigenfunctions
Phi[n_,x_]:=Cos[ n Pi x]
for n=0,1,2,3,... infinity
So, the first eigenvalues are
In[14]:= lambda[n_]:=-(n Pi)^2
Table[lambda[i],{i,0,5}]//N
Out[15]=
{0.,-9.869604401089358,-39.47841760435743,-88.82643960980423,-157.91367041742973,-246.74011002723395}
What I tried in Mathematica
----------------------------
Tried to solve u''[x] == lambda * u[x], i.e. eigenvalue problem with the
BVP above, but I get zero solution
DSolve[{ u''[x]- lambda u[x]==0,u'[0]==0,u'[1]==0},u[x],x]
{{u[x]->0}}
Now tried just one BC, I picked one of the above 2, but I also tried the
other one later, no success, do not get what I had.
Clear[u]
First@DSolve[{ u''[x]- lambda u[x]==0,u'[0]==0},u[x],x];
ExpToTrig[%]//Simplify
{u[x]->2 C[2] Cosh[Sqrt[lambda] x]}
u=u[x]/.%
2 C[2] Cosh[Sqrt[lambda] x]
% find root of the above eigenfunction
FindRoot[(u/.{C[2]->1,x->1})==0,{lambda,1}]
{lambda->-2.46740110027234}
% try to guess what the form is
Sqrt[-lambda/.%]
1.5707963267948968
% see what it is
Pi/2.
1.5707963267948966
Ok, so Sqrt[-lambda] = pi/2, then the (first?) eigenvalue is -(pi/2)^2
The rest, keep looking for next roots of the eigenfunction from above?
But I get eigenvalue to be -(n*pi)^2, not -(n* pi/2)^2 anyway. Might
have made a mistake there at the end.
The bottom line is this: Is there a package or command to make it
easier to find the eigenvalues and eigenfunctions of a linear operator
in mathematica, without having to hunt for them by hand? One has to use
one B.C. to get something, and them hunt for roots, and guess the form.
It seems this task can be automated by some command or package if not
already done.
thanks
--Nasser
Prev by Date:
**Re: Sneaky white space**
Next by Date:
**Re: Locator Manipulate**
Previous by thread:
**Re: How to find the eigenvalues/eigenfunctions of a**
Next by thread:
**Re: checking large scale linear programming solution with**
| |