Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Help with minimization of Eigenvalues

  • To: mathgroup at smc.vnet.net
  • Subject: [mg87779] Re: Help with minimization of Eigenvalues
  • From: "Jean-Marc Gulliet" <jeanmarc.gulliet at gmail.com>
  • Date: Wed, 16 Apr 2008 22:32:30 -0400 (EDT)
  • References: <fu4ll6$sfq$1@smc.vnet.net> <480602EA.8010102@gmail.com>

Chimico wrote:

> I am trying to minimize a particular eigenvalue of a generalized
> eigenvalue problem that depends on a few parameters. I have the
> following problem:
> 
> Suppose we have two matrices s and m like these (the real matrices are
> much more complicated)
> 
> m = {{a, b}, {b, -a + 1}}
> 
> s = {{1, 0}, {0, 3a}}
> 
> If I define the function Eig
> 
> Eig[a_, b_] := Eigenvalues[{m, s}]//First
> 
> And use it with the FindMinimum function it does not work.
> Infact just calling
> 
> Eig[1,2] gives the error
> 
> Eigenvalues::gfargs:
>    Generalized Eigenvalues
>      arguments accept only matrices with machine real
>       and complex elements. More...
> 
> Even inserting Evaluate[] into the Eigenvalues function does not work.
> What am I doing wrong?

Your function Eig[a, b] does *not* use or pass its arguments to the 
matrices m and s. (In other words, the values a and b on the LHS are not 
used on the RHS: the matrices still hold the symbols a and b.) The 
following is one possible way to modify the value of a and b within the 
matrices m and s.

In[29]:= m = {{a, b}, {b, -a + 1}};
s = {{1, 0}, {0, 3 a}};
Eig[p_, q_] := Eigenvalues[N@{m, s} /. a -> p /. b -> q] // First
Eig[1, 2]

Out[32]= 1.75831

Moreover, though I am not sure to have fully understood what you tried 
to achieved, you might be interested in using the function 
CharacteristicPolynomial[] to compute the eigenvalues in a symbolic form 
and use these results to solve or minimize them.

In[46]:= CharacteristicPolynomial[{m, s}, x]

Out[46]= a - a^2 - b^2 - x + a x - 3 a^2 x + 3 a x^2

In[51]:= Reduce[CharacteristicPolynomial[{m, s}, x] == 0]

Out[51]= (x == -(1/3) &&
    a == 1/3 (-1 + 3 b^2)) || (1 + 3 x !=
     0 && (a == (
       1 + x + 3 x^2 -
        Sqrt[-4 (b^2 + x) (1 + 3 x) + (-1 - x - 3 x^2)^2])/(
       2 (1 + 3 x)) ||
      a == (1 + x + 3 x^2 +
        Sqrt[-4 (b^2 + x) (1 + 3 x) + (-1 - x - 3 x^2)^2])/(
       2 (1 + 3 x))))


Regards
-- Jean-Marc


  • Prev by Date: Re: If Integrate returns no result, can we conclude that no
  • Next by Date: Re: If Integrate returns no result, can we conclude that no closed-form
  • Previous by thread: Re: Help with minimization of Eigenvalues
  • Next by thread: Re: Help with minimization of Eigenvalues