In this chapter we introduce a number of features and libraries in C++ (and Boost) that we shall use throughout this book. In general, we use these libraries as utilities and building blocks in a range of applications. We discuss the essential functionality that is relevant to the topics in this book while functionality that we do not need will not be included. For more information on the Boost C++ libraries, see Demming and Duffy (2010, 2012).
In general, we complete our discussion of C++ syntax and functionality in this chapter before proceeding to applications beginning in Chapter 11.
In this chapter we assemble a number of data types and containers in one place. They are useful building blocks that we can embed and use in code using modelling techniques such as composition and inheritance. In particular, we focus on compile-time and run-time matrices that play a fundamental role in scientific applications. We shall need them in later chapters:
In most cases we are interested in working with matrices whose elements ...