using NDEigensystem to solve the Mathieu equation Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How to correctly use DSolve when the force is an impulse (dirac delta) and initial conditions are not zeroIndexing of Large Autonomous System of Equations for Use in NDSolveFEM Solution desired for “Plate with orifice” deflection: Application of Boundary Conditions and use of RegionsSolving an ODE using shooting methodHow to rescale the independent variable?Trouble with shooting method for a 4th-order stiff ODEFinding eigenvalues for Laplacian operator for 3D shape with Neumann boundary conditionsHow do you find the eigenvalues of a PDE (Dynamic Euler-Bernoulli beam)?How to evaluate the PDE solution dependent on the `RegionMarkers"?Using NDEigensystem to solve coupled eigenvalue problem

Does using the Inspiration rules for character defects encourage My Guy Syndrome?

Marquee sign letters

Why isPrototypeOf() returns false?

What is the purpose of the side handle on a hand ("eggbeater") drill?

What is the numbering system used for the DSN dishes?

Why did Israel vote against lifting the American embargo on Cuba?

Where to find documentation for `whois` command options?

Is it accepted to use working hours to read general interest books?

Is there an efficient way for synchronising audio events real-time with LEDs using an MCU?

Does Prince Arnaud cause someone holding the Princess to lose?

Was there ever a LEGO store in Miami International Airport?

Married in secret, can marital status in passport be changed at a later date?

Protagonist's race is hidden - should I reveal it?

What is a 'Key' in computer science?

Was Objective-C really a hindrance to Apple software development?

Stretch a Tikz tree

Does a Draconic Bloodline sorcerer's doubled proficiency bonus for Charisma checks against dragons apply to all dragon types or only the chosen one?

What helicopter has the most rotor blades?

What is the ongoing value of the Kanban board to the developers as opposed to management

Will I be more secure with my own router behind my ISP's router?

Is it appropriate to mention a relatable company blog post when you're asked about the company?

Raising a bilingual kid. When should we introduce the majority language?

Will I lose my paid in full property

Coin Game with infinite paradox



using NDEigensystem to solve the Mathieu equation



Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?How to correctly use DSolve when the force is an impulse (dirac delta) and initial conditions are not zeroIndexing of Large Autonomous System of Equations for Use in NDSolveFEM Solution desired for “Plate with orifice” deflection: Application of Boundary Conditions and use of RegionsSolving an ODE using shooting methodHow to rescale the independent variable?Trouble with shooting method for a 4th-order stiff ODEFinding eigenvalues for Laplacian operator for 3D shape with Neumann boundary conditionsHow do you find the eigenvalues of a PDE (Dynamic Euler-Bernoulli beam)?How to evaluate the PDE solution dependent on the `RegionMarkers"?Using NDEigensystem to solve coupled eigenvalue problem










4












$begingroup$


To be able to apply the differentialequation capabilities of Mathematica to my graduate thesis, I am trying to apply NDEigensystem to an eigenproblem whose solution I know, but I am having some trouble doing so.



As a test problem, I am using an algebraic version of the Mathieu equation,



$$(1-zeta^2)w^primeprime-zeta w^prime+left(a+2q-4qzeta^2right)w=0$$



For this example I set $q=4/3$ and take only the first three eigenpairs:



m = 3; q = 4/3;
op = -(1 - ζ^2) u''[ζ] + ζ u'[ζ] + 2 q (2 ζ^2 - 1) u[ζ];
bc = DirichletCondition[u[ζ] == 0, True];
λ, fl = NDEigensystem[op, bc, u, ζ, 0, 1, m];


I chose the Mathieu equation as a nontrivial example as Mathematica already has a function for it's evaluation:



λt = Table[MathieuCharacteristicB[2 k, q], k, m];
flt = Table[With[j = j,
MathieuS[MathieuCharacteristicB[2 k, q], q, ArcCos[#]] &], k, m];


The problem is, I do not get the expected eigenvalues!



λ
(* 4.0708, 17.3259, 39.1877 *)
N[λt]
(* 3.85298, 16.0581, 36.0254 *)


And of course, plotting shows that the eigenequation is not satisfied at all:



With[u = fl[[1]], b = λ[[1]],
Plot[(1 - ζ^2) u''[ζ] - ζ u'[ζ] + (b + 2 q - 4 q ζ^2) u[ζ], ζ, 0, 1]]
With[u = flt[[1]], b = λt[[1]],
Plot[(1 - ζ^2) u''[ζ] - ζ u'[ζ] + (b + 2 q - 4 q ζ^2) u[ζ], ζ, 0, 1]]


What was wrong with my attempt? If I can get this example to work, I should be able to apply it to my actual, more complicated problem, so any Good Ideas would be welcome.










share|improve this question









New contributor




宮川園子 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$
















    4












    $begingroup$


    To be able to apply the differentialequation capabilities of Mathematica to my graduate thesis, I am trying to apply NDEigensystem to an eigenproblem whose solution I know, but I am having some trouble doing so.



    As a test problem, I am using an algebraic version of the Mathieu equation,



    $$(1-zeta^2)w^primeprime-zeta w^prime+left(a+2q-4qzeta^2right)w=0$$



    For this example I set $q=4/3$ and take only the first three eigenpairs:



    m = 3; q = 4/3;
    op = -(1 - ζ^2) u''[ζ] + ζ u'[ζ] + 2 q (2 ζ^2 - 1) u[ζ];
    bc = DirichletCondition[u[ζ] == 0, True];
    λ, fl = NDEigensystem[op, bc, u, ζ, 0, 1, m];


    I chose the Mathieu equation as a nontrivial example as Mathematica already has a function for it's evaluation:



    λt = Table[MathieuCharacteristicB[2 k, q], k, m];
    flt = Table[With[j = j,
    MathieuS[MathieuCharacteristicB[2 k, q], q, ArcCos[#]] &], k, m];


    The problem is, I do not get the expected eigenvalues!



    λ
    (* 4.0708, 17.3259, 39.1877 *)
    N[λt]
    (* 3.85298, 16.0581, 36.0254 *)


    And of course, plotting shows that the eigenequation is not satisfied at all:



    With[u = fl[[1]], b = λ[[1]],
    Plot[(1 - ζ^2) u''[ζ] - ζ u'[ζ] + (b + 2 q - 4 q ζ^2) u[ζ], ζ, 0, 1]]
    With[u = flt[[1]], b = λt[[1]],
    Plot[(1 - ζ^2) u''[ζ] - ζ u'[ζ] + (b + 2 q - 4 q ζ^2) u[ζ], ζ, 0, 1]]


    What was wrong with my attempt? If I can get this example to work, I should be able to apply it to my actual, more complicated problem, so any Good Ideas would be welcome.










    share|improve this question









    New contributor




    宮川園子 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$














      4












      4








      4





      $begingroup$


      To be able to apply the differentialequation capabilities of Mathematica to my graduate thesis, I am trying to apply NDEigensystem to an eigenproblem whose solution I know, but I am having some trouble doing so.



      As a test problem, I am using an algebraic version of the Mathieu equation,



      $$(1-zeta^2)w^primeprime-zeta w^prime+left(a+2q-4qzeta^2right)w=0$$



      For this example I set $q=4/3$ and take only the first three eigenpairs:



      m = 3; q = 4/3;
      op = -(1 - ζ^2) u''[ζ] + ζ u'[ζ] + 2 q (2 ζ^2 - 1) u[ζ];
      bc = DirichletCondition[u[ζ] == 0, True];
      λ, fl = NDEigensystem[op, bc, u, ζ, 0, 1, m];


      I chose the Mathieu equation as a nontrivial example as Mathematica already has a function for it's evaluation:



      λt = Table[MathieuCharacteristicB[2 k, q], k, m];
      flt = Table[With[j = j,
      MathieuS[MathieuCharacteristicB[2 k, q], q, ArcCos[#]] &], k, m];


      The problem is, I do not get the expected eigenvalues!



      λ
      (* 4.0708, 17.3259, 39.1877 *)
      N[λt]
      (* 3.85298, 16.0581, 36.0254 *)


      And of course, plotting shows that the eigenequation is not satisfied at all:



      With[u = fl[[1]], b = λ[[1]],
      Plot[(1 - ζ^2) u''[ζ] - ζ u'[ζ] + (b + 2 q - 4 q ζ^2) u[ζ], ζ, 0, 1]]
      With[u = flt[[1]], b = λt[[1]],
      Plot[(1 - ζ^2) u''[ζ] - ζ u'[ζ] + (b + 2 q - 4 q ζ^2) u[ζ], ζ, 0, 1]]


      What was wrong with my attempt? If I can get this example to work, I should be able to apply it to my actual, more complicated problem, so any Good Ideas would be welcome.










      share|improve this question









      New contributor




      宮川園子 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      To be able to apply the differentialequation capabilities of Mathematica to my graduate thesis, I am trying to apply NDEigensystem to an eigenproblem whose solution I know, but I am having some trouble doing so.



      As a test problem, I am using an algebraic version of the Mathieu equation,



      $$(1-zeta^2)w^primeprime-zeta w^prime+left(a+2q-4qzeta^2right)w=0$$



      For this example I set $q=4/3$ and take only the first three eigenpairs:



      m = 3; q = 4/3;
      op = -(1 - ζ^2) u''[ζ] + ζ u'[ζ] + 2 q (2 ζ^2 - 1) u[ζ];
      bc = DirichletCondition[u[ζ] == 0, True];
      λ, fl = NDEigensystem[op, bc, u, ζ, 0, 1, m];


      I chose the Mathieu equation as a nontrivial example as Mathematica already has a function for it's evaluation:



      λt = Table[MathieuCharacteristicB[2 k, q], k, m];
      flt = Table[With[j = j,
      MathieuS[MathieuCharacteristicB[2 k, q], q, ArcCos[#]] &], k, m];


      The problem is, I do not get the expected eigenvalues!



      λ
      (* 4.0708, 17.3259, 39.1877 *)
      N[λt]
      (* 3.85298, 16.0581, 36.0254 *)


      And of course, plotting shows that the eigenequation is not satisfied at all:



      With[u = fl[[1]], b = λ[[1]],
      Plot[(1 - ζ^2) u''[ζ] - ζ u'[ζ] + (b + 2 q - 4 q ζ^2) u[ζ], ζ, 0, 1]]
      With[u = flt[[1]], b = λt[[1]],
      Plot[(1 - ζ^2) u''[ζ] - ζ u'[ζ] + (b + 2 q - 4 q ζ^2) u[ζ], ζ, 0, 1]]


      What was wrong with my attempt? If I can get this example to work, I should be able to apply it to my actual, more complicated problem, so any Good Ideas would be welcome.







      differential-equations finite-element-method






      share|improve this question









      New contributor




      宮川園子 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      宮川園子 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 49 mins ago









      user21

      21k55998




      21k55998






      New contributor




      宮川園子 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 2 hours ago









      宮川園子宮川園子

      211




      211




      New contributor




      宮川園子 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      宮川園子 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      宮川園子 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          2 Answers
          2






          active

          oldest

          votes


















          3












          $begingroup$

          If you refine the mesh, you will get closer:



          m = 3; q = 4/3;
          op = -(1 - [Zeta]^2) u''[[Zeta]] + [Zeta] u'[[Zeta]] +
          2 q (2 [Zeta]^2 - 1) u[[Zeta]];
          bc = DirichletCondition[u[[Zeta]] == 0, True];
          [Lambda], fl =
          NDEigensystem[op, bc, u, [Zeta], 0, 1, m,
          Method -> "PDEDiscretization" -> "FiniteElement", "MeshOptions"
          -> "MaxCellMeasure" -> 0.00001];

          [Lambda]
          3.855, 16.074, 36.064

          [Lambda]t = Table[MathieuCharacteristicB[2 k, q], k, m];
          flt = Table[
          With[j = j,
          MathieuS[MathieuCharacteristicB[2 k, q], q, ArcCos[#]] &], k, m];

          [Lambda]t // N
          3.852, 16.058, 36.025





          share|improve this answer









          $endgroup$




















            2












            $begingroup$

            It looks to me like NDEigensystem is struggling with the singularity at $zeta=1$, as does the method that I'm going to show. But perhaps it'll be useful for you, at least as a cross-check.



            I have a package for numerically calculating solutions of eigenvalue problems using the Evans function via the method of compound matrices, which is hosted on github. See my answers to other questions, the example notebook on the github or this introduction for some more details.



            First we install the package (only need to do this the first time):



            Needs["PacletManager`"]
            PacletInstall["CompoundMatrixMethod",
            "Site" -> "http://raw.githubusercontent.com/paclets/Repository/master"]


            Then we first need to turn the ODEs into a matrix form $mathbfy'=mathbfA cdot mathbfy$, using my function ToMatrixSystem:



            Needs["CompoundMatrixMethod`"]
            sys[ζend_] = ToMatrixSystem[op == a u[ζ], u[0] == 0, u[ζend] == 0, u, ζ, 0, ζend, a]


            Now the function Evans will calculate the Evans function (also known as the Miss-Distance function) for any given value of $a$ and $zeta_end$; this is an analytic function whose roots coincide with eigenvalues of the original equation.



            Plugging in $zeta_end = 1$ fails due to the singularity, but you can try moving the endpoint slightly away:



            FindRoot[Evans[a, sys[1 - 10^-3]], a, 3]
            (* a -> 4.00335 *)


            Moving the endpoint closer approaches the correct value, but I can't get the exact value with this method.



            FindRoot[Evans[a, sys[1 - 10^-10], WorkingPrecision -> 30], a, 3, 
            WorkingPrecision -> 30] // Quiet
            (* a -> 3.85301 *)


            You can see the same effect for the other roots.






            share|improve this answer









            $endgroup$













              Your Answer








              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "387"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader:
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              ,
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );






              宮川園子 is a new contributor. Be nice, and check out our Code of Conduct.









              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f196891%2fusing-ndeigensystem-to-solve-the-mathieu-equation%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              3












              $begingroup$

              If you refine the mesh, you will get closer:



              m = 3; q = 4/3;
              op = -(1 - [Zeta]^2) u''[[Zeta]] + [Zeta] u'[[Zeta]] +
              2 q (2 [Zeta]^2 - 1) u[[Zeta]];
              bc = DirichletCondition[u[[Zeta]] == 0, True];
              [Lambda], fl =
              NDEigensystem[op, bc, u, [Zeta], 0, 1, m,
              Method -> "PDEDiscretization" -> "FiniteElement", "MeshOptions"
              -> "MaxCellMeasure" -> 0.00001];

              [Lambda]
              3.855, 16.074, 36.064

              [Lambda]t = Table[MathieuCharacteristicB[2 k, q], k, m];
              flt = Table[
              With[j = j,
              MathieuS[MathieuCharacteristicB[2 k, q], q, ArcCos[#]] &], k, m];

              [Lambda]t // N
              3.852, 16.058, 36.025





              share|improve this answer









              $endgroup$

















                3












                $begingroup$

                If you refine the mesh, you will get closer:



                m = 3; q = 4/3;
                op = -(1 - [Zeta]^2) u''[[Zeta]] + [Zeta] u'[[Zeta]] +
                2 q (2 [Zeta]^2 - 1) u[[Zeta]];
                bc = DirichletCondition[u[[Zeta]] == 0, True];
                [Lambda], fl =
                NDEigensystem[op, bc, u, [Zeta], 0, 1, m,
                Method -> "PDEDiscretization" -> "FiniteElement", "MeshOptions"
                -> "MaxCellMeasure" -> 0.00001];

                [Lambda]
                3.855, 16.074, 36.064

                [Lambda]t = Table[MathieuCharacteristicB[2 k, q], k, m];
                flt = Table[
                With[j = j,
                MathieuS[MathieuCharacteristicB[2 k, q], q, ArcCos[#]] &], k, m];

                [Lambda]t // N
                3.852, 16.058, 36.025





                share|improve this answer









                $endgroup$















                  3












                  3








                  3





                  $begingroup$

                  If you refine the mesh, you will get closer:



                  m = 3; q = 4/3;
                  op = -(1 - [Zeta]^2) u''[[Zeta]] + [Zeta] u'[[Zeta]] +
                  2 q (2 [Zeta]^2 - 1) u[[Zeta]];
                  bc = DirichletCondition[u[[Zeta]] == 0, True];
                  [Lambda], fl =
                  NDEigensystem[op, bc, u, [Zeta], 0, 1, m,
                  Method -> "PDEDiscretization" -> "FiniteElement", "MeshOptions"
                  -> "MaxCellMeasure" -> 0.00001];

                  [Lambda]
                  3.855, 16.074, 36.064

                  [Lambda]t = Table[MathieuCharacteristicB[2 k, q], k, m];
                  flt = Table[
                  With[j = j,
                  MathieuS[MathieuCharacteristicB[2 k, q], q, ArcCos[#]] &], k, m];

                  [Lambda]t // N
                  3.852, 16.058, 36.025





                  share|improve this answer









                  $endgroup$



                  If you refine the mesh, you will get closer:



                  m = 3; q = 4/3;
                  op = -(1 - [Zeta]^2) u''[[Zeta]] + [Zeta] u'[[Zeta]] +
                  2 q (2 [Zeta]^2 - 1) u[[Zeta]];
                  bc = DirichletCondition[u[[Zeta]] == 0, True];
                  [Lambda], fl =
                  NDEigensystem[op, bc, u, [Zeta], 0, 1, m,
                  Method -> "PDEDiscretization" -> "FiniteElement", "MeshOptions"
                  -> "MaxCellMeasure" -> 0.00001];

                  [Lambda]
                  3.855, 16.074, 36.064

                  [Lambda]t = Table[MathieuCharacteristicB[2 k, q], k, m];
                  flt = Table[
                  With[j = j,
                  MathieuS[MathieuCharacteristicB[2 k, q], q, ArcCos[#]] &], k, m];

                  [Lambda]t // N
                  3.852, 16.058, 36.025






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 45 mins ago









                  user21user21

                  21k55998




                  21k55998





















                      2












                      $begingroup$

                      It looks to me like NDEigensystem is struggling with the singularity at $zeta=1$, as does the method that I'm going to show. But perhaps it'll be useful for you, at least as a cross-check.



                      I have a package for numerically calculating solutions of eigenvalue problems using the Evans function via the method of compound matrices, which is hosted on github. See my answers to other questions, the example notebook on the github or this introduction for some more details.



                      First we install the package (only need to do this the first time):



                      Needs["PacletManager`"]
                      PacletInstall["CompoundMatrixMethod",
                      "Site" -> "http://raw.githubusercontent.com/paclets/Repository/master"]


                      Then we first need to turn the ODEs into a matrix form $mathbfy'=mathbfA cdot mathbfy$, using my function ToMatrixSystem:



                      Needs["CompoundMatrixMethod`"]
                      sys[ζend_] = ToMatrixSystem[op == a u[ζ], u[0] == 0, u[ζend] == 0, u, ζ, 0, ζend, a]


                      Now the function Evans will calculate the Evans function (also known as the Miss-Distance function) for any given value of $a$ and $zeta_end$; this is an analytic function whose roots coincide with eigenvalues of the original equation.



                      Plugging in $zeta_end = 1$ fails due to the singularity, but you can try moving the endpoint slightly away:



                      FindRoot[Evans[a, sys[1 - 10^-3]], a, 3]
                      (* a -> 4.00335 *)


                      Moving the endpoint closer approaches the correct value, but I can't get the exact value with this method.



                      FindRoot[Evans[a, sys[1 - 10^-10], WorkingPrecision -> 30], a, 3, 
                      WorkingPrecision -> 30] // Quiet
                      (* a -> 3.85301 *)


                      You can see the same effect for the other roots.






                      share|improve this answer









                      $endgroup$

















                        2












                        $begingroup$

                        It looks to me like NDEigensystem is struggling with the singularity at $zeta=1$, as does the method that I'm going to show. But perhaps it'll be useful for you, at least as a cross-check.



                        I have a package for numerically calculating solutions of eigenvalue problems using the Evans function via the method of compound matrices, which is hosted on github. See my answers to other questions, the example notebook on the github or this introduction for some more details.



                        First we install the package (only need to do this the first time):



                        Needs["PacletManager`"]
                        PacletInstall["CompoundMatrixMethod",
                        "Site" -> "http://raw.githubusercontent.com/paclets/Repository/master"]


                        Then we first need to turn the ODEs into a matrix form $mathbfy'=mathbfA cdot mathbfy$, using my function ToMatrixSystem:



                        Needs["CompoundMatrixMethod`"]
                        sys[ζend_] = ToMatrixSystem[op == a u[ζ], u[0] == 0, u[ζend] == 0, u, ζ, 0, ζend, a]


                        Now the function Evans will calculate the Evans function (also known as the Miss-Distance function) for any given value of $a$ and $zeta_end$; this is an analytic function whose roots coincide with eigenvalues of the original equation.



                        Plugging in $zeta_end = 1$ fails due to the singularity, but you can try moving the endpoint slightly away:



                        FindRoot[Evans[a, sys[1 - 10^-3]], a, 3]
                        (* a -> 4.00335 *)


                        Moving the endpoint closer approaches the correct value, but I can't get the exact value with this method.



                        FindRoot[Evans[a, sys[1 - 10^-10], WorkingPrecision -> 30], a, 3, 
                        WorkingPrecision -> 30] // Quiet
                        (* a -> 3.85301 *)


                        You can see the same effect for the other roots.






                        share|improve this answer









                        $endgroup$















                          2












                          2








                          2





                          $begingroup$

                          It looks to me like NDEigensystem is struggling with the singularity at $zeta=1$, as does the method that I'm going to show. But perhaps it'll be useful for you, at least as a cross-check.



                          I have a package for numerically calculating solutions of eigenvalue problems using the Evans function via the method of compound matrices, which is hosted on github. See my answers to other questions, the example notebook on the github or this introduction for some more details.



                          First we install the package (only need to do this the first time):



                          Needs["PacletManager`"]
                          PacletInstall["CompoundMatrixMethod",
                          "Site" -> "http://raw.githubusercontent.com/paclets/Repository/master"]


                          Then we first need to turn the ODEs into a matrix form $mathbfy'=mathbfA cdot mathbfy$, using my function ToMatrixSystem:



                          Needs["CompoundMatrixMethod`"]
                          sys[ζend_] = ToMatrixSystem[op == a u[ζ], u[0] == 0, u[ζend] == 0, u, ζ, 0, ζend, a]


                          Now the function Evans will calculate the Evans function (also known as the Miss-Distance function) for any given value of $a$ and $zeta_end$; this is an analytic function whose roots coincide with eigenvalues of the original equation.



                          Plugging in $zeta_end = 1$ fails due to the singularity, but you can try moving the endpoint slightly away:



                          FindRoot[Evans[a, sys[1 - 10^-3]], a, 3]
                          (* a -> 4.00335 *)


                          Moving the endpoint closer approaches the correct value, but I can't get the exact value with this method.



                          FindRoot[Evans[a, sys[1 - 10^-10], WorkingPrecision -> 30], a, 3, 
                          WorkingPrecision -> 30] // Quiet
                          (* a -> 3.85301 *)


                          You can see the same effect for the other roots.






                          share|improve this answer









                          $endgroup$



                          It looks to me like NDEigensystem is struggling with the singularity at $zeta=1$, as does the method that I'm going to show. But perhaps it'll be useful for you, at least as a cross-check.



                          I have a package for numerically calculating solutions of eigenvalue problems using the Evans function via the method of compound matrices, which is hosted on github. See my answers to other questions, the example notebook on the github or this introduction for some more details.



                          First we install the package (only need to do this the first time):



                          Needs["PacletManager`"]
                          PacletInstall["CompoundMatrixMethod",
                          "Site" -> "http://raw.githubusercontent.com/paclets/Repository/master"]


                          Then we first need to turn the ODEs into a matrix form $mathbfy'=mathbfA cdot mathbfy$, using my function ToMatrixSystem:



                          Needs["CompoundMatrixMethod`"]
                          sys[ζend_] = ToMatrixSystem[op == a u[ζ], u[0] == 0, u[ζend] == 0, u, ζ, 0, ζend, a]


                          Now the function Evans will calculate the Evans function (also known as the Miss-Distance function) for any given value of $a$ and $zeta_end$; this is an analytic function whose roots coincide with eigenvalues of the original equation.



                          Plugging in $zeta_end = 1$ fails due to the singularity, but you can try moving the endpoint slightly away:



                          FindRoot[Evans[a, sys[1 - 10^-3]], a, 3]
                          (* a -> 4.00335 *)


                          Moving the endpoint closer approaches the correct value, but I can't get the exact value with this method.



                          FindRoot[Evans[a, sys[1 - 10^-10], WorkingPrecision -> 30], a, 3, 
                          WorkingPrecision -> 30] // Quiet
                          (* a -> 3.85301 *)


                          You can see the same effect for the other roots.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 27 mins ago









                          KraZugKraZug

                          3,49821130




                          3,49821130




















                              宮川園子 is a new contributor. Be nice, and check out our Code of Conduct.









                              draft saved

                              draft discarded


















                              宮川園子 is a new contributor. Be nice, and check out our Code of Conduct.












                              宮川園子 is a new contributor. Be nice, and check out our Code of Conduct.











                              宮川園子 is a new contributor. Be nice, and check out our Code of Conduct.














                              Thanks for contributing an answer to Mathematica Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid


                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.

                              Use MathJax to format equations. MathJax reference.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f196891%2fusing-ndeigensystem-to-solve-the-mathieu-equation%23new-answer', 'question_page');

                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Are there any AGPL-style licences that require source code modifications to be public? Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Force derivative works to be publicAre there any GPL like licenses for Apple App Store?Do you violate the GPL if you provide source code that cannot be compiled?GPL - is it distribution to use libraries in an appliance loaned to customers?Distributing App for free which uses GPL'ed codeModifications of server software under GPL, with web/CLI interfaceDoes using an AGPLv3-licensed library prevent me from dual-licensing my own source code?Can I publish only select code under GPLv3 from a private project?Is there published precedent regarding the scope of covered work that uses AGPL software?If MIT licensed code links to GPL licensed code what should be the license of the resulting binary program?If I use a public API endpoint that has its source code licensed under AGPL in my app, do I need to disclose my source?

                              2013 GY136 Descoberta | Órbita | Referências Menu de navegação«List Of Centaurs and Scattered-Disk Objects»«List of Known Trans-Neptunian Objects»

                              Mortes em março de 2019 Referências Menu de navegação«Zhores Alferov, Nobel de Física bielorrusso, morre aos 88 anos - Ciência»«Fallece Rafael Torija, o bispo emérito de Ciudad Real»«Peter Hurford dies at 88»«Keith Flint, vocalista do The Prodigy, morre aos 49 anos»«Luke Perry, ator de 'Barrados no baile' e 'Riverdale', morre aos 52 anos»«Former Rangers and Scotland captain Eric Caldow dies, aged 84»«Morreu, aos 61 anos, a antiga lenda do wrestling King Kong Bundy»«Fallece el actor y director teatral Abraham Stavans»«In Memoriam Guillaume Faye»«Sidney Sheinberg, a Force Behind Universal and Spielberg, Is Dead at 84»«Carmine Persico, Colombo Crime Family Boss, Is Dead at 85»«Dirigent Michael Gielen gestorben»«Ciclista tricampeã mundial e prata na Rio 2016 é encontrada morta em casa aos 23 anos»«Pagan Community Notes: Raven Grimassi dies, Indianapolis pop-up event cancelled, Circle Sanctuary announces new podcast, and more!»«Hal Blaine, Wrecking Crew Drummer, Dies at 90»«Morre Coutinho, que editou dupla lendária com Pelé no Santos»«Cantor Demétrius, ídolo da Jovem Guarda, morre em SP»«Ex-presidente do Vasco, Eurico Miranda morre no Rio de Janeiro»«Bronze no Mundial de basquete de 1971, Laís Elena morre aos 76 anos»«Diretor de Corridas da F1, Charlie Whiting morre aos 66 anos às vésperas do GP da Austrália»«Morreu o cardeal Danneels, da Bélgica»«Morreu o cartoonista Augusto Cid»«Morreu a atriz Maria Isabel de Lizandra, de "Vale Tudo" e novelas da Tupi»«WS Merwin, prize-winning poet of nature, dies at 91»«Atriz Márcia Real morre em São Paulo aos 88 anos»«Mauritanie: décès de l'ancien président Mohamed Mahmoud ould Louly»«Morreu Dick Dale, o rei da surf guitar e de "Pulp Fiction"»«Falleció Víctor Genes»«João Carlos Marinho, autor de 'O Gênio do Crime', morre em SP»«Legendary Horror Director and SFX Artist John Carl Buechler Dies at 66»«Morre em Salvador a religiosa Makota Valdina»«مرگ بازیکن‌ سابق نساجی بر اثر سقوط سنگ در مازندران»«Domingos Oliveira morre no Rio»«Morre Airton Ravagniani, ex-São Paulo, Fla, Vasco, Grêmio e Sport - Notícias»«Morre o escritor Flavio Moreira da Costa»«Larry Cohen, Writer-Director of 'It's Alive' and 'Hell Up in Harlem,' Dies at 77»«Scott Walker, experimental singer-songwriter, dead at 76»«Joseph Pilato, Day of the Dead Star and Horror Favorite, Dies at 70»«Sheffield United set to pay tribute to legendary goalkeeper Ted Burgin who has died at 91»«Morre Rafael Henzel, sobrevivente de acidente aéreo da Chapecoense»«Morre Valery Bykovsky, um dos primeiros cosmonautas da União Soviética»«Agnès Varda, cineasta da Nouvelle Vague, morre aos 90 anos»«Agnès Varda, cineasta francesa, morre aos 90 anos»«Tania Mallet, James Bond Actress and Helen Mirren's Cousin, Dies at 77»e