Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Practical Scientific Computing
Practical Scientific Computing
Practical Scientific Computing
Ebook357 pages2 hours

Practical Scientific Computing

Rating: 0 out of 5 stars

()

Read preview

About this ebook

Scientific computing is about developing mathematical models, numerical methods and computer implementations to study and solve real problems in science, engineering, business and even social sciences. Mathematical modelling requires deep understanding of classical numerical methods. This essential guide provides the reader with sufficient foundations in these areas to venture into more advanced texts.

The first section of the book presents numEclipse, an open source tool for numerical computing based on the notion of MATLAB®. numEclipse is implemented as a plug-in for Eclipse, a leading integrated development environment for Java programming. The second section studies the classical methods of numerical analysis. Numerical algorithms and their implementations are presented using numEclipse.

Practical scientific computing is an invaluable reference for undergraduate engineering, science and mathematics students taking numerical methods courses. It will also be a useful handbook for postgraduate researchers and professionals whose work involves scientific computing.
  • An invaluable reference for undergraduate engineering, science and mathematics students taking numerical methods courses
  • Guides the reader through developing a deep understanding of classical numerical methods
  • Features a comprehensive analysis of numEclipse including numerical algorithms and their implementations
LanguageEnglish
Release dateFeb 26, 2011
ISBN9780857092267
Practical Scientific Computing
Author

Muhammad Ali

Muhammad Ali’s core principles of confidence, conviction, dedication, giving, respect, and spirituality guided him and made him one of the most beloved symbols of peace and well-being in America and the world. First known for boxing, and later for his conscientious stance on the Vietnam War draft, Ali focused his awareness of the needs of his fellow citizens and those in the developing world to direct his good work. The United Nations named him a Messenger of Peace, and he was awarded the Presidential Medal of Freedom, as well as Amnesty International’s Lifetime Achievement Award. In September 2012, he was the recipient of the prestigious National Constitution Center Liberty Medal. Among his many projects, Muhammad cofounded the Muhammad Ali Center with his wife Lonnie, and contributed substantially to the awareness and research efforts regarding Parkinson’s disease. Visit the Muhammad Ali Center in Louisville, Kentucky, or online at AliCenter.org. He passed away in 2016.

Read more from Muhammad Ali

Related to Practical Scientific Computing

Related ebooks

Mathematics For You

View More

Related articles

Reviews for Practical Scientific Computing

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Practical Scientific Computing - Muhammad Ali

    reality.

    Part I

    1

    Introduction

    Computers were initially developed with the intention to solve numerical problems for military applications. The programs were written in absolute numeric machine language and punched in paper tapes. The process of writing programs, scheduling the execution in a batch mode and collection of results was long and complex. This tedious process did not allow any room for making mistakes. The late 1950s saw the beginning of research into numerical linear algebra. The emergence of FORTRAN as a language for scientific computation triggered the development of matrix computation libraries, i.e., EISPACK, LINPACK. The availability of these libraries did not ease the process of writing programs. Programmers still had to go through the cycle of writing, executing, collecting results and debugging. In the late 1970s, Cleve Moler developed the first version of MATLAB to ease the pain of his students. This version did not allow for M-files or toolboxes but it did have a set of 80 useful functions with support for matrix data type. The original version was developed in FORTRAN. The first commercial version released in 1984 was developed in C with support for M-files, toolboxes and plotting functions. MATLAB provided an interactive interface to the EISPACK and LINPACK. This eliminated the development cycle and the users were able to view the results of their commands immediately due to the very nature of an interpreter. Today, it is a mature scientific computing environment with millions of users worldwide.

    With all the good things that it offers, MATLAB is accessible to only those users who can afford to purchase the expensive license. There has been a number of attempts to develop an open source clone for MATLAB. The most notable among them are GNU Octave, Scilab and RLab. They provide matrices as a data type, support complex numbers, offer a rich set of mathematical functions and have the ability to define new functions using scripting language similar to MATLAB. There are many other tools in this domain and numEclipse is a new entrant in this arena.

    numEclipse is built as a plug-in for eclipse so before we delve into the details of numEclipse we need to look at eclipse. It is generally known as an Integrated Development Environment (IDE) for Java. In fact, it is more than just an IDE; it is a framework which can be extended to develop almost any application. The framework allows development of IDE for any programming language as a plug-in. The Java development support is also provided through a built-in plug-in called Java Development Toolkit (JDT). Today a number of programming languages like C/C++, Fortran, etc. are supported by eclipse. The aim behind the development of numEclipse as an eclipse plug-in was to develop an IDE for scientific computing. In the world of scientific tools, IDE means interactive development environment rather than integrated development environment. If you look at 3Ms (MATLAB, Mathematica & Maple) they are highly interactive due to the very nature of an interpreter and geared towards computational experimentations by individual users rather than supporting team based project development. The development of a scientific application could be a very complex task involving a large team with the need to support multiple versions of the application. This could not be achieved without a proper IDE with the notion of project and integration to source control repository. Sometimes, it is also desirable to write programs or functions in a highlevel programming language other than the native scripting language offered by the tool. A good IDE should provide the ability to write programs in more than one language with the support to compile, link, execute and test the programs within the same IDE. Fortunately, the design decision to develop numEclipse as an eclipse plug-in enabled all these capabilities. numEclipse implements a subset of MATLAB and GNU Octave’s scripting language, m-script, this allows development of modules in specialized areas like MATLAB toolboxes. The pluggable architecture provides the ability to override the basic mathematical operations like matrix multiplication and addition.

    In the following sections, we will learn to create a numEclipse project. We will look at the user interface including the numEclipse perspective and related views. We will also learn about using the interpreter for interactive computation as we would do in MATLAB or Octave. We will write and execute a program written in m-script which demonstrates the plotting features of numEclipse.

    1.1 Getting Started

    In this section, we will introduce the numEclipse working environment. We will learn how to create a numEclipse project. We will review the user interface including numEclipse perspective and views. Installation of numEclipse plug-in requires the latest java runtime environment and Graphical Modeling Framework (GMF) based eclipse installation. A step by step guide for installation and configuration is provided on the project website (http://www.numeclipse.org). Once the plug-in is successfully installed, configured and verified, we are ready to create our first project. This two step process is described as follows. Select eclipse menu File  New  Project. It will bring up New Project dialog box. Select the wizard numEclipse Project under the category numEclipse and click on Next button, as shown in figure 1.1. It will bring up the Project Wizard for numEclipse. Type the project name in the textbox and click on Finish button, as shown in figure 1.2. On successful completion of the above steps, you will see that a project has been created in your workspace. Also, you will notice that the Perspective is changed from Java to numEclipse, as shown in figure 1.3.

    Figure 1.1 Project Wizard.

    Figure 1.2 New numEclipse Project.

    Figure 1.3 numEclipse Perspective.

    Before looking at the numEclipse perspective (figure 1.3), it is important to understand the project structure just created. The navigator view on the left of the perspective shows the project. It consists of two folders (i.e. Interpreter and Source) and a default interpreter default.i created under folder Interpreter. If the navigator view’s filter does not block resources files then you will also be able to see the project file created for the numEclipse project. The central area of the window shows the default, i interpreter. This is where most of the user interaction happens. Here you will type the commands and look at the results, as shown in the following listing (listing

    Enjoying the preview?
    Page 1 of 1