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 inprint and available to
download or buy at reasonable cost. However, there are also some good
free books for Fortran.
Fortran (Formula
translation)
is a multiparadigm programming language invented by John Backus of IBM
in the 1950s. It is particularly notable for innovation; it was the
first highlevel 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 (highperformance 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


Website 
apps.nrbook.com/fortran 
Author 
William H. Press, Saul A. Teukolsky, William T.
Vetterling, Brian P. Flannery 
Format 
PDF, HTML 
Pages 
933 
In a selfcontained 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, chisquare 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 WijngaardenDekkerBrent method, NewtonRaphson
method using derivative, roots of polynomials, NewtonRaphson 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, onedimensional 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 memorylocal
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, straightline
data with errors in both coordinates, general linear least squares,
nonlinear models, and more
 Integration of Ordinary Differential Equations 
RungeKutta method, adaptive stepsize control for RungeKutta, modified
midpoint method, Richardson extrapolation and the BulirschStoer
method, secondorder conservative equations, stiff sets of equations,
multistep, multivalue, and predictorcorrector 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, BackusGilbert method, and
maximum entropy image restoration
 Partial Differential Equations  fluxconservative
initial value problems, diffusive initial value problems, initial value
problems in multidimensions, fourier and cyclic reduction methods for
boundary value problems, and more
 LessNumerical Algorithms  an idiosyncratic
collection of 'lessnumerical recipes'

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


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 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 wellorganized 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 problemsolving, 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
Last Updated Saturday, July 04 2015 @ 08:13 AM EDT 