Object-Oriented Matrices
摘要
In this chapter on object-oriented matrices, we first focus on the structure and storage of multidimensional matrices, which are also mapped by applications on digital von Neumann computers into one-dimensional physical main memory. The section on hypermatrices explains this context and presents different representations for multidimensional matrices with the corresponding mathematical mapping rules. The representation of matrices is followed by the exemplary implementation of multidimensional matrices and vectors in object-oriented matrix classes, like MATRIZEM,MATRIX and VEKTOR, using the programming language C++. The primary goal is to demonstrate the organization of matrix objects in suitable class structures according to the object-oriented principles of encapsulation, inheritance, and communication interfaces of public functions. Readers may extend their knowledge of object orientation in C++ by studying relevant literature, such as [Rumbaugh/Blaha/Premerlani/Eddy/Lorensen 1991] on object-oriented modeling or like [Breymann 1997] on C++, as well as conduct research on the Internet. In addition to generating and managing static and dynamic matrix objects, it is particularly important to recognize the advantages of operator overloading in the presented approach. This allows for an intuitive and transparent handling of the new matrix objects for arithmetic and functional operations. These aspects will be demonstrated in Chapter 7 through two typical FEM-application algorithms implemented using tensor and matrix objects.