The scientific computing (SC) matrix library
Author(s) -
Curtis L. Janssen,
Edward T. Seidl,
Ida M. B. Nielsen,
Michael E. Colvin
Publication year - 1996
Publication title -
osti oai (u.s. department of energy office of scientific and technical information)
Language(s) - English
Resource type - Reports
DOI - 10.2172/419066
Subject(s) - diagonal , matrix (chemical analysis) , class (philosophy) , dimension (graph theory) , diagonal matrix , block matrix , computation , computer science , node (physics) , base (topology) , matrix multiplication , theoretical computer science , mathematics , parallel computing , combinatorics , algorithm , artificial intelligence , engineering , physics , geometry , eigenvalues and eigenvectors , mathematical analysis , materials science , quantum mechanics , composite material , quantum , structural engineering
The scientific computing matrix library (SCMAT) is a C++ class library for representing and manipulating rectangular, symmetric, and diagonal matrices and vectors. It is founded on an abstract base classes for each of these types of matrices; these are specialized to concrete matrix classes well suited for particular computational environments. The local matrix specializations (MS) do no communication. All elements reside on each node and all computations are duplicated on each node. The replicated MS hold all of the elements on each node, however do some communication in order to reduce computation time. The distributed MS spread the elements across all the nodes and thus require less storage than local matrices however these use more communication than replicated matrices. The blocked MS are used to implement point group symmetry. One of the other MS is used to hold the diagonal subblocks of a matrix. The offdiagonal subblocks are known to be zero and not stored, resulting in considerable savings in storage and computation for those cases where it applies. A variety of supporting classes is also provided. There is a dimension class that optionally contains application specific blocking information as well as the matrix dimension. Classes to assist in iterating through the elements of a matrix are available. Finally, a class is provided which acts as a class factory by returning mutually consistent MS
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom