NTPoly
Functions/Subroutines
densematrixmodule Module Reference

This module allows one to convert a sparse matrix to a dense matrix. It also supports dense the dense versions of core matrix routines. This module is used in situations where matrices become too dense for good sparse matrix performance. More...

Functions/Subroutines

pure subroutine, public constructdensefromsparse (sparse_matrix, dense_matrix)
 A function that converts a sparse matrix to a dense matrix. More...
 
pure subroutine, public constructsparsefromdense (dense_matrix, sparse_matrix, threshold)
 A function that converts a dense matrix to a sparse matrix. More...
 
pure subroutine, public multiplydense (MatA, MatB, MatC)
 A wrapper for multiplying two dense matrices. More...
 

Detailed Description

This module allows one to convert a sparse matrix to a dense matrix. It also supports dense the dense versions of core matrix routines. This module is used in situations where matrices become too dense for good sparse matrix performance.

Function/Subroutine Documentation

◆ constructdensefromsparse()

pure subroutine, public densematrixmodule::constructdensefromsparse ( type(sparsematrix_t), intent(in)  sparse_matrix,
real(ntreal), dimension(:,:), intent(inout)  dense_matrix 
)

A function that converts a sparse matrix to a dense matrix.

Parameters
[in]sparse_matrixa sparse matrix to convert.
[in,out]dense_matrixoutput. Must be preallocated.

◆ constructsparsefromdense()

pure subroutine, public densematrixmodule::constructsparsefromdense ( real(ntreal), dimension(:,:), intent(in)  dense_matrix,
type(sparsematrix_t), intent(inout)  sparse_matrix,
real(ntreal), intent(in)  threshold 
)

A function that converts a dense matrix to a sparse matrix.

Parameters
[in]dense_matrixto convert.
[out]sparse_matrixoutput matrix.
[in]thresholdvalue for pruning values to zero.

◆ multiplydense()

pure subroutine, public densematrixmodule::multiplydense ( real(ntreal), dimension(:,:), intent(in)  MatA,
real(ntreal), dimension(:,:), intent(in)  MatB,
real(ntreal), dimension(:,:), intent(inout)  MatC 
)

A wrapper for multiplying two dense matrices.

Parameters
[in]MatAthe first matrix.
[in]MatBthe second matrix.
[in,out]MatC= MatA*MatB. MatC must be preallocated.