Analytical method to solve a system of ODEs

Click For Summary

Discussion Overview

The discussion revolves around the analytical methods for solving a system of fourth-order ordinary differential equations (ODEs) represented in matrix form. Participants explore the applicability of the eigenvalue method and consider the properties of the coefficient matrix involved in the system.

Discussion Character

  • Exploratory
  • Technical explanation
  • Mathematical reasoning

Main Points Raised

  • One participant presents a system of fourth-order ODEs and inquires whether the eigenvalue method is sufficient for solving it.
  • Another participant suggests checking the properties of the coefficient matrix A, particularly its condition number and whether the eigenvectors form a basis.
  • A participant reports using MATLAB to check the condition number of A, finding it generally around 30, but sometimes as high as 1000, indicating potential ill-conditioning.
  • The same participant confirms that the product of the eigenvalues is not close to zero and that the eigenvectors are linearly independent, as indicated by the identity matrix from the rref() function.
  • There is a suggestion that comparing the analytical solution with a stable numerical solution, such as those obtained from Runge-Kutta methods, could provide validation for the analytical approach.

Areas of Agreement / Disagreement

Participants express varying levels of confidence in the eigenvalue method for solving the system of ODEs. While some provide supportive comments regarding the analytical approach, others raise concerns about the condition of the matrix and suggest alternative methods without reaching a consensus on the best approach.

Contextual Notes

The discussion highlights the importance of matrix properties in determining the suitability of the eigenvalue method, but does not resolve the implications of the condition number or the effectiveness of alternative methods for solving the system of ODEs.

BlackTulip
Messages
5
Reaction score
0
Hello All,

I am new to this community but by reviwwing the questions and answers posted in this forum I was encouraged to share my question with you and I hope you can help me.

I have a system of 4th order ordinary differential equations for several functions which I call them:

y_1,y_2, ..., y_n and all of them are single variable functions e.g. y_1 = f(x)

The system looks like:

\left\{y_1', y_1'', y_1''', y_1^{(4)}, y_2', y_2'', y_2''', y_2^{(4)}, ... y_n', y_n'', y_n''', y_n^{(4)}\right\}^{T}=\left[A\right] \left\{y_1, y_1', y_1'', y_1''', y_2, y_2', y_2'', y_2''', ... y_n, y_n', y_n'', y_n'''\right\}^{T}

Where \left[A\right] is the coefficient matrix.

In short form this equation can be written as:
\left\{Y'\right\} = \left[A\right] \left\{Y\right\}

Now, my question is that if the eigenvalue method is accurate enough to solve this system of equation or I should use a different method to solve such system of ODEs.

I am waiting for your valuable comments.
 
Physics news on Phys.org
Hey BlackTulip and welcome to the forums.

Have you checked the properties of A? Is it ill-conditioned?

If it is ill-conditioned then it means that the product of the eigen-values for one are close to zero if I recall correctly (and you should verify all things for yourself).

The other thing I guess to check is whether the set of eigenvectors forms a basis.

Have you come across how to check the condition of a matrix and how to use that for getting solutions to a variety of linear systems problems?
 
Thank you Chiro for your comments.

I used cond() function in Matlab to check if A is ill-conditioned. The condition number of A is not close to 1. Normally it is around 30. But in some cases it is around 1000.

I checked the product of the eigenvalues of A and in most cases it is not close to zero.

To check if the eigenvectors form a basis I used rref() function and in all cases it gave me identity matrix which implies that the eigenvectors are all linearly independents.


Taking all these into account do you think the method that I use to solve the system of ODE is an appropriate one?

I am curious to know if any of the cases that you mentioned occur what would be the best method to solve the system of ODEs analytically.

Thanks
 
BlackTulip said:
Thank you Chiro for your comments.

I used cond() function in Matlab to check if A is ill-conditioned. The condition number of A is not close to 1. Normally it is around 30. But in some cases it is around 1000.

I checked the product of the eigenvalues of A and in most cases it is not close to zero.

To check if the eigenvectors form a basis I used rref() function and in all cases it gave me identity matrix which implies that the eigenvectors are all linearly independents.

Taking all these into account do you think the method that I use to solve the system of ODE is an appropriate one?

I am curious to know if any of the cases that you mentioned occur what would be the best method to solve the system of ODEs analytically.

Thanks

The above sounds good.

There is one thing that is always good for checking whether a solution (i.e. analytic) is good: you compare it against a stable numerical solution.

If you are a bit unsure about whether an analytic solution is valid, it's always a good idea to run a numerical solution using something like Runge-Kutta or some other valid scheme and then see how the two compare.

Any kind of thing like this is always useful and if you ever get in a situation where you are unsure and need some verification, this is always a good thing to think about.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 2 ·
Replies
2
Views
4K
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 23 ·
Replies
23
Views
2K
Replies
10
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K