next up previous contents
Next: Vector Methods Up: Data Structures and Classes Previous: Named Constants   Contents


Dense Vector Data Structure

The vdatapsb_T_vect_type data structure encapsulates the dense vectors in a way similar to sparse matrices, i.e. including a base type vbasedata psb_T_base_vect_type. The user will not, in general, access the vector components directly, but rather via the routines of sec. 6. Among other simple things, we define here an extraction method that can be used to get a full copy of the part of the vector stored on the local process.

The type declaration is shown in figure 5 where T is a placeholder for the data type and precision variants

I
Integer;
S
Single precision real;
D
Double precision real;
C
Single precision complex;
Z
Double precision complex.
The actual data is contained in the polymorphic component v%v; the separation between the application and the actual data is essential for cases where it is necessary to link to data storage made available elsewhere outside the direct control of the compiler/application, e.g. data stored in a graphics accelerator's private memory.
Figure 5: The PSBLAS defined data type that contains a dense vector.
  type psb_T_base_vect_type
    TYPE(KIND_), allocatable :: v(:)
  end type psb_T_base_vect_type

  type psb_T_vect_type
    class(psb_T_base_vect_type), allocatable :: v 
  end type  psb_T_vect_type



Subsections
next up previous contents
Next: Vector Methods Up: Data Structures and Classes Previous: Named Constants   Contents