ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation. |
This module contains abstract and concrete derived types that are required for compile-time resolution of procedures within the generic interfaces of the ParaMonte library for Linear Algebra operations.
Such procedures frequently need to work on the upper/lower-diagonal triangular blocks of some of their input matrix arguments.
More...
Data Types | |
type | dia_type |
This is a concrete derived type whose instances are exclusively used to request unit (or Identity or diagonal) storage format of a given matrix within an interface of a procedure of the ParaMonte library. More... | |
interface | getSubComp |
Generate and return the objects representing the complementary subset of the input matrix subset sub with respect to the main diagonal of the matrix. More... | |
interface | getSubSymm |
Generate and return the objects representing the symmetric mirror subset of the input matrix subset sub with respect to the main diagonal of the matrix. More... | |
interface | getSubUnion |
Generate and return the object representing the union of two input matrix subsets. More... | |
type | low_type |
This is a concrete derived type whose instances are exclusively used to request lower-triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library. More... | |
type | lowDia_type |
This is a concrete derived type whose instances are exclusively used to request lower-diagonal triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library. More... | |
type | subset_type |
This is an abstract derived type for constructing concrete derived types to distinguish various procedure signatures that require different forms of storage (upper-diagonal triangular, lower-diagonal triangular, ...).More... | |
type | upp_type |
This is a concrete derived type whose instances are exclusively used to request upper-triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library. More... | |
type | uppDia_type |
This is a concrete derived type whose instances are exclusively used to request upper-diagonal triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library. More... | |
type | uppLow_type |
This is a concrete derived type whose instances are exclusively used to request upper-lower triangular (excluding diagonal) storage format of a given matrix within an interface of a procedure of the ParaMonte library. More... | |
type | uppLowDia_type |
This is a concrete derived type whose instances are exclusively used to request full diagonal and upper-lower triangular (excluding diagonal) storage format of a given matrix within an interface of a procedure of the ParaMonte library. More... | |
Variables | |
character(*, SK), parameter | MODULE_NAME = "@pm_matrixSubset" |
type(upp_type), parameter | upp = upp_type() |
This is a scalar parameter object of type upp_type that is exclusively used to request upper-triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library.More... | |
type(low_type), parameter | low = low_type() |
This is a scalar parameter object of type low_type that is exclusively used to request lower-triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library.More... | |
type(dia_type), parameter | dia = dia_type() |
This is a scalar parameter object of type dia_type that is exclusively used to request unit (or Identity or diagonal) storage format of a given matrix within an interface of a procedure of the ParaMonte library.More... | |
type(uppLow_type), parameter | uppLow = uppLow_type() |
This is a scalar parameter object of type uppLow_type that is exclusively used to request upper-lower triangular (excluding diagonal) storage format of a given matrix within an interface of a procedure of the ParaMonte library.More... | |
type(uppLowDia_type), parameter | uppLowDia = uppLowDia_type() |
This is a scalar parameter object of type uppLowDia_type that is exclusively used to request full diagonal and upper-lower triangular (excluding diagonal) storage format of a given matrix within an interface of a procedure of the ParaMonte library.More... | |
type(uppDia_type), parameter | uppDia = uppDia_type() |
This is a scalar parameter object of type uppDia_type that is exclusively used to request upper-diagonal triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library.More... | |
type(lowDia_type), parameter | lowDia = lowDia_type() |
This is a scalar parameter object of type lowDia_type that is exclusively used to request lower-diagonal triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library.More... | |
This module contains abstract and concrete derived types that are required for compile-time resolution of procedures within the generic interfaces of the ParaMonte library for Linear Algebra operations.
Such procedures frequently need to work on the upper/lower-diagonal triangular blocks of some of their input matrix arguments.
Within this module, a lower-triangular storage for a subset of an arbitrary matrix has the form,
\begin{equation} L = {\begin{bmatrix}\ell _{1,1}&&&&\\\ell _{2,1}&\ell _{2,2}&&&\\\ell _{3,1}&\ell _{3,2}&\ddots &&\\\vdots &\vdots &\ddots &\ddots &\\\ell _{n,1}&\ell _{n,2}&\ldots &\ell _{n,n-1}&\ell _{n,n}\end{bmatrix}} ~, \end{equation}
while an upper-triangular storage for a subset of an arbitrary matrix has the form,
\begin{equation} \ms{U} = {\begin{bmatrix}u_{1,1}&u_{1,2}&u_{1,3}&\ldots &u_{1,n}\\&u_{2,2}&u_{2,3}&\ldots &u_{2,n}\\&&\ddots &\ddots &\vdots \\&&&\ddots &u_{n-1,n}\\0&&&&u_{n,n}\end{bmatrix}} ~. \end{equation}
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
This is a scalar parameter
object of type dia_type that is exclusively used to request unit (or Identity or diagonal) storage format of a given matrix within an interface of a procedure of the ParaMonte library.
For example usage, see the documentation of the target procedure requiring this object.
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
Definition at line 288 of file pm_matrixSubset.F90.
This is a scalar parameter
object of type low_type that is exclusively used to request lower-triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library.
For example usage, see the documentation of the target procedure requiring this object.
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
Definition at line 217 of file pm_matrixSubset.F90.
type(lowDia_type), parameter pm_matrixSubset::lowDia = lowDia_type() |
This is a scalar parameter
object of type lowDia_type that is exclusively used to request lower-diagonal triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library.
For example usage, see the documentation of the target procedure requiring this object.
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
Definition at line 567 of file pm_matrixSubset.F90.
character(*,SK), parameter pm_matrixSubset::MODULE_NAME = "@pm_matrixSubset" |
Definition at line 46 of file pm_matrixSubset.F90.
This is a scalar parameter
object of type upp_type that is exclusively used to request upper-triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library.
For example usage, see the documentation of the target procedure requiring this object.
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
Definition at line 146 of file pm_matrixSubset.F90.
type(uppDia_type), parameter pm_matrixSubset::uppDia = uppDia_type() |
This is a scalar parameter
object of type uppDia_type that is exclusively used to request upper-diagonal triangular storage format of a given matrix within an interface of a procedure of the ParaMonte library.
For example usage, see the documentation of the target procedure requiring this object.
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
Definition at line 501 of file pm_matrixSubset.F90.
type(uppLow_type), parameter pm_matrixSubset::uppLow = uppLow_type() |
This is a scalar parameter
object of type uppLow_type that is exclusively used to request upper-lower triangular (excluding diagonal) storage format of a given matrix within an interface of a procedure of the ParaMonte library.
For example usage, see the documentation of the target procedure requiring this object.
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
Definition at line 359 of file pm_matrixSubset.F90.
type(uppLowDia_type), parameter pm_matrixSubset::uppLowDia = uppLowDia_type() |
This is a scalar parameter
object of type uppLowDia_type that is exclusively used to request full diagonal and upper-lower triangular (excluding diagonal) storage format of a given matrix within an interface of a procedure of the ParaMonte library.
For example usage, see the documentation of the target procedure requiring this object.
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
Definition at line 430 of file pm_matrixSubset.F90.