Digital Extended Math Library for OpenVMS VAX User Guide

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Introduction to DXML

  1.1     Overview

  1.2     DXML's Programming Language Environment

  1.3     High Performance

  1.4     Accuracy

  1.5     Vector Processing
    1.5.1      Vectorizing Compilers
    1.5.2      Vectorizing Applications

  2      Preparing and Storing Program Data

  2.1     Scalar Data
    2.1.1      FORTRAN Data Types in DXML
    2.1.2      Double-Precision on VAX Platforms

  2.2     Data Representation in FORTRAN
    2.2.1      CHARACTER * 1 and CHARACTER * ( * ) Representation
    2.2.2      LOGICAL Representation
    2.2.3      INTEGER * 4 Representation
    2.2.4      REAL Floating-Point Representations
    2.2.5      COMPLEX Floating-Point Representations

  2.3     Array Data

  2.4     Requirements for Array Storage

  2.5     FORTRAN Arrays
    2.5.1      One-Dimensional FORTRAN Array Storage
    2.5.2      Two-Dimensional FORTRAN Array Storage
    2.5.3      Array Elements

  2.6     DXML's Data Structures
    2.6.1      Vectors
    2.6.2      Transpose and Conjugate Transpose of a Vector
    2.6.3      Defining a Vector in an Array
      2.6.3.1      Vector Length
      2.6.3.2      Vector Location
      2.6.3.3      Stride of a Vector
      2.6.3.4      Selecting Vector Elements from an Array
    2.6.4      Storing a Vector in an Array
    2.6.5      Sparse Vectors
    2.6.6      Storing a Sparse Vector
    2.6.7      Matrices
    2.6.8      Transpose and Conjugate Transpose of a Matrix
    2.6.9      Defining a Matrix in an Array
      2.6.9.1      Matrix Location
      2.6.9.2      First Dimension of the Array
      2.6.9.3      Number of Rows and Columns of the Matrix
      2.6.9.4      Selecting Matrix Elements from an Array
    2.6.10     Symmetric and Hermitian Matrices
    2.6.11     Storage of Symmetric and Hermitian Matrices
      2.6.11.1     Two-Dimensional Upper- or Lower-Triangular Storage
      2.6.11.2     One-Dimensional Packed Storage
    2.6.12     Triangular Matrices
    2.6.13     Storage of Triangular Matrices
    2.6.14     General Band Matrices
    2.6.15     Storage of General Band Matrices
    2.6.16     Real Symmetric Band Matrices and Complex Hermitian Band Matrices
    2.6.17     Storage of Real Symmetric Band Matrices or Complex Hermitian Band Matrices
    2.6.18     Upper- and Lower-Triangular Band Matrices
    2.6.19     Storage of Upper- and Lower-Triangular Band Matrices
    2.6.20     Sparse Matrices
    2.6.21     Storage of Sparse Matrices
      2.6.21.1     SDIA: Symmetric diagonal storage scheme
      2.6.21.2     UDIA: Unsymmetric diagonal storage scheme
      2.6.21.3     GENR: General storage scheme by rows

  3      Coding an Application Program

  3.1     Choosing the Appropriate Version
    3.1.1      Subprogram Data Structure and Storage Method
    3.1.2      Improving Performance

  3.2     Calling Sequences
    3.2.1      Passing of Arguments
    3.2.2      Implicit and Explicit Arguments
    3.2.3      Expanding Argument Lists

  3.3     Calling Subroutines and Functions in FORTRAN

  3.4     Using DXML from Non-FORTRAN Programming Languages

  3.5     Error Handling
    3.5.1      Internal Exceptions
    3.5.2      BLAS Subprograms
    3.5.3      Signal Processing Subprograms
    3.5.4      Sparse Iterative Solver Subprograms

  3.6     Compiling the Code

  4      Linking an Application Program

  4.1     Shareable Images

  4.2     LINK Command

  4.3     Linking Errors

  EXAMPLES

  3-1        Example of Error Routine for Signal Processing

  TABLES

  1 Documentation Conventions

  2 DXML Font Usage

  3 DXML Symbols and Expressions

  2-1        FORTRAN Data Types

  2-2        One-Dimensional FORTRAN Array Storage

  2-3        Two-Dimensional FORTRAN Array Storage

  3-1        DXML Status Functions

  3-2        Error Flags for Sparse Iterative Solver Subprograms