ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation. |
This module contains procedures and generic interfaces for computing the Euclidean norm of a single point (with respect to origin or a given reference) or the pairwise Euclidean distances (squared) of a collection of points with respect to another set of reference points, optionally without undue overflow or underflow. More...
Data Types | |
type | euclid_type |
This is a concrete derived type whose instances are exclusively used to request safe method of computing Euclidean distances (without undue overflow or underflow). More... | |
type | euclidsq_type |
This is a concrete derived type whose instances are exclusively used to request computing Euclidean squared-distances (with the possible risk of overflow or underflow). More... | |
type | euclidu_type |
This is a concrete derived type whose instances are exclusively used to request unsafe method of computing Euclidean distances (with the possibility of undue overflow or underflow). More... | |
type | euclidv_type |
This is a concrete derived type whose instances are exclusively used to request computing Euclidean volumes (with the possible risk of overflow or underflow). More... | |
interface | getDisEuclid |
Generate and return the (squared) Euclidean distance of a (set of) point(s) in ndim -dimensions from a reference point (possibly origin), optionally robustly without underflow or overflow.More... | |
interface | getDisMatEuclid |
Return the full or a subset of the Euclidean (squared) distance matrix of the input set of npnt points in ndim dimensions. More... | |
interface | setDisEuclid |
Generate and return the (squared) Euclidean distance of a (set of) point(s) in ndim -dimensions from a reference point (possibly origin), optionally robustly without underflow or overflow.More... | |
interface | setDisMatEuclid |
Return the full or a subset of the Euclidean (squared) distance matrix of the input set of npnt points in ndim dimensions. More... | |
Variables | |
character(*, SK), parameter | MODULE_NAME = "@pm_distanceEuclid" |
type(euclid_type), parameter | euclid = euclid_type() |
This is a scalar parameter object of type euclid_type that is exclusively used to request safe method of computing Euclidean distances (without undue overflow or underflow).More... | |
type(euclidu_type), parameter | euclidu = euclidu_type() |
This is a scalar parameter object of type euclidu_typethat is exclusively used to request unsafe method of computing Euclidean distances (with the possibility of undue overflow or underflow).More... | |
type(euclidv_type), parameter | euclidv = euclidv_type() |
This is a scalar parameter object of type euclidv_typethat is exclusively used to request computing Euclidean squared-distances (without undue overflow or underflow).More... | |
type(euclidsq_type), parameter | euclidsq = euclidsq_type() |
This is a scalar parameter object of type euclidsq_typethat is exclusively used to request computing Euclidean squared-distances (without undue overflow or underflow).More... | |
This module contains procedures and generic interfaces for computing the Euclidean norm of a single point (with respect to origin or a given reference) or the pairwise Euclidean distances (squared) of a collection of points with respect to another set of reference points, optionally without undue overflow or underflow.
In mathematics, a norm is a function from a real or complex vector space to the non-negative real numbers that behaves in certain ways like the distance from the origin.
It commutes with scaling, obeys a form of the triangle inequality, and is zero only at the origin.
In particular, the Euclidean distance of a vector from the origin is a norm, called the Euclidean norm, or 2-norm.
It is commonly defined as the square root of the inner product of a vector with itself.
Usage Directions
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.
type(euclid_type), parameter pm_distanceEuclid::euclid = euclid_type() |
This is a scalar parameter
object of type euclid_type that is exclusively used to request safe method of computing Euclidean distances (without undue overflow or underflow).
This scalar parameter
object is exclusively used to differentiate the procedures within the getDisMatEuclid and setDisMatEuclid generic interfaces.
See getDisMatEuclid and setDisMatEuclid for example usage.
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 147 of file pm_distanceEuclid.F90.
type(euclidsq_type), parameter pm_distanceEuclid::euclidsq = euclidsq_type() |
This is a scalar parameter
object of type euclidsq_typethat is exclusively used to request computing Euclidean squared-distances (without undue overflow or underflow).
This scalar parameter
object is exclusively used to differentiate the procedures within the getDisMatEuclid and setDisMatEuclid generic interfaces.
See getDisMatEuclid and setDisMatEuclid for example usage.
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 351 of file pm_distanceEuclid.F90.
type(euclidu_type), parameter pm_distanceEuclid::euclidu = euclidu_type() |
This is a scalar parameter
object of type euclidu_typethat is exclusively used to request unsafe method of computing Euclidean distances (with the possibility of undue overflow or underflow).
This scalar parameter
object is exclusively used to differentiate the procedures within the getDisMatEuclid and setDisMatEuclid generic interfaces.
See getDisMatEuclid and setDisMatEuclid for example usage.
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 215 of file pm_distanceEuclid.F90.
type(euclidv_type), parameter pm_distanceEuclid::euclidv = euclidv_type() |
This is a scalar parameter
object of type euclidv_typethat is exclusively used to request computing Euclidean squared-distances (without undue overflow or underflow).
This scalar parameter
object is exclusively used to differentiate the procedures within the getDisMatEuclid and setDisMatEuclid generic interfaces.
See getDisMatEuclid and setDisMatEuclid for example usage.
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 283 of file pm_distanceEuclid.F90.
character(*, SK), parameter pm_distanceEuclid::MODULE_NAME = "@pm_distanceEuclid" |
Definition at line 82 of file pm_distanceEuclid.F90.