Chapter 2. Fundamental Tools for Mathematical Computing

  • 2.1 C++ for High-Performance Computing

  • 2.2 Dynamic Memory Allocation

  • 2.3 Matrix Elimination Problems

  • 2.4 Matrix Algebra

  • 2.5 Algebra of Complex Numbers

  • 2.6 Number Sorting

  • 2.7 Summary

  • Programming Challenges

C++ FOR HIGH-PERFORMANCE COMPUTING

Engineering problems involving large arrays with high-resolution graphics for visualization are some of the typical applications in high-performance computing. In most cases, high-performance computing is about intensive numerical computing over a large problem that requires good accuracy and high-precision results. High-performance computing is a challenging area requiring advanced hardware as well as a nicely crafted software that makes full use of the resources in the hardware.

Numerical applications often involve a huge amount of computation that requires a computer with fast processing power and large memory. Fast processing capability is necessary for calculating and updating several large size arrays, which represent the computational elements of the numerical problem. Large memory is highly desirable to hold the data, which also contributes toward speeding up the calculations.

C++ was originally developed in the early 1980s by Bjarne Stroustrup. The features in C++ have been laid out according to the specifications laid by ANSI (American National Standards Institute) and ISO (International Standards Organization). The language is basically an extension of C that was popular in the 1970s, replacing ...

Get Computing for Numerical Methods Using Visual C++ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.