U.P.B. Sci. Bull., Series …, Vol. …,

18
U.P.B. Sci. Bull., Series …, Vol. …, No. …, 2008 ISSN 1223-7027 THE NEWEST MEMBER OF THE FAMILY OF UTILITY SOFTWARE FOR NUMERICAL CALCULATION NUMERICAL ENGINEERING SOFTWARE Romulus MILITARU 1 , ADRIAN CĂLIN 2 , George CĂLUGĂRU 3, Adrian GEORGESCU 4 Proiectul prezentat in aceasta lucrare intitulat Asistent de Calcul Numeric( Numerical Engineering Software in versiunea in limba engleza) este o solutie integrata care inglobeaza o gama variata de metode numerice pentru efectuarea de diverse calcule si aproximatii matematice . Programul este constituit in stadiul actual de dezvoltare din 5 capitole : Aplicatii Matriciale, Aproximari Functii , Aplicatii Polinomiale, Evaluare Integrale, Probleme Cauchy.Programul lucreaza prin intermediul unor ferestre de aplicatie dedicate, caracteristice fiecarei operatii ce poate fi calculata si se bucura de posibilitatea impunerii unei precizii de catre utilizator peste tot acolo unde este necesar The project presented in this paper entitled Asistent de Calcul Numeric (Numerical Engineering Software in the English version) is an integrated solution which contains a various range of numerical methods for the solving of diverse calculations and mathematical approximations . The program consists at the current stage of development of 5 chapters : Matrix Algebra, Polynomial Approximations, Roots of Equations , Numerical Integration and Cauchy Problems. The program works through dedicated application windows characteristic to each operation that can be performed 1 Department of Applied Mathematics, University of Craiova, Romania 2 Faculty of Mathematics and Computer Science, University of Craiova , Romania 3 Faculty of Automation , Computers and Electronics, University of Craiova , Romania 4 Faculty of Automation , Computers and Electronics, University of Craiova, Romania

description

Article discribing the functionality of Numerical Engineering Software, an integrated numerical solution for applications ranging from matrix algebra to differential equations

Transcript of U.P.B. Sci. Bull., Series …, Vol. …,

Page 1: U.P.B. Sci. Bull., Series …, Vol. …,

U.P.B. Sci. Bull., Series …, Vol. …, No. …, 2008 ISSN 1223-7027

THE NEWEST MEMBER OF THE FAMILY OF UTILITY

SOFTWARE FOR NUMERICAL CALCULATION NUMERICAL ENGINEERING SOFTWARE

Romulus MILITARU1, ADRIAN CĂLIN2 ,

George CĂLUGĂRU3, Adrian GEORGESCU4

Proiectul prezentat in aceasta lucrare intitulat Asistent de Calcul Numeric( Numerical Engineering Software in versiunea in limba engleza) este o solutie integrata care inglobeaza o gama variata de metode numerice pentru efectuarea de diverse calcule si aproximatii matematice . Programul este constituit in stadiul actual de dezvoltare din 5 capitole : Aplicatii Matriciale, Aproximari Functii , Aplicatii Polinomiale, Evaluare Integrale, Probleme Cauchy.Programul lucreaza prin intermediul unor ferestre de aplicatie dedicate, caracteristice fiecarei operatii ce poate fi calculata si se bucura de posibilitatea impunerii unei precizii de catre utilizator peste tot acolo unde este necesar

The project presented in this paper entitled Asistent de Calcul Numeric (Numerical Engineering Software in the English version) is an integrated solution which contains a various range of numerical methods for the solving of diverse calculations and mathematical approximations . The program consists at the current stage of development of 5 chapters : Matrix Algebra, Polynomial Approximations, Roots of Equations , Numerical Integration and Cauchy Problems. The program works through dedicated application windows characteristic to each operation that can be performed and enjoys de possibility of imposing a precision by the user everywhere is necessary.

Keywords: linear systems, eigenvalues and eigenvectors, interpolation, numerical integration, Cauchy problems, mathematical software.

1. Introduction1 Department of Applied Mathematics, University of Craiova, Romania 2 Faculty of Mathematics and Computer Science, University of Craiova , Romania 3 Faculty of Automation , Computers and Electronics, University of Craiova , Romania 4 Faculty of Automation , Computers and Electronics, University of Craiova, Romania

Page 2: U.P.B. Sci. Bull., Series …, Vol. …,

R. Militaru , A. Calin. , G. Calugaru, A. Georgescu

The project presented in this paper is called Numerical Engineering Software and is a numerical calculation utilitarian software developed in Craiova by a miscellaneous team from The Faculty of Automation , Computers and Electronics , The Faculty of Mathematics and Computer Science and The Department of Applied Mathematics all belonging to the University of Craiova.

The project development started from the idea of creating a computer program that can be used in laboratories and can be used as a guide for students and MBA’s alike through its user-friendly interface, helping them to achieve viable results in the smallest amount of time possible and with the minimum effort possible.

The program is achieving new stages of development very fast and is therefore considered a very dynamic solution.

The team of developers has sought to set the basic standards in portability and flexibility for the program to be of real support to the segment intended for.

We consider these basic standards to be in the lines of: possibility of imposing precision of calculation , the special dedicated application windows for every problem that can be solved with the project and the text editor implemented in every section of the program which gives the user the possibility to saves the processed data in special files with the .nes extension.

Numerical Engineering Software is also a cross-platform application being able to perform in operating systems such as Windows, MAC OS X and Sun.

The current version of the program consists of 5 chapters: Matrix Algebra, Polynomial Approximations, Roots of Equations, Numerical Integration and Cauchy Problems.

This level of development has been achieved by successive research and implementation stages starting from a nucleus called Numsoft , a rough version , very inflexible with no optimization stages implemented, to the current day Numerical Engineering Software.

The program was thought of as a Romanian interface software , but in order to appeal to more users and make technical terminology familiar to as many users as possible , versions in English and French were implemented successfully.

The applications which can find their solutions through the Numerical Engineering Software are as follows:

- For the Matrix Algebra chapter the user can approach the following problems: the calculation of the inverse of a matrix , of a linear algebraic system , of the eigenvalues and eigenvectors , of the characteristic polynomial and the bringing of a matrix to the Frobenius Normal Form.

- For the Polynomial Approximations chapter the user can approach the following problems: the approximation of a function depending on a given set of data points for which its value is known and approximate graphic profile visualization.

Page 3: U.P.B. Sci. Bull., Series …, Vol. …,

The Newest Member of the Family of Utility Software For Numerical CalculationNumerical Engineering Software

- For the Roots of Equations chapter the user can calculate the roots of a polynomial.

- For the Numerical Integration chapter the user can estimate the value of simple and double integrals, the latter having the characteristic of being defined by a convex boundary domain.

- For the Cauchy Problems chapter the user can solve initial value problems for ordinary differential equations and superior order differential equations.

The complete list of methods through which these problems are solved will displayed and presented further in this report.

The input data can be inducted in Numerical Engineering Software with the benefit of usual basic mathematic functions : sine( sin(variable) ) , cosine (cos(variable)) , tangent (tan(variable)) , cotangent(ctg(variable)), exponential function (exp(variable)).

Although the research for Numerical Engineering Software was extensive and continues to bring about more challenges, the need for optimization was abruptly felt in a previous stage of development. The session of optimization of the project was implemented successfully and involves several innovations that give a bonus to the complexity and viability of Numerical Engineering Software.

A section of this report will de dedicated especially for the detailing of the results we obtained in matters of optimization.

The development of Numerical Engineering Software is far from over and the team of developers has a distinct set of guidelines which will continue to follow in order to supply a larger number of users with solutions to a greater range of problems.

The current directions of research followed in the development of Numerical Engineering Software include: finalization of the differential equations chapter and the optimization of the methods included in this chapter, finalization of the linear algebra chapters , the study of numerical methods for non-linear types of problems(e.g. nonlinear systems) , improvements to the graphic approximations section in visualization and the implementation of 3D graphs visualization and improvements of the text editor.

Page 4: U.P.B. Sci. Bull., Series …, Vol. …,

R. Militaru , A. Calin. , G. Calugaru, A. Georgescu

2. List of numerical methods included

Numerical Engineering Software contains a various range of numerical methods for the solving of diverse mathematical and technical problems. It is a well-known fact that in numerical analysis there several methods for the solving of a problem. Therefore, selection criteria for the numerical methods implemented where established early on in order to avoid redundancies in the project and keep the computational cost as low as possible.

The most important criterion that is a fundamental principle in numerical analysis is that of computational cost. The optimization procedures can be seen as effective if the initial computational cost decreases visibly.

Another criterion important in the selection of numerical methods is that of compatibility among methods.

The following is a list of the stable numerical methods already implemented in Numerical Engineering Software by chapters.

1. MATRIX ALGEBRA

The solving of linear algebraic systems and matrix calculus operations are included in the field of linear algebra involved in various scientific problems:- problems depending on a finite number of freedom degrees, represented through ordinary differential equations or through equations with partial derivates are transformed with the help of finite differences into linear systems;- nonlinear problems are often solved (approximated) through linearization processes.- a great range of engineering problems from the fields of electrical wiring, structure analysis, building projects, ships, planes, the transport of liquids and gases through pipes, all rely on a linear system for solving. 

The methods included in the first chapter are:-Gauss elimination method of inverting a matrix-iterative method of inverting a matrix-iterative Seidel-Gauss method for large linear systems-iterative Seidel-Gauss method for sparse matrix linear systems-LR factorization for the solving a linear system-LR factorization for tridiagonal matrix systems-LR factorization for pentadiagonal matrix systems-Fadeev method for determining the characteristic polynomial-Danilevski method for obtaining eigenvalues and eigenvectors-LR method for the calculation of eigenvalues(covering all particular

cases)

Page 5: U.P.B. Sci. Bull., Series …, Vol. …,

The Newest Member of the Family of Utility Software For Numerical CalculationNumerical Engineering Software

-Militaru method for the calculation of the extreme eigenvalues of a symmetric matrix (based on succesive approximations)

2. INTERPOLATION AND POLYNOMIAL APPROXIMATION

The need for function approximations arises in many branches of applied mathematics, and computer science in particular. In general, a function approximation problem asks us to select a function among a well-defined class that closely matches ("approximates") a target function in a task-specific way.To some extent the different problems (regression, classification) have received a unified treatment in statistical learning theory, where they are viewed as supervised learning problems.

The methods included in this chapter:-Lagrange interpolating polynomial-Discrete least square approximation-Newton Polynomial-Cubic Spline 1-Cubic Spline 2

3. LOCATING ROOTS OF EQUATIONS

The method included in this chapter is the famous and reliable Bairstow method for the calculus of the roots (real or complex) of an algebraic equation.

4. NUMERICAL INTEGRATION

The methods included in this chapter are:-Newton integration method for evaluating simple integrals-a method for evaluating double integrals with convex boundary domains

5. CAUCHY PROBLEMS

Ordinary or partially derived differential equations represent mathematical models for the majority of engineering problems: the studyof efforts to which resistance elements are exposed: bars, pillars, thin plates, thick plates, pipes; the study of electrical fields indielectrics problems, magnetic and thermal fields, the propagation of all types of waves and the list goes on.Once the physical phenomenon and the differential equations that govern it, boundary conditions and coefficients are stated, only one

Page 6: U.P.B. Sci. Bull., Series …, Vol. …,

R. Militaru , A. Calin. , G. Calugaru, A. Georgescu

issue remains: the solving of this mathematical model. For various reasons: physical differences, boundaries with an unusual geometryetc., the solving of this mathematical model will consist of the search for an approximate solution using the computer – the numerical computation. 

The methods included in this chapter are:-Euler method for the solving of a Cauchy I-st order problem.-a Runge-Kutta 4-th order method for solving Cauchy I-st order problems.-a method for the solving of superior order differential equations

3. The interface of Numerical Engineering Software

The interface of Numerical Engineering Software is composed of special dedicated application windows for every problem that can be solved through the program.

These application windows emerged from the need to gain flexibility and the need to keep the restrictions of the methods on hand at all times.

Most of the methods benefit from the possibility of imposing the precision of calculation, an invaluable asset to a specialist trying to solve various technical problems.

For the processing of large amounts of data, a text editor has been implemented with the possibility of saving input data to be processed at a later time, files with the special extension .nes.

The most significant points of the interface of Numerical Engineering Software is presented in the figure complete with sets of input data in order to underline all the capabilities and aspects of the interface.

Page 7: U.P.B. Sci. Bull., Series …, Vol. …,

The Newest Member of the Family of Utility Software For Numerical CalculationNumerical Engineering Software

Fig.1. The linear algebraic system calculation window using the English version of Numerical Engineering Software.

Fig. 2. The calculus of eigenvalues and eigenvectors using the English version .

Page 8: U.P.B. Sci. Bull., Series …, Vol. …,

R. Militaru , A. Calin. , G. Calugaru, A. Georgescu

Fig.3. The bringing of the matrix to the Frobenius Normal Form using a fnf.nes file for importing data

Fig. 4. The approximate graphic visualization of a cosine function using the Romanian interface

Page 9: U.P.B. Sci. Bull., Series …, Vol. …,

The Newest Member of the Family of Utility Software For Numerical CalculationNumerical Engineering Software

Fig.5. A Cauchy Superior Order Problem using the Romanian version of Numerical Engineering Software.

Fig. 6. A double integral evaluation using the French version of Numerical Engineering Software

Page 10: U.P.B. Sci. Bull., Series …, Vol. …,

R. Militaru , A. Calin. , G. Calugaru, A. Georgescu

Fig. 7. An initial value problem for O.D.E. using a Runge-Kutta 4-th order method in the French version of Numerical Engineering Software

4. Optimization sequences in Numerical Engineering Software

Optimization played an important role in the development of Numerical Engineering Software. The optimizations we implemented help us further the development of the project one inch nearer to completion.

First steps of optimization started with the development of program sequences in order to treat all particular cases of a method (e.g. Danilevski method for the calculus of eigenvalues and an eigenvector characteristic to one eigenvalue) and ran until the development of new numerical methods ( e.g. Militaru method for the calculus of extreme eigevalues of a symmetric matrix).

The most complex problems of optimization are list below in this section :

1. Cauchy Superior Order Problems are solved numerically through a compact procedure based on a Runge-Kutta 4-th order method, dependingon an imposed integration step introduced by the user.

Page 11: U.P.B. Sci. Bull., Series …, Vol. …,

The Newest Member of the Family of Utility Software For Numerical CalculationNumerical Engineering Software

2. Runge-Kutta methods (I and IV) allow the display of the approximative values of the exact solution belonging to an initial value problem 

for ordinary differencial equations with an integration step selected by the user.The accuracy of the result can be imposedby the user by inducting the precision of the calculations.

3. The Danilevsky method determines the coefficients of the characteristic polynomial, eigenvalues and eigenvectors for any square matrix.All the particular cases are covered, the algorithm having a minimal cost of computation.

4. The LR method allows the determination of the eigenvalues of a square matrix. The algorithm gives the possibility of working with a givenprecision. The algorithm is complete with all particular cases and has a minimal cost of computation.

5. The Militaru method allows the numerical approximation of the extreme eigenvalues of a symmetric matrix with a given precision. The algorithmavoids the determination of the coefficients of the characteristic polynomial of the given matrix, or the use of similarity transformations, with the purpose of eliminating the intermediate stages of calculation which lead to numerical instability. This algorithm also benefits from an optimum cost of computation.

6. The Lagrange polynomial allows the approximation of a function known only for her values in a discrete multitude of data points. The algorithm evaluates the value of the function in a given data point z, based on a Lagrange polynomial with a degree imposed by the user.You can also visualize the approximate profile of the function with an option for scaling the graph and several other appearance options.

5. Conclusions

The Numerical Engineering Software was created to be of real support to any person that needs to find or approximate a solution to a technical problem through numerical analysis.

As for its utility, the Numerical Engineering Software has many solutions to applications both for engineers and mathematicians alike.

Every person working in a technical field can appreciate the benefits of software with an easy to use interface and the fact that almost everywhere the developers have implemented the possibility of imposing the user’s precision of calculation. This performance of calculation with any given precision is one of the strongest assets of Numerical Engineering Software.

Page 12: U.P.B. Sci. Bull., Series …, Vol. …,

R. Militaru , A. Calin. , G. Calugaru, A. Georgescu

The implementation of numerical methods focusing on the differential equation chapter of mathematics is essential for engineers and the project personnel wishes to exploit this chapter further and give it its final touch as soon as possible.

In conclusion, the development of Numerical Engineering Software follows its regular course, but is far from over.

The team of developers can implement many other numerical methods in Numerical Engineering Software, thus offering the possibility of finding solutions for more problems still, with an interesting diversification in the domains the program wishes to explore. (e.g. automation characteristic modules will be implemented in the nearby future).

We hope Numerical Engineering Software will prove itself to be of real value to local academics.

R E F E R E N C E S

Burden, R. L., Faires, J. D. (2004) Numerical Analysis, Brooks Cole Ed.Ciarlet, P.G. (1990) Introduction à l'Analyse Numérique et l'Optimisation, Ed. Masson, Paris.Chatelin, F. (1983) Spectral approximation of linear operators, Academic Press, New York. Demidovici, B., Maron, I.(1973) Éléments de Calcul Numérique, Ed. Mir Moscou. Dincă, A. ,Ebâncă, D. , Ţăndăreanu, N.(1984) Calcul numeric şi aplicaţii, Univ. din Craiova.Ebâncă, D., (2005) Metode numerice in algebră, Editura Sitech , Craiova. Leader, J.J.(2004) Numerical Analysis and Scientific Computation, Addison-Wesley.Militaru, R. (2003) A polynomial interpolation algorithm for estimating a numerical function, Annals of University of Craiova , Math. Comp. Sci. Ser., Volume 30(2), pag. 1-7, ISSN 1223-6934.Militaru, R.(2006) On the Newton’s iterative method for the characteristic equation of a real symmetric matrix, IEEE Computer Soc., Eighth International Symposium on Symbolic and Numeric Algorithms for Scienctific Computing (SYNASC 2006), ISBN 0-7695-2740-x, pg. 175-180, 2006.Militaru, R. (2008) Méthodes Numériques. Théorie et Applications, Editura Sitech, Craiova. Militaru, R., Calin, L.,Calugaru, G., Georgescu, A. (2008) Numerical Engineering Software, Analele Universitatii Spiru Haret , Seria Matematica-Informatica, Bucuresti (accepted for publication).Philips, G., Taylor, T.(1999) Theory and Applications of Numerical Analysis, Academic Press. Popa, M., Militaru, R.(2003) Analiză Numerică , Note de curs, Editura Sitech, Craiova. Popa,  M., Militaru, R.(2007)  Metode numerice - algoritmi şi aplicaţii, Editura Sitech, Craiova.Press, H.W., Teukolsky, S.A., Veterling, T.W., Flannery, B.P.(2007) Numerical Recipes 3-rd  Edition, Cambridge University Press.Ueberhuber, C.W. (1997) Numerical Computations. Methods, software and analysis, Springer-Verlag.

Page 13: U.P.B. Sci. Bull., Series …, Vol. …,

The Newest Member of the Family of Utility Software For Numerical CalculationNumerical Engineering Software