OpenCMISS-Iron Internal API Documentation
matrix_vector Module Reference

This module contains all routines dealing with (non-distributed) matrix and vectors types. More...

Data Types

interface  matrix_all_values_set
 
interface  matrix_data_get
 
interface  matrix_values_add
 
interface  matrix_values_get
 
interface  matrix_values_set
 
interface  vector_all_values_set
 
interface  vector_data_get
 
interface  vector_values_get
 
interface  vector_values_set
 

Functions/Subroutines

subroutine matrix_all_values_set_intg (MATRIX, VALUE, ERR, ERROR,)
 Sets all values in an integer matrix to the specified value. More...
 
subroutine matrix_all_values_set_sp (MATRIX, VALUE, ERR, ERROR,)
 Sets all values in a single precision matrix to the specified value. More...
 
subroutine matrix_all_values_set_dp (MATRIX, VALUE, ERR, ERROR,)
 Sets all values in a double precision matrix to the specified value. More...
 
subroutine matrix_all_values_set_l (MATRIX, VALUE, ERR, ERROR,)
 Sets all values in a logical matrix to the specified value. More...
 
subroutine, public matrix_create_finish (MATRIX, ERR, ERROR,)
 Finishes the creation a matrix. More...
 
subroutine, public matrix_create_start (MATRIX, ERR, ERROR,)
 Starts the creation a matrix. More...
 
subroutine matrix_data_get_intg (MATRIX, DATA, ERR, ERROR,)
 Returns a pointer to the data of an integer matrix. Note: the values can be used for read operations but a MATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine matrix_data_get_sp (MATRIX, DATA, ERR, ERROR,)
 Returns a pointer to the data of a single precision matrix. Note: the values can be used for read operations but aMATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine matrix_data_get_dp (MATRIX, DATA, ERR, ERROR,)
 Returns a pointer to the data of a double precision matrix. Note: the values can be used for read operations but a MATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine matrix_data_get_l (MATRIX, DATA, ERR, ERROR,)
 Returns a pointer to the data of a logical matrix. Note: the values can be used for read operations but a MATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine, public matrix_datatypeget (matrix, dataType, err, error,)
 Gets the data type of a matrix. More...
 
subroutine, public matrix_data_type_set (MATRIX, DATA_TYPE, ERR, ERROR,)
 Sets/changes the data type of a matrix. More...
 
subroutine, public matrix_destroy (MATRIX, ERR, ERROR,)
 Destroys a matrix. More...
 
subroutine, public matrix_duplicate (MATRIX, NEW_MATRIX, ERR, ERROR,)
 Duplicates the matrix and returns a pointer to the duplicated matrix in NEWMATRIX. More...
 
subroutine matrix_finalise (MATRIX, ERR, ERROR,)
 Finalises a matrix and deallocates all memory. More...
 
subroutine matrix_initialise (MATRIX, ERR, ERROR,)
 Initialises a matrix. More...
 
subroutine, public matrix_max_columns_per_row_get (MATRIX, MAX_COLUMNS_PER_ROW, ERR, ERROR,)
 Gets the maximum number of columns in each row of a distributed matrix. More...
 
subroutine, public matrix_number_non_zeros_set (MATRIX, NUMBER_NON_ZEROS, ERR, ERROR,)
 Sets/changes the number of non zeros for a matrix. More...
 
subroutine, public matrix_number_non_zeros_get (MATRIX, NUMBER_NON_ZEROS, ERR, ERROR,)
 Gets the number of non zeros for a matrix. More...
 
subroutine, public matrix_linklist_set (MATRIX, LIST, ERR, ERROR,)
 Gets the maximum number of columns in each row of a distributed matrix. More...
 
subroutine, public matrix_linklist_get (MATRIX, LIST, ERR, ERROR,)
 
subroutine, public matrix_max_size_set (MATRIX, MAX_M, MAX_N, ERR, ERROR,)
 Sets/changes the maximum size of a matrix. More...
 
subroutine, public matrix_output (ID, MATRIX, ERR, ERROR,)
 Sets/changes the size of a matrix. More...
 
subroutine, public matrix_size_set (MATRIX, M, N, ERR, ERROR,)
 Sets/changes the size of a matrix. More...
 
subroutine, public matrix_storage_location_find (MATRIX, I, J, LOCATION, ERR, ERROR,)
 Returns the storage location in the data array of a matrix that correponds to location I,J. If the location does not exist the routine returns zero. More...
 
subroutine matrix_storage_locations_get (MATRIX, ROW_INDICES, COLUMN_INDICES, ERR, ERROR,)
 Gets the storage locations (sparsity pattern) of a matrix. More...
 
subroutine, public matrix_storage_locations_set (MATRIX, ROW_INDICES, COLUMN_INDICES, ERR, ERROR,)
 Sets the storage locations (sparsity pattern) in a matrix to that specified by the row and column indices. More...
 
subroutine, public matrix_storage_type_get (MATRIX, STORAGE_TYPE, ERR, ERROR,)
 Gets the storage type for a matrix. More...
 
subroutine, public matrix_storage_type_set (MATRIX, STORAGE_TYPE, ERR, ERROR,)
 Sets/changes the storage type for a matrix. More...
 
subroutine matrix_values_add_intg (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds values to an integer matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE. More...
 
subroutine matrix_values_add_intg1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Adds a value to an integer matrix at the location specified by the row and column index i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE. More...
 
subroutine matrix_values_add_intg2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds a matrix of values to an integer matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE. More...
 
subroutine matrix_values_add_sp (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds values to a single precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE. More...
 
subroutine matrix_values_add_sp1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Adds a value to a single precision real matrix at the location specified by the row and column index i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE. More...
 
subroutine matrix_values_add_sp2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds a matrix of values to a single precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE. More...
 
subroutine matrix_values_add_dp (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds values to a double precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE. More...
 
subroutine matrix_values_add_dp1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Adds a value to a double precision real matrix at the location specified by the row and column index i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE. More...
 
subroutine matrix_values_add_dp2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds a matrix of values to a double precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE. More...
 
subroutine matrix_values_add_l (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds values to a logical matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J).OR.VALUE. More...
 
subroutine matrix_values_add_l1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Adds a value to a logical matrix at the location specified by the row and column index i.e., MATRIX(I,J)=MATRIX(I,J).OR.VALUE. More...
 
subroutine matrix_values_add_l2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Adds a matrix of values to a logical matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J).OR.VALUE. More...
 
subroutine matrix_values_get_intg (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets the values in an integer matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_get_intg1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Gets a value in an integer matrix at the location specified by the row and column index i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_get_intg2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets the matrix of values in an integer matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_get_sp (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets values in a single precision real matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_get_sp1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Gets a value in a single precision real matrix at the location specified by the row and column index i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_get_sp2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets a matrix of values in a single precision real matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_get_dp (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets values in a double precision real matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_get_dp1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Gets a value in a double precision real matrix at the location specified by the row and column index i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_get_dp2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets a matrix of values in a double precision real matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_get_l (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets values in a logical matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_get_l1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Gets a value in a logical matrix at the location specified by the row and column index i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_get_l2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Gets a matrix of values in a logical matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J) More...
 
subroutine matrix_values_set_intg (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets the values in an integer matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE. More...
 
subroutine matrix_values_set_intg1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Sets a value in an integer matrix at the location specified by the row and column index i.e., MATRIX(I,J)=VALUE. More...
 
subroutine matrix_values_set_intg2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets the matrix of values in an integer matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE. More...
 
subroutine matrix_values_set_sp (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets the values in a single precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE. More...
 
subroutine matrix_values_set_sp1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Sets the value in a single precision real matrix at the location specified by the row and column index i.e., MATRIX(I,J)=VALUE. More...
 
subroutine matrix_values_set_sp2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets the matrix of values in a single precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE. More...
 
subroutine matrix_values_set_dp (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets the values in a double precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE. More...
 
subroutine matrix_values_set_dp1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Sets a value in a double precision real matrix at the location specified by the row and column index i.e., MATRIX(I,J)=VALUE. More...
 
subroutine matrix_values_set_dp2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets the matrix of values in a double precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE. More...
 
subroutine matrix_values_set_l (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets the values in a logical matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE. More...
 
subroutine matrix_values_set_l1 (MATRIX, ROW_INDEX, COLUMN_INDEX, VALUE, ERR, ERROR,)
 Sets a value in a logical matrix at the location specified by the row and column index i.e., MATRIX(I,J)=VALUE. More...
 
subroutine matrix_values_set_l2 (MATRIX, ROW_INDICES, COLUMN_INDICES, VALUES, ERR, ERROR,)
 Sets the matrix of values in a logical matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE. More...
 
subroutine vector_all_values_set_intg (VECTOR, VALUE, ERR, ERROR,)
 Sets all values in an integer vector to the specified value. More...
 
subroutine vector_all_values_set_sp (VECTOR, VALUE, ERR, ERROR,)
 Sets all values in a single precision vector to the specified value. More...
 
subroutine vector_all_values_set_dp (VECTOR, VALUE, ERR, ERROR,)
 Sets all values in a double precision vector to the specified value. More...
 
subroutine vector_all_values_set_l (VECTOR, VALUE, ERR, ERROR,)
 Sets all values in a logical vector to the specified value. More...
 
subroutine, public vector_create_finish (VECTOR, ERR, ERROR,)
 Finihses the creation of a vector. More...
 
subroutine, public vector_create_start (VECTOR, ERR, ERROR,)
 Starts the creation a vector. More...
 
subroutine vector_data_get_intg (VECTOR, DATA, ERR, ERROR,)
 Returns a pointer to the data of an integer vector. Note: the values can be used for read operations but a VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine vector_data_get_sp (VECTOR, DATA, ERR, ERROR,)
 Returns a pointer to the data of a single precision vector. Note: the values can be used for read operations but a VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine vector_data_get_dp (VECTOR, DATA, ERR, ERROR,)
 Returns a pointer to the data of a double precision vector. Note: the values can be used for read operations but a VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine vector_data_get_l (VECTOR, DATA, ERR, ERROR,)
 Returns a pointer to the data of a logical vector. Note: the values can be used for read operations but a VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated. More...
 
subroutine, public vector_datatypeget (vector, dataType, err, error,)
 Gets the data type of a vector. More...
 
subroutine, public vector_data_type_set (VECTOR, DATA_TYPE, ERR, ERROR,)
 Sets/changes the data type of a vector. More...
 
subroutine, public vector_destroy (VECTOR, ERR, ERROR,)
 Destroys a vector. More...
 
subroutine, public vector_duplicate (VECTOR, NEW_VECTOR, ERR, ERROR,)
 Duplicates a vector structure and returns a pointer to the new vector in NEW_VECTOR. More...
 
subroutine vector_finalise (VECTOR, ERR, ERROR,)
 Finalises a vector and deallocates all memory. More...
 
subroutine vector_initialise (VECTOR, ERR, ERROR,)
 Initialises a vector. More...
 
subroutine, public vector_size_set (VECTOR, N, ERR, ERROR,)
 Sets/changes the size of a vector. More...
 
subroutine vector_values_get_intg (VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets the values in an integer vector at the indices specified. More...
 
subroutine vector_values_get_intg1 (VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets a value in an integer vector at the location specified by the index. More...
 
subroutine vector_values_get_sp (VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets the values in a single precision real vector at the indices specified. More...
 
subroutine vector_values_get_sp1 (VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets a value in a single precision vector at the location specified by the index. More...
 
subroutine vector_values_get_dp (VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets the values in a double precision real vector at the indices specified. More...
 
subroutine vector_values_get_dp1 (VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets a value in a double precision vector at the location specified by the index. More...
 
subroutine vector_values_get_l (VECTOR, INDICES, VALUES, ERR, ERROR,)
 Gets the values in a logical real vector at the indices specified. More...
 
subroutine vector_values_get_l1 (VECTOR, INDEX, VALUE, ERR, ERROR,)
 Gets a value in a logical vector at the location specified by the index. More...
 
subroutine vector_values_set_intg (VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets the values in an integer vector at the specified indices. More...
 
subroutine vector_values_set_intg1 (VECTOR, INDEX, VALUE, ERR, ERROR,)
 Sets a value in an integer vector at the specified index. More...
 
subroutine vector_values_set_sp (VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets the values in a single precision vector at the specified indices. More...
 
subroutine vector_values_set_sp1 (VECTOR, INDEX, VALUE, ERR, ERROR,)
 Sets a value in a single precision vector at the specified index. More...
 
subroutine vector_values_set_dp (VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets the values in a double precision vector at the specified indices. More...
 
subroutine vector_values_set_dp1 (VECTOR, INDEX, VALUE, ERR, ERROR,)
 Sets a value in a double precision vector at the specified index. More...
 
subroutine vector_values_set_l (VECTOR, INDICES, VALUES, ERR, ERROR,)
 Sets the values in a logical vector at the specified indices. More...
 
subroutine vector_values_set_l1 (VECTOR, INDEX, VALUE, ERR, ERROR,)
 Sets a value in a logical vector at the specified index. More...
 

Variables

integer(intg), parameter, public matrix_vector_intg_type =INTEGER_TYPE
 Integer matrix-vector data type. More...
 
integer(intg), parameter, public matrix_vector_sp_type =SINGLE_REAL_TYPE
 Single precision real matrix-vector data type. More...
 
integer(intg), parameter, public matrix_vector_dp_type =DOUBLE_REAL_TYPE
 Double precision real matrix-vector data type. More...
 
integer(intg), parameter, public matrix_vector_l_type =LOGICAL_TYPE
 Logical matrix-vector data type. More...
 
integer(intg), parameter, public matrix_block_storage_type =0
 Matrix block storage type. More...
 
integer(intg), parameter, public matrix_diagonal_storage_type =1
 Matrix diagonal storage type. More...
 
integer(intg), parameter, public matrix_column_major_storage_type =2
 Matrix column major storage type. More...
 
integer(intg), parameter, public matrix_row_major_storage_type =3
 Matrix row major storage type. More...
 
integer(intg), parameter, public matrix_compressed_row_storage_type =4
 Matrix compressed row storage type. More...
 
integer(intg), parameter, public matrix_compressed_column_storage_type =5
 Matrix compressed column storage type. More...
 
integer(intg), parameter, public matrix_row_column_storage_type =6
 Matrix row-column storage type. More...
 
integer(intg), parameter bisectiontolinearsearchthreshold =10
 Threshold for transition from bisection to linear search. More...
 
integer(intg), save matrix_vector_id =1
 

Detailed Description

This module contains all routines dealing with (non-distributed) matrix and vectors types.

Function/Subroutine Documentation

subroutine matrix_vector::matrix_all_values_set_dp ( type(matrix_type), pointer  MATRIX,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets all values in a double precision matrix to the specified value.

Parameters
matrixA pointer to the matrix
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 379 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_dp_type.

subroutine matrix_vector::matrix_all_values_set_intg ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets all values in an integer matrix to the specified value.

Parameters
matrixA pointer to the matrix
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 301 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_intg_type.

subroutine matrix_vector::matrix_all_values_set_l ( type(matrix_type), pointer  MATRIX,
logical, intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets all values in a logical matrix to the specified value.

Parameters
matrixA pointer to the matrix
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 418 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_l_type.

subroutine matrix_vector::matrix_all_values_set_sp ( type(matrix_type), pointer  MATRIX,
real(sp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets all values in a single precision matrix to the specified value.

Parameters
matrixA pointer to the matrix
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 340 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_sp_type.

subroutine, public matrix_vector::matrix_create_finish ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public matrix_vector::matrix_create_start ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Starts the creation a matrix.

Parameters
matrixA pointer to the matrix
[out]errThe error code
[out]errorThe error string

Definition at line 591 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_block_storage_type, matrix_finalise(), matrix_initialise(), and matrix_vector_dp_type.

Referenced by distributed_matrix_vector::distributed_matrix_cmiss_initialise(), and matrix_duplicate().

subroutine matrix_vector::matrix_data_get_dp ( type(matrix_type), pointer  MATRIX,
real(dp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Returns a pointer to the data of a double precision matrix. Note: the values can be used for read operations but a MATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated.

Parameters
matrixA pointer to the matrix
dataOn return a pointer to the matrix data
[out]errThe error code
[out]errorThe error string

Definition at line 712 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_dp_type.

subroutine matrix_vector::matrix_data_get_intg ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Returns a pointer to the data of an integer matrix. Note: the values can be used for read operations but a MATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated.

Parameters
matrixA pointer to the matrix
dataOn return a pointer to the matrix data
[out]errThe error code
[out]errorThe error string

Definition at line 624 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_intg_type.

subroutine matrix_vector::matrix_data_get_l ( type(matrix_type), pointer  MATRIX,
logical, dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Returns a pointer to the data of a logical matrix. Note: the values can be used for read operations but a MATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated.

Parameters
matrixA pointer to the matrix
dataOn return a pointer to the matrix data
[out]errThe error code
[out]errorThe error string

Definition at line 756 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_l_type.

subroutine matrix_vector::matrix_data_get_sp ( type(matrix_type), pointer  MATRIX,
real(sp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Returns a pointer to the data of a single precision matrix. Note: the values can be used for read operations but aMATRIX_VALUES_SET call must be used to change any values. The pointer should not be deallocated.

Parameters
matrixA pointer to the matrix
dataOn return a pointer to the matrix data
[out]errThe error code
[out]errorThe error string

Definition at line 668 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_sp_type.

subroutine, public matrix_vector::matrix_data_type_set ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  DATA_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the data type of a matrix.

Parameters
matrixA pointer to the matrix
[in]data_typeThe data type to set for the matrix.
See also
MATRIX_VECTOR::DataTypes,MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 831 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_vector_dp_type, matrix_vector_intg_type, matrix_vector_l_type, and matrix_vector_sp_type.

Referenced by distributed_matrix_vector::distributed_matrix_cmiss_initialise(), distributed_matrix_vector::distributed_matrix_data_type_set(), and matrix_duplicate().

subroutine, public matrix_vector::matrix_datatypeget ( type(matrix_type), pointer  matrix,
integer(intg), intent(out)  dataType,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Gets the data type of a matrix.

Parameters
matrixA pointer to the matrix
[out]datatypeOn return, the data type of the matrix.
See also
MATRIX_VECTOR::DataTypes,MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 800 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

subroutine, public matrix_vector::matrix_destroy ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Destroys a matrix.

Parameters
matrixA pointer to the matrix to destroy
[out]errThe error code
[out]errorThe error string

Definition at line 876 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_finalise().

Referenced by distributed_matrix_vector::distributed_matrix_cmiss_finalise().

subroutine, public matrix_vector::matrix_duplicate ( type(matrix_type), pointer  MATRIX,
type(matrix_type), pointer  NEW_MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine matrix_vector::matrix_finalise ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Finalises a matrix and deallocates all memory.

Parameters
matrixA pointer to the matrix to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 952 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by matrix_create_start(), matrix_destroy(), and matrix_duplicate().

subroutine matrix_vector::matrix_initialise ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Initialises a matrix.

Parameters
matrixA pointer to the matrix
[out]errThe error code
[out]errorThe error string

Definition at line 983 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by matrix_create_start().

subroutine, public matrix_vector::matrix_linklist_get ( type(matrix_type), pointer  MATRIX,
type(linkedlist), dimension(:), pointer  LIST,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
Parameters
matrixA pointer to the matrix
[out]errThe error code
[out]errorThe error string

Definition at line 1176 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by distributed_matrix_vector::distributed_matrix_linklist_get().

subroutine, public matrix_vector::matrix_linklist_set ( type(matrix_type), pointer  MATRIX,
type(linkedlist), dimension(:), pointer  LIST,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the maximum number of columns in each row of a distributed matrix.

Parameters
matrixA pointer to the matrix
[out]errThe error code
[out]errorThe error string

Definition at line 1146 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by distributed_matrix_vector::distributed_matrix_linklist_set().

subroutine, public matrix_vector::matrix_max_columns_per_row_get ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(out)  MAX_COLUMNS_PER_ROW,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the maximum number of columns in each row of a distributed matrix.

Parameters
matrixA pointer to the matrix
[out]max_columns_per_rowOn return, the maximum number of columns in each row
[out]errThe error code
[out]errorThe error string

Definition at line 1021 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by distributed_matrix_vector::distributed_matrix_max_columns_per_row_get().

subroutine, public matrix_vector::matrix_max_size_set ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  MAX_M,
integer(intg), intent(in)  MAX_N,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the maximum size of a matrix.

Parameters
matrixA pointer to the matrix
[in]max_mThe maximum number of rows to set
[in]max_nThe maximum number of columns to set
[out]errThe error code
[out]errorThe error string

Definition at line 1208 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by matrix_duplicate().

subroutine, public matrix_vector::matrix_number_non_zeros_get ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(out)  NUMBER_NON_ZEROS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the number of non zeros for a matrix.

Parameters
matrixA pointer to the matrix
[out]number_non_zerosOn return, The number of non zeros in the matrix to get
[out]errThe error code
[out]errorThe error string

Definition at line 1106 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_block_storage_type, matrix_column_major_storage_type, matrix_compressed_column_storage_type, matrix_compressed_row_storage_type, matrix_diagonal_storage_type, matrix_row_column_storage_type, and matrix_row_major_storage_type.

Referenced by distributed_matrix_vector::distributed_matrix_number_non_zeros_get().

subroutine, public matrix_vector::matrix_number_non_zeros_set ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  NUMBER_NON_ZEROS,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the number of non zeros for a matrix.

Parameters
matrixA pointer to the matrix
[in]number_non_zerosThe number of non zeros in the matrix to set
[out]errThe error code
[out]errorThe error string

Definition at line 1053 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_block_storage_type, matrix_column_major_storage_type, matrix_compressed_column_storage_type, matrix_compressed_row_storage_type, matrix_diagonal_storage_type, matrix_row_column_storage_type, and matrix_row_major_storage_type.

Referenced by distributed_matrix_vector::distributed_matrix_number_non_zeros_set(), and matrix_duplicate().

subroutine, public matrix_vector::matrix_output ( integer(intg), intent(in)  ID,
type(matrix_type), pointer  MATRIX,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine, public matrix_vector::matrix_size_set ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  M,
integer(intg), intent(in)  N,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the size of a matrix.

Parameters
matrixA pointer to the matrix
[in]mThe number of rows to set
[in]nThe number of columns to set
[out]errThe error code
[out]errorThe error string

Definition at line 1387 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by distributed_matrix_vector::distributed_matrix_cmiss_initialise(), distributed_matrix_vector::distributed_matrix_ghosting_type_set(), and matrix_duplicate().

subroutine, public matrix_vector::matrix_storage_location_find ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  I,
integer(intg), intent(in)  J,
integer(intg), intent(out)  LOCATION,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Returns the storage location in the data array of a matrix that correponds to location I,J. If the location does not exist the routine returns zero.

Parameters
matrixA pointer to the matrix
[in]iThe row number of the location to find
[in]jThe column number of the location to find
[out]locationOn return the location of the specified row and column in the matrix data. If the row and column does not exist in the matrix then zero is returned.
[out]errThe error code
[out]errorThe error string

Definition at line 1434 of file matrix_vector.f90.

References bisectiontolinearsearchthreshold, base_routines::enters(), base_routines::exits(), matrix_block_storage_type, matrix_column_major_storage_type, matrix_compressed_column_storage_type, matrix_compressed_row_storage_type, matrix_diagonal_storage_type, matrix_row_column_storage_type, and matrix_row_major_storage_type.

Referenced by matrix_values_add_dp(), matrix_values_add_dp1(), matrix_values_add_intg(), matrix_values_add_intg1(), matrix_values_add_l(), matrix_values_add_l1(), matrix_values_add_sp(), matrix_values_add_sp1(), matrix_values_get_dp(), matrix_values_get_dp1(), matrix_values_get_dp2(), matrix_values_get_intg(), matrix_values_get_intg1(), matrix_values_get_intg2(), matrix_values_get_l(), matrix_values_get_l1(), matrix_values_get_l2(), matrix_values_get_sp(), matrix_values_get_sp1(), matrix_values_get_sp2(), matrix_values_set_dp(), matrix_values_set_dp1(), matrix_values_set_dp2(), matrix_values_set_intg(), matrix_values_set_intg1(), matrix_values_set_intg2(), matrix_values_set_l(), matrix_values_set_l1(), matrix_values_set_l2(), matrix_values_set_sp(), matrix_values_set_sp1(), and matrix_values_set_sp2().

subroutine matrix_vector::matrix_storage_locations_get ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), pointer  ROW_INDICES,
integer(intg), dimension(:), pointer  COLUMN_INDICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the storage locations (sparsity pattern) of a matrix.

Parameters
matrixA pointer to the matrix
row_indicesROW_INDICES(i). On return, the row index values for the matrix.
column_indicesCOLUMN_INDICES(i). On return, the column index values for the matrix.
[out]errThe error code
[out]errorThe error string

Definition at line 1571 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_block_storage_type, matrix_column_major_storage_type, matrix_compressed_column_storage_type, matrix_compressed_row_storage_type, matrix_diagonal_storage_type, matrix_row_column_storage_type, and matrix_row_major_storage_type.

Referenced by distributed_matrix_vector::distributed_matrix_storage_locations_get().

subroutine, public matrix_vector::matrix_storage_locations_set ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the storage locations (sparsity pattern) in a matrix to that specified by the row and column indices.

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index values for the sparisty pattern.
[in]column_indicesCOLUMN_INDICES(i). The column index values for the sparsity pattern.
[out]errThe error code
[out]errorThe error string

Definition at line 1626 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_block_storage_type, matrix_column_major_storage_type, matrix_compressed_column_storage_type, matrix_compressed_row_storage_type, matrix_diagonal_storage_type, matrix_row_column_storage_type, and matrix_row_major_storage_type.

Referenced by distributed_matrix_vector::distributed_matrix_storage_locations_set(), and matrix_duplicate().

subroutine, public matrix_vector::matrix_storage_type_get ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(out)  STORAGE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the storage type for a matrix.

Parameters
matrixA pointer to the matrix
[out]storage_typeOn return, the storage type of the matrix.
See also
MATRIX_VECTOR::StorageTypes,MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 1858 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by distributed_matrix_vector::distributed_matrix_storage_type_get().

subroutine, public matrix_vector::matrix_storage_type_set ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  STORAGE_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)
subroutine matrix_vector::matrix_values_add_dp ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds values to a double precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the i'th value to add
[in]column_indicesCOLUMN_INIDICES(i). The column index for the i'th value to add
[in]valuesVALUES(i). The value of the i'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 2643 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_add_dp1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds a value to a double precision real matrix at the location specified by the row and column index i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index for the value to add
[in]column_indexThe column index for the value to add
[in]valueThe value to add
[out]errThe error code
[out]errorThe error string

Definition at line 2708 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_add_dp2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds a matrix of values to a double precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the ij'th value to add
[in]column_indicesCOLUMN_INIDICES(j). The column index for the ij'th value to add
[in]valuesVALUES(i,j). The value of the ij'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 2757 of file matrix_vector.f90.

References bisectiontolinearsearchthreshold, base_routines::enters(), base_routines::exits(), matrix_block_storage_type, matrix_column_major_storage_type, matrix_compressed_column_storage_type, matrix_compressed_row_storage_type, matrix_diagonal_storage_type, matrix_row_column_storage_type, matrix_row_major_storage_type, and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_add_intg ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds values to an integer matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the i'th value to add
[in]column_indicesCOLUMN_INIDICES(i). The column index for the i'th value to add
[in]valuesVALUES(i). The value of the i'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 1941 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_intg_type.

subroutine matrix_vector::matrix_values_add_intg1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
integer(intg), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds a value to an integer matrix at the location specified by the row and column index i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index for the value to add
[in]column_indexThe column index for the value to add
[in]valueThe value to add
[out]errThe error code
[out]errorThe error string

Definition at line 2006 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_intg_type.

subroutine matrix_vector::matrix_values_add_intg2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds a matrix of values to an integer matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the ij'th value to add
[in]column_indicesCOLUMN_INIDICES(j). The column index for the ij'th value to add
[in]valuesVALUES(i,j). The value of the ij'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 2055 of file matrix_vector.f90.

References bisectiontolinearsearchthreshold, base_routines::enters(), base_routines::exits(), matrix_block_storage_type, matrix_column_major_storage_type, matrix_compressed_column_storage_type, matrix_compressed_row_storage_type, matrix_diagonal_storage_type, matrix_row_column_storage_type, matrix_row_major_storage_type, and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_add_l ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds values to a logical matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J).OR.VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the i'th value to add
[in]column_indicesCOLUMN_INIDICES(i). The column index for the i'th value to add
[in]valuesVALUES(i). The value of the i'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 2994 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_l_type.

subroutine matrix_vector::matrix_values_add_l1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
logical, intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds a value to a logical matrix at the location specified by the row and column index i.e., MATRIX(I,J)=MATRIX(I,J).OR.VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index for the value to add
[in]column_indexThe column index for the value to add
[in]valueThe value to add
[out]errThe error code
[out]errorThe error string

Definition at line 3059 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_l_type.

subroutine matrix_vector::matrix_values_add_l2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds a matrix of values to a logical matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J).OR.VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the ij'th value to add
[in]column_indicesCOLUMN_INIDICES(j). The column index for the ij'th value to add
[in]valuesVALUES(i,j). The value of the ij'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 3108 of file matrix_vector.f90.

References bisectiontolinearsearchthreshold, base_routines::enters(), base_routines::exits(), matrix_block_storage_type, matrix_column_major_storage_type, matrix_compressed_column_storage_type, matrix_compressed_row_storage_type, matrix_diagonal_storage_type, matrix_row_column_storage_type, matrix_row_major_storage_type, and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_add_sp ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds values to a single precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the i'th value to add
[in]column_indicesCOLUMN_INIDICES(i). The column index for the i'th value to add
[in]valuesVALUES(i). The value of the i'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 2292 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_sp_type.

subroutine matrix_vector::matrix_values_add_sp1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(sp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds a value to a single precision real matrix at the location specified by the row and column index i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index for the value to add
[in]column_indexThe column index for the value to add
[in]valueThe value to add
[out]errThe error code
[out]errorThe error string

Definition at line 2357 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_sp_type.

subroutine matrix_vector::matrix_values_add_sp2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Adds a matrix of values to a single precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=MATRIX(I,J)+VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the ij'th value to add
[in]column_indicesCOLUMN_INIDICES(j). The column index for the ij'th value to add
[in]valuesVALUES(i,j). The value of the ij'th value to add
[out]errThe error code
[out]errorThe error string

Definition at line 2406 of file matrix_vector.f90.

References bisectiontolinearsearchthreshold, base_routines::enters(), base_routines::exits(), matrix_block_storage_type, matrix_column_major_storage_type, matrix_compressed_column_storage_type, matrix_compressed_row_storage_type, matrix_diagonal_storage_type, matrix_row_column_storage_type, matrix_row_major_storage_type, and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_get_dp ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets values in a double precision real matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the i'th value to get
[in]column_indicesCOLUMN_INIDICES(i). The column index for the i'th value to get
[out]valuesVALUES(i). On return the value of the i'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 3699 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_get_dp1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(dp), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets a value in a double precision real matrix at the location specified by the row and column index i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index of the value to get
[in]column_indexThe column index of the value to get
[out]valueOn return the value in the matrix at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 3762 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_get_dp2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:,:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets a matrix of values in a double precision real matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the ij'th value to get
[in]column_indicesCOLUMN_INIDICES(j). The column index for the ij'th value to get
[out]valuesVALUES(i,j). On return the value of the ij'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 3809 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_get_intg ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the values in an integer matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the i'th value to get
[in]column_indicesCOLUMN_INIDICES(i). The column index for the i'th value to get
[out]valuesVALUES(i). On return the value of the i'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 3345 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_intg_type.

subroutine matrix_vector::matrix_values_get_intg1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
integer(intg), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets a value in an integer matrix at the location specified by the row and column index i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index of the value to get
[in]column_indexThe column index of the value to get
[out]valueOn return the value in the matrix at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 3408 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_intg_type.

subroutine matrix_vector::matrix_values_get_intg2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:,:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the matrix of values in an integer matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the ij'th value to get
[in]column_indicesCOLUMN_INIDICES(j). The column index for the ij'th value to get
[out]valuesVALUES(i,j). On return the value of the ij'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 3455 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_intg_type.

subroutine matrix_vector::matrix_values_get_l ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets values in a logical matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the i'th value to get
[in]column_indicesCOLUMN_INIDICES(i). The column index for the i'th value to get
[out]valuesVALUES(i). On return the value of the i'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 3876 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_l_type.

subroutine matrix_vector::matrix_values_get_l1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
logical, intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets a value in a logical matrix at the location specified by the row and column index i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index of the value to get
[in]column_indexThe column index of the value to get
[out]valueOn return the value in the matrix at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 3939 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_l_type.

subroutine matrix_vector::matrix_values_get_l2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:,:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets a matrix of values in a logical matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the ij'th value to get
[in]column_indicesCOLUMN_INIDICES(j). The column index for the ij'th value to get
[out]valuesVALUES(i,j). On return the value of the ij'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 3986 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_l_type.

subroutine matrix_vector::matrix_values_get_sp ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets values in a single precision real matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the i'th value to get
[in]column_indicesCOLUMN_INIDICES(i). The column index for the i'th value to get
[out]valuesVALUES(i). On return the value of the i'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 3522 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_sp_type.

subroutine matrix_vector::matrix_values_get_sp1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(sp), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets a value in a single precision real matrix at the location specified by the row and column index i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index of the value to get
[in]column_indexThe column index of the value to get
[out]valueOn return the value in the matrix at the specified row and column
[out]errThe error code
[out]errorThe error string

Definition at line 3585 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_sp_type.

subroutine matrix_vector::matrix_values_get_sp2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:,:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets a matrix of values in a single precision real matrix at the location specified by the row and column indices i.e., VALUE=MATRIX(I,J)

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the ij'th value to get
[in]column_indicesCOLUMN_INIDICES(j). The column index for the ij'th value to get
[out]valuesVALUES(i,j). On return the value of the ij'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 3632 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_sp_type.

subroutine matrix_vector::matrix_values_set_dp ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the values in a double precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix to set.
[in]row_indicesROW_INDICES(i). The row index of the i'th value to set
[in]column_indicesCOLUMN_INDICES(i). The column index of the i'th value to set
[in]valuesVALUES(i). The value of the i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4419 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_set_dp1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets a value in a double precision real matrix at the location specified by the row and column index i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index of the value to set
[in]column_indexThe column index of the value to set
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4484 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_set_dp2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(dp), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the matrix of values in a double precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix to set.
[in]row_indicesROW_INDICES(i). The row index of the ij'th value to set
[in]column_indicesCOLUMN_INDICES(j). The column index of the ij'th value to set
[in]valuesVALUES(i,j). The value of the ij'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4533 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_dp_type.

subroutine matrix_vector::matrix_values_set_intg ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the values in an integer matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the i'th value to set
[in]column_indicesCOLUMN_INIDICES(i). The column index for the i'th value to set
[in]valuesVALUES(i). The value of the i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4053 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_intg_type.

subroutine matrix_vector::matrix_values_set_intg1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
integer(intg), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets a value in an integer matrix at the location specified by the row and column index i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index of the value to set
[in]column_indexThe column index of the value to set
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4118 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_intg_type.

subroutine matrix_vector::matrix_values_set_intg2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
integer(intg), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the matrix of values in an integer matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indicesROW_INDICES(i). The row index for the ij'th value to set
[in]column_indicesCOLUMN_INIDICES(j). The column index for the ij'th value to set
[in]valuesVALUES(i,j). The value of the i,j'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4167 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_intg_type.

subroutine matrix_vector::matrix_values_set_l ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the values in a logical matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix to set
[in]row_indicesROW_INDICES(i). The row index of the i'th value to set
[in]column_indicesCOLUMN_INDICES(i). The column index of the i'th value to set
[in]valuesVALUES(i). The value of the i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4602 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_l_type.

subroutine matrix_vector::matrix_values_set_l1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
logical, intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets a value in a logical matrix at the location specified by the row and column index i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index of the value to set
[in]column_indexThe column index of the value to set
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4667 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_l_type.

subroutine matrix_vector::matrix_values_set_l2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
logical, dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the matrix of values in a logical matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix to set
[in]row_indicesROW_INDICES(i). The row index of the ij'th value to set
[in]column_indicesCOLUMN_INDICES(j). The column index of the ij'th value to set
[in]valuesVALUES(i,j). The value of the ij'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4716 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_l_type.

subroutine matrix_vector::matrix_values_set_sp ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the values in a single precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix to set
[in]row_indicesROW_INDICES(i). The row index of the i'th value to set
[in]column_indicesCOLUMN_INDICES(i). The column index of the i'th value to set
[in]valuesVALUES(i). The value of the i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4236 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_sp_type.

subroutine matrix_vector::matrix_values_set_sp1 ( type(matrix_type), pointer  MATRIX,
integer(intg), intent(in)  ROW_INDEX,
integer(intg), intent(in)  COLUMN_INDEX,
real(sp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the value in a single precision real matrix at the location specified by the row and column index i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix
[in]row_indexThe row index of the value to set
[in]column_indexThe column index of the value to set
[in]valueThe value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4301 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_sp_type.

subroutine matrix_vector::matrix_values_set_sp2 ( type(matrix_type), pointer  MATRIX,
integer(intg), dimension(:), intent(in)  ROW_INDICES,
integer(intg), dimension(:), intent(in)  COLUMN_INDICES,
real(sp), dimension(:,:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the matrix of values in a single precision real matrix at the location specified by the row and column indices i.e., MATRIX(I,J)=VALUE.

Parameters
matrixA pointer to the matrix to set
[in]row_indicesROW_INDICES(i). The row index of the ij'th value to set
[in]column_indicesCOLUMN_INDICES(j). The column index of the ij'th value to set
[in]valuesVALUES(i,j). The value of the ij'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 4350 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_storage_location_find(), and matrix_vector_sp_type.

subroutine matrix_vector::vector_all_values_set_dp ( type(vector_type), pointer  VECTOR,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets all values in a double precision vector to the specified value.

Parameters
vectorA pointer to the vector to set
[in]valueThe value to set the vector to
[out]errThe error code
[out]errorThe error string

Definition at line 4863 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_dp_type.

subroutine matrix_vector::vector_all_values_set_intg ( type(vector_type), pointer  VECTOR,
integer(intg), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets all values in an integer vector to the specified value.

Parameters
vectorA pointer to the vector to set
[in]valueThe value to set the vector to
[out]errThe error code
[out]errorThe error string

Definition at line 4785 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_intg_type.

subroutine matrix_vector::vector_all_values_set_l ( type(vector_type), pointer  VECTOR,
logical, intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets all values in a logical vector to the specified value.

Parameters
vectorA pointer to the vector to set
[in]valueThe value to set the vector to
[out]errThe error code
[out]errorThe error string

Definition at line 4902 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_l_type.

subroutine matrix_vector::vector_all_values_set_sp ( type(vector_type), pointer  VECTOR,
real(sp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets all values in a single precision vector to the specified value.

Parameters
vectorA pointer to the vector to set
[in]valueThe value to set the vector to
[out]errThe error code
[out]errorThe error string

Definition at line 4824 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_sp_type.

subroutine, public matrix_vector::vector_create_finish ( type(vector_type), pointer  VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Finihses the creation of a vector.

Parameters
vectorA pointer to the vector
[out]errThe error code
[out]errorThe error string

Definition at line 4941 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_vector_dp_type, matrix_vector_id, matrix_vector_intg_type, matrix_vector_l_type, and matrix_vector_sp_type.

Referenced by vector_duplicate().

subroutine, public matrix_vector::vector_create_start ( type(vector_type), pointer  VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Starts the creation a vector.

Parameters
vectorA pointer to the vector
[out]errThe error code
[out]errorThe error string

Definition at line 4994 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_vector_dp_type, vector_finalise(), and vector_initialise().

Referenced by vector_duplicate().

subroutine matrix_vector::vector_data_get_dp ( type(vector_type), pointer  VECTOR,
real(dp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Returns a pointer to the data of a double precision vector. Note: the values can be used for read operations but a VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated.

Parameters
vectorA pointer to the vector
dataOn return a pointer to the vector data
[out]errThe error code
[out]errorThe error string

Definition at line 5114 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_dp_type.

subroutine matrix_vector::vector_data_get_intg ( type(vector_type), pointer  VECTOR,
integer(intg), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Returns a pointer to the data of an integer vector. Note: the values can be used for read operations but a VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated.

Parameters
vectorA pointer to the vector
dataOn return a pointer to the vector data
[out]errThe error code
[out]errorThe error string

Definition at line 5026 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_intg_type.

subroutine matrix_vector::vector_data_get_l ( type(vector_type), pointer  VECTOR,
logical, dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Returns a pointer to the data of a logical vector. Note: the values can be used for read operations but a VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated.

Parameters
vectorA pointer to the vector
dataOn return a pointer to the vector data
[out]errThe error code
[out]errorThe error string

Definition at line 5158 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_l_type.

subroutine matrix_vector::vector_data_get_sp ( type(vector_type), pointer  VECTOR,
real(sp), dimension(:), pointer  DATA,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Returns a pointer to the data of a single precision vector. Note: the values can be used for read operations but a VECTOR_VALUES_SET call must be used to change any values. The pointer should not be deallocated.

Parameters
vectorA pointer to the vector
dataOn return a pointer to the vector data
[out]errThe error code
[out]errorThe error string

Definition at line 5070 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_sp_type.

subroutine, public matrix_vector::vector_data_type_set ( type(vector_type), pointer  VECTOR,
integer(intg), intent(in)  DATA_TYPE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the data type of a vector.

Parameters
vectorA pointer to the vector.
[in]data_typeThe data type to set.
See also
MATRIX_VECTOR::DataTypes,MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 5233 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), matrix_vector_dp_type, matrix_vector_intg_type, matrix_vector_l_type, and matrix_vector_sp_type.

Referenced by vector_duplicate().

subroutine, public matrix_vector::vector_datatypeget ( type(vector_type), pointer  vector,
integer(intg), intent(out)  dataType,
integer(intg), intent(out)  err,
type(varying_string), intent(out)  error 
)

Gets the data type of a vector.

Parameters
vectorA pointer to the vector
[out]datatypeOn return, the data type of the vector.
See also
MATRIX_VECTOR::DataTypes,MATRIX_VECTOR
Parameters
[out]errThe error code
[out]errorThe error string

Definition at line 5202 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

subroutine, public matrix_vector::vector_destroy ( type(vector_type), pointer  VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Destroys a vector.

Parameters
vectorA pointer to the vector
[out]errThe error code
[out]errorThe error string

Definition at line 5278 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and vector_finalise().

subroutine, public matrix_vector::vector_duplicate ( type(vector_type), pointer  VECTOR,
type(vector_type), pointer  NEW_VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Duplicates a vector structure and returns a pointer to the new vector in NEW_VECTOR.

Parameters
vectorA pointer to the vector to duplicate
new_vectorOn return a pointer to the new duplicated vector
[out]errThe error code
[out]errorThe error string

Definition at line 5305 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), vector_create_finish(), vector_create_start(), vector_data_type_set(), vector_finalise(), and vector_size_set().

subroutine matrix_vector::vector_finalise ( type(vector_type), pointer  VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Finalises a vector and deallocates all memory.

Parameters
vectorA pointer to the vector to finalise
[out]errThe error code
[out]errorThe error string

Definition at line 5341 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by vector_create_start(), vector_destroy(), and vector_duplicate().

subroutine matrix_vector::vector_initialise ( type(vector_type), pointer  VECTOR,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Initialises a vector.

Parameters
vectorA pointer to the vector
[out]errThe error code
[out]errorThe error string

Definition at line 5370 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by vector_create_start().

subroutine, public matrix_vector::vector_size_set ( type(vector_type), pointer  VECTOR,
integer(intg), intent(in)  N,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets/changes the size of a vector.

Parameters
vectorA pointer to the vector
[in]nThe size of the vector to set
[out]errThe error code
[out]errorThe error string

Definition at line 5402 of file matrix_vector.f90.

References base_routines::enters(), and base_routines::exits().

Referenced by vector_duplicate().

subroutine matrix_vector::vector_values_get_dp ( type(vector_type), pointer  VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
real(dp), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the values in a double precision real vector at the indices specified.

Parameters
vectorA pointer to the vector
[in]indicesINDICES(i). The i'th index to get
[out]valuesVALUES(i). On return the i'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 5647 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_dp_type.

subroutine matrix_vector::vector_values_get_dp1 ( type(vector_type), pointer  VECTOR,
integer(intg), intent(in)  INDEX,
real(dp), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets a value in a double precision vector at the location specified by the index.

Parameters
vectorA pointer to the vector
[in]indexThe index of the vector to get
[out]valueOn return the value of the vector at the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 5704 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_dp_type.

subroutine matrix_vector::vector_values_get_intg ( type(vector_type), pointer  VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
integer(intg), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the values in an integer vector at the indices specified.

Parameters
vectorA pointer to the vector
[in]indicesINDICES(i). The i'th index to get
[out]valuesVALUES(i). On return the i'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 5441 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_intg_type.

subroutine matrix_vector::vector_values_get_intg1 ( type(vector_type), pointer  VECTOR,
integer(intg), intent(in)  INDEX,
integer(intg), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets a value in an integer vector at the location specified by the index.

Parameters
vectorA pointer to the vector
[in]indexThe index of the vector to get
[out]valueOn return the value of the vector at the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 5498 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_intg_type.

subroutine matrix_vector::vector_values_get_l ( type(vector_type), pointer  VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
logical, dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the values in a logical real vector at the indices specified.

Parameters
vectorA pointer to the vector
[in]indicesINDICES(i). The i'th index to get
[out]valuesVALUES(i). On return the i'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 5750 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_l_type.

subroutine matrix_vector::vector_values_get_l1 ( type(vector_type), pointer  VECTOR,
integer(intg), intent(in)  INDEX,
logical, intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets a value in a logical vector at the location specified by the index.

Parameters
vectorA pointer to the vector
[in]indexThe index of the vector to get
[out]valueOn return the value of the vector at the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 5807 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_l_type.

subroutine matrix_vector::vector_values_get_sp ( type(vector_type), pointer  VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
real(sp), dimension(:), intent(out)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets the values in a single precision real vector at the indices specified.

Parameters
vectorA pointer to the vector
[in]indicesINDICES(i). The i'th index to get
[out]valuesVALUES(i). On return the i'th value to get
[out]errThe error code
[out]errorThe error string

Definition at line 5544 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_sp_type.

subroutine matrix_vector::vector_values_get_sp1 ( type(vector_type), pointer  VECTOR,
integer(intg), intent(in)  INDEX,
real(sp), intent(out)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Gets a value in a single precision vector at the location specified by the index.

Parameters
vectorA pointer to the vector
[in]indexThe index of the vector to get
[out]valueOn return the value of the vector at the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 5601 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_sp_type.

subroutine matrix_vector::vector_values_set_dp ( type(vector_type), pointer  VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
real(dp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the values in a double precision vector at the specified indices.

Parameters
vectorA pointer to the vector
[in]indicesINDICES(i). The i'th index to set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 6059 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_dp_type.

subroutine matrix_vector::vector_values_set_dp1 ( type(vector_type), pointer  VECTOR,
integer(intg), intent(in)  INDEX,
real(dp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets a value in a double precision vector at the specified index.

Parameters
vectorA pointer to the vector
[in]indexThe index to set
[in]valueThe value to set at the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 6116 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_dp_type.

subroutine matrix_vector::vector_values_set_intg ( type(vector_type), pointer  VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
integer(intg), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the values in an integer vector at the specified indices.

Parameters
vectorA pointer to the vector
[in]indicesINDICES(i). The i'th index to set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 5853 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_intg_type.

subroutine matrix_vector::vector_values_set_intg1 ( type(vector_type), pointer  VECTOR,
integer(intg), intent(in)  INDEX,
integer(intg), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets a value in an integer vector at the specified index.

Parameters
vectorA pointer to the vector
[in]indexThe index to set
[in]valueThe value to set at the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 5910 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_intg_type.

subroutine matrix_vector::vector_values_set_l ( type(vector_type), pointer  VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
logical, dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the values in a logical vector at the specified indices.

Parameters
vectorA pointer to the vector
[in]indicesINDICES(i). The i'th index to set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 6162 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_l_type.

subroutine matrix_vector::vector_values_set_l1 ( type(vector_type), pointer  VECTOR,
integer(intg), intent(in)  INDEX,
logical, intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets a value in a logical vector at the specified index.

Parameters
vectorA pointer to the vector
[in]indexThe index to set
[in]valueThe value to set at the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 6219 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_l_type.

subroutine matrix_vector::vector_values_set_sp ( type(vector_type), pointer  VECTOR,
integer(intg), dimension(:), intent(in)  INDICES,
real(sp), dimension(:), intent(in)  VALUES,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets the values in a single precision vector at the specified indices.

Parameters
vectorA pointer to the vector
[in]indicesINDICES(i). The i'th index to set
[in]valuesVALUES(i). The i'th value to set
[out]errThe error code
[out]errorThe error string

Definition at line 5956 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_sp_type.

subroutine matrix_vector::vector_values_set_sp1 ( type(vector_type), pointer  VECTOR,
integer(intg), intent(in)  INDEX,
real(sp), intent(in)  VALUE,
integer(intg), intent(out)  ERR,
type(varying_string), intent(out)  ERROR 
)

Sets a value in a single precision vector at the specified index.

Parameters
vectorA pointer to the vector
[in]indexThe index to set
[in]valueThe value to set at the specified index
[out]errThe error code
[out]errorThe error string

Definition at line 6013 of file matrix_vector.f90.

References base_routines::enters(), base_routines::exits(), and matrix_vector_sp_type.

Variable Documentation

integer(intg), parameter matrix_vector::bisectiontolinearsearchthreshold =10

Threshold for transition from bisection to linear search.

Definition at line 172 of file matrix_vector.f90.

Referenced by matrix_storage_location_find(), matrix_values_add_dp2(), matrix_values_add_intg2(), matrix_values_add_l2(), and matrix_values_add_sp2().

integer(intg), save matrix_vector::matrix_vector_id =1

Definition at line 180 of file matrix_vector.f90.

Referenced by matrix_create_finish(), and vector_create_finish().