Newbies What Next ? News Forums Calendar


News Sections
General News (3987/0)
Reviews (637/0)
Press Releases (465/0)
Distributions (197/0)
Software (911/0)
Hardware (537/0)
Security (192/0)
Tutorials (356/0)
Off Topic (181/0)

User Functions


Don't have an account yet? Sign up as a New User

There are no upcoming events

The 9 Best Free Fortran Books

The 9 Best Free Fortran Books

Individuals wanting to learn about the Fortran programming language have a wide variety of books to choose from. There are thousands of Fortran books that are in-print and available to download or buy at reasonable cost. However, there are also some good free books for Fortran.

Fortran (Formula translation) is a multi-paradigm programming language invented by John Backus of IBM in the 1950s. It is particularly notable for innovation; it was the first high-level language, using the first compiler.

The language is designed to be simple to understand, yet retains the efficiency in execution as assembly language - about 80% as efficient as assembly/machine code. Fortran is machine independent, and a problem oriented language. It is often used in the scientific community, particularly among physicists, and is designed for scientific numerical computing. Fortran allows for high parallelization, it is easy to optimize, and lends itself particularly well to computationally intensive fields such as finite element analysis, numerical weather prediction, computational physics, computational chemistry, and computational fluid dynamics.

Fortran has evolved over time, with various standards including Fortran IV, Fortran 77, Fortran 90 and Fortran 95. More recent revisions are Fortran 2003, and Fortran 2008. Since Fortran 9x, it has many structured programming features, dynamic memory, operator overloading, and primitive objects. It is both the language of the past, the current, and the future (high-performance computing is unlikely to cast aside Fortran). Despite its age, Fortran is still very much alive and kicking. Fortran has a vast number of libraries of code.

Linux has a good range of Fortran tools, both open source and commercial, including compilers, parsers, and static analysis tools.

The focus of this article is to select the finest Fortran books which are available to download for free. A few of the books can also be freely distributed to others. All of the texts featured here are informative texts for any Fortran programmer. So get reading and learning.

1. Numerical Recipes in Fortran 77: Second Edition - Volume 1 - The Art of Scientific Computing

Fortran Numerical Recipes Second Edition - Volume 1
Author William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery
Format PDF, HTML
Pages 933

In a self-contained manner Numerical Recipes: The Art of Scientific Computing proceeds from mathematical and theoretical considerations to actual practical computer routines. With over 100 new routines bringing the total to well over 300, plus upgraded versions of the original routines, this edition remains a practical, comprehensive handbook of scientific computing.

It is a good textbook for scientists and engineers and an indispensable reference for anyone who works in scientific computing. The focus is educating the reader to understand the underlying basics of techniques.

Chapters include:

  • Solution of Linear Algebraic Equations
  • Interpolation and Extrapolation
  • Integration of Functions
  • Evaluation of Functions - acquaints the reader with a variety of techniques that are often used in evaluating functions
  • Special Functions - gamma function, beta function, factorials, binomial coefficients, incomplete gamma function, error function, chi-square probability function, cumulative poisson function, exponential integrals, and more
  • Random Numbers - uniform deviates, transformation method: exponential and normal deviates, rejection method: gamma, poisson, binomial deviates, generation of random bits, random sequences based on data encryption, and more
  • Sorting - straight insertion and shell's method, quicksort, heapsort, indexing and ranking, selecting the Mth largest, and determination of equivalence classes
  • Root Finding and Nonlinear Sets of Equations - bracketing and bisection, secant method, false position method and Ridders' method, Van Wijngaarden-Dekker-Brent method, Newton-Raphson method using derivative, roots of polynomials, Newton-Raphson method for nonlinear systems of equations, and globally convergent methods for nonlinear systems of equations
  • Minimization or Maximization of Functions - golden section search in one dimension, parabolic interpolation and Brent's method in one dimension, one-dimensional search with first derivatives, downhill simplex mthod in multidimensions, direction set (Powell's) methods in multidimensions, conjugate gradient methods in multidimensions, variable metric methods in multidimensions, linear programming and the Simplex method, and simulated annealing methods
  • Eigensystems - Jacobi transformations of a symmetric matrix, reduction of a symmetric matrix to tridiagonal form: Givens and Householder reductions, eigenvalues and eigenvectors of a tridiagonal matrix, Hermitian matrices, reduction of a general matrix to Hessenberg form, the QR algorithm for real Hessenberg matrices, improving eigenvalues and/or finding eigenvectors by inverse iteration
  • Fast Fourier Transform - Fourier transform of discretely sampled data, FFT, FFT of Real Functions, Sine and Cosine transforms, FFT in two or more dimensions, Fourier transforms of real data in two and three dimensions, and external storage or memory-local FFTs
  • Fourier and Spectral Applications - convolution and deconvolution using the FFT, correlation and autorecorrelation using the FFT, optional (Wiener) filtering with the FFT, power spectrum estimation using the FFT, digital filtering in the time domain, linear prediction and linear predictive coding, power spectrum estimation by the maximum entropy (all poles) method, and more
  • Statistical Description of Data - moments of a distribution, contingency table analysis of two distributions and more
  • Modeling of Data - least squares as a maximum likelihood estimator, fitting data to a straight line, straight-line data with errors in both coordinates, general linear least squares, nonlinear models, and more
  • Integration of Ordinary Differential Equations - Runge-Kutta method, adaptive stepsize control for Runge-Kutta, modified midpoint method, Richardson extrapolation and the Bulirsch-Stoer method, second-order conservative equations, stiff sets of equations, multistep, multivalue, and predictor-corrector methods
  • Two Point Boundary Value Problems - the shooting method, shooting to a fitting point, relaxation methods, a worked example: spheroidal harmonics, automated allocation of mesh points and more
  • Integral Equations and Inverse Theory - Fredholm equations of the second kind, Volterra equations, integral equations with singular kernels, inverse problems and the use of a priori information, linear regularization methods, Backus-Gilbert method, and maximum entropy image restoration
  • Partial Differential Equations - flux-conservative initial value problems, diffusive initial value problems, initial value problems in multidimensions, fourier and cyclic reduction methods for boundary value problems, and more
  • Less-Numerical Algorithms - an idiosyncratic collection of 'less-numerical recipes'

2. Numerical Recipes in Fortran 90: Second Edition - Volume 2 - The Art of Parallel Scientific Computing

Numerical Recipes in Fortran 90
Author William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery
Format PDF, HTML
Pages 572

The second volume of the Fortran Numerical Recipes series, Numerical Recipes in Fortran 90 contains a detailed introduction to the Fortran 90 language and to the basic concepts of parallel programming, plus source code for all routines from the second edition of Numerical Recipes.

This volume does not repeat any of the discussion of what individual programs actually do, the mathematical methods they utilize, or how to use them.

  • Introduction to Fortran 90 Language Features - including Fortran 90 language concepts, arrays and array sections, Fortran 90 intrinsic procedures and advanced Fortran 90 topics
  • Introduction to Parallel Programming - including linear recurrence and related calculations, parallel synthetic division and related algorithms, FFTs
  • Numerical Recipes Utility Functions for Fortran 90 - routines that move data, return a location, polynomials and recurrencies, outer operations on vectors, scatter with combine, skew operations on matrices
  • Fortran 90 Code Chapters

3. Interactive Fortran 77: A Hands on Approach - Second Edition

Interactive Fortran 77: A Hands on Approach - Second Edition
Author Ian D Chivers, Jane Sleightholme
Format PDF
Pages 233

Interactive Fortran 77: A Hands on Approach introduces the reader to the concepts and ideas involved in problem solving with Fortran 77.

The authors stress the first stages of good programming practice, the accurate specification of problems, and well-organized program plans. Once these principles are defined, the main features of Fortran 77 are introduced. The emphasis throughout is placed on the need for a rigorous approach to algorithmic problem-solving, and the practical benefits to be gained from the adoption of a structured modular methodology.

Following introductory chapter, the book proceeds to cover:

  • Arithmetic - introduces the rules for the evaluation of an arithmetic epxression, the idea of truncation and rounding of a number, the use of the PARAMETER statement and more
  • Arrays and DO loops (1) - introduces the ideas of tables of data, arrays, vectors, list and linear lists. It also introduces the twin concepts of data structure and corresponding control structure and more
  • Arrays and DO loops (2) - extends the ideas covered, and introduces an extended form of the DIMENSION statement, and the corresponding alternative form to the DO statement
  • Output; an introduction - introduces the facilities for producing neat output, and to show how to write results to a file, rather than to the terminal
  • Output; an extension - extends the ideas introduced concerning the production of neat output, and to provide an introduction to the power and capability of the layout or edit descriptors
  • Reading in data - introduces some of the ideas involved in reading data into a program such as integers, reals, and characters, READ and OPEN
  • Making decisions (1) - introduces selection between various courses of action as part of the problem solution and the concepts and statements in Fortran needed to support the above
  • Functions - introduces system supplied functions, user defined functions, and statement functions
  • Making decisions (2) - introduces the while loop and the repeat until construct
  • Error detection and correction - introduces some of the common ways that errors get into programs, and looks at some ways the computer can help detect and correct errors
  • Complex, double precision and logical - reviews real, integer and character variables, and examples other variable types, and introduces logical variables, hierarchy of operations, and the truth table
  • Characters - extend the ideas about characters, and demonstrates how this enables new problems to be solved
  • Subroutines - illustrates the use of subroutines, introduces a library of subroutines
  • Files - reviews the process of file creation, shows how files can be declared explicity by the OPEN and CLOSE statements, introduces the arguments for the OPEN and CLOSE statements, and demonstrates the interaction between READ/WRITE and OPEN/CLOSE statements
  • Common and data statements - introduces an alternative way to communicate between program, subroutines, and functions
  • Optimisation - introduces some reasons for NOT optimising a program, and ways in which you can optimise a program
  • Problem solving revisited - draws together some of the ideas that have been presented regarding problem solving
  • Operating systems
  • Tools in programming

Next Section: 9 Best Free Fortran Books - Part 2

This article is divided into three parts:

Part 1, Part 2, Part 3

Bookmark and Share

Last Updated Saturday, July 04 2015 @ 08:13 AM EDT

We have written a range of guides highlighting excellent free books for popular programming languages. Check out the following guides: C, C++, C#, Java, JavaScript, CoffeeScript, HTML, Python, Ruby, Perl, Haskell, PHP, Lisp, R, Prolog, Scala, Scheme, Forth, SQL, Node.js (new), Fortran (new), Erlang (new), Pascal (new), and Ada (new).

Group Tests
100 Essential Apps
All Group Tests

Top Free Software
5 Office Suites
3 Lean Desktops
7 Document Processors
4 Distraction Free Tools
9 Project Management
4 Business Solutions
9 Groupware Apps
14 File Managers
10 Databases
21 Backup Tools
21 Productivity Tools
5 Note Taking Apps
9 Terminal Emulators
21 Financial Tools
5 Bitcoin Clients
21 Text Editors
21 Video Emulators
21 Home Emulators
42 Graphics Apps
6 CAD Apps
42 Scientific Apps
10 Web Browsers
42 Email Apps
12 Instant Messaging
10 IRC Clients
7 Twitter Clients
12 News Aggregators
11 VoIP Apps
42 Best Games
9 Steam Games
42 Audio Apps
5 Music Streaming
42 Video Apps
5 YouTube Tools
80 Security Apps
9 System Monitoring
8 Geometry Apps
Free Console Apps
14 Multimedia
4 Audio Grabbers
9 Internet Apps
3 HTTP Clients
5 File Managers
8 Compilers
9 IDEs
9 Debuggers
7 Revision Control Apps
6 Doc Generators
Free Web Software
21 Web CMS
14 Wiki Engines
8 Blog Apps
6 eCommerce Apps
5 Human Resource Apps
10 ERP
10 CRM
6 Data Warehouse Apps
8 Business Intelligence
6 Point-of-Sale

Other Articles
Migrating from Windows
Back up your data
20 Free Linux Books
24 Beginner Books
12 Shell Scripting Books

Older Stories
Sunday 04/12
  • First Peek at XBian on the Raspberry Pi 2 (0)

  • Saturday 04/04
  • First Look at OSMC RC on the Raspberry Pi 2 (0)

  • Sunday 03/29
  • First Steps with OpenELEC on the Raspberry Pi 2 (0)
  • Ubuntu MATE 15.04 for Raspberry Pi 2 (0)

  • Monday 03/16
  • MIPS Creator CI20 v Raspberry Pi 2 (0)
  • Raspberry Pi 2: Raspbian (ARMv6) v Linaro (ARMv7) (0)

  • Friday 03/06
  • Raspberry Pi 2 review (0)

  • Sunday 02/22
  • Chess in a Few Bytes (0)
  • Learn the Art of Computer Programming With These Great Free Beginner Books (2)
  • CD Audio Grabbers (0)

  • Vote

    What Linux distribution do you run on your main computer?

    843 votes | 3 comments

    Built with GeekLog and phpBB
    Comments to the webmaster are welcome
    Copyright 2009 - All rights reserved