ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
Partition_mod::PartitionMaxDen_type Interface Reference

The PartitionMaxDen_type class. More...

Inheritance diagram for Partition_mod::PartitionMaxDen_type:
Collaboration diagram for Partition_mod::PartitionMaxDen_type:

Public Member Functions

procedure, pass get => getPartitionMaxDen
 
procedure, pass write => writePartitionMaxDen
 
 constructPartitionMaxDen
 
- Public Member Functions inherited from Partition_mod::Partition_type
procedure(getPartition_proc), deferred get
 
procedure(write_proc), deferred write
 

Public Attributes

logical(LK) scaleOptimizationEnabled
 See the interface of constructPartition(). More...
 
logical(LK) shapeOptimizationEnabled
 See the interface of constructPartition(). More...
 
logical(LK) shapeAdaptationEnabled
 See the interface of constructPartition(). More...
 
logical(LK) optimizationEnabled
 A logical variable indicating whether either scale or shape optimization is enabled. More...
 
real(RK), dimension(:), allocatable LogLikeFitness
 An array of size (nemax) indicating the likelihood of subclustering (0<<1 if successful, else 1<<2 if failed), enlargement (if < 0), being warranted. If further partitioning is warranted but fails, the likelihood will be negative. More...
 
type(ParPropTryDen_type), dimension(:), allocatable Try
 An array of size (0:nemax) containing the partition tries. More...
 
- Public Attributes inherited from Partition_mod::Partition_type
integer(IK) nd
 
integer(IK) np
 See the interface of constructPartition(). More...
 
integer(IK) nc
 
integer(IK) nt
 See the interface of constructPartition(). More...
 
integer(IK) nemax
 See the interface of constructPartition(). More...
 
integer(IK) minSize
 See the interface of constructPartition(). More...
 
integer(IK) kmeansNumFailMax
 See the interface of constructPartition(). More...
 
integer(IK) numRecursiveCall
 The total number of recursive calls to the partitioning algorithm. More...
 
integer(IK) kmeansNumRecursionMax
 See the interface of constructPartition(). More...
 
integer(IK) convergenceFailureCount
 The number of times the partitioning algorithm has failed to converge. More...
 
integer(IK) kvolumeNumRecursionMax
 See the interface of constructPartition(). More...
 
logical(LK) biasCorrectionEnabled
 See the interface of constructPartition(). More...
 
logical(LK) mahalSqWeightEnabled
 A logical variable indicating whether if the input mahalSqWeight is nonzero. More...
 
logical(LK) stanEnabled
 See the interface of constructPartition(). More...
 
real(RK) nplog
 The natural logarithm of np, the initial number of points. More...
 
real(RK) kmeansRelTol
 See the interface of constructPartition(). More...
 
real(RK) logExpansion
 See the interface of constructPartition(). More...
 
real(RK) logShrinkage
 See the interface of constructPartition(). More...
 
real(RK) pointLogVolNormed
 The estimated volume of a single point based on the input value of parentLogVolNormed. More...
 
real(RK) parentLogVolNormed
 See the interface of constructPartition(). More...
 
real(RK) mahalSqWeightExponent
 See the interface of constructPartition(). More...
 
real(RK), dimension(:), allocatable BiasCorrectionScaleFactorSq
 The empirical corrections to the scale factors squared for different cluster sizes. More...
 
integer(IK), dimension(:), allocatable PointIndex
 An array of size (np) of indices such that the input Point(1:nd,Index(ip)) is saved at the output Point(1:nd,ip). More...
 
type(Err_type) Err
 An object of class Err_type containing information about error occurrence. More...
 
- Public Attributes inherited from Partition_mod::PartitionBase_type
integer(IK) ne
 The predicted optimal number of clusters identified in the input data. More...
 
integer(IK), dimension(:,:), allocatable Final
 An array of size (2,nemax) representing the (it,ic) indices of terminal partitions in Try component. More...
 
real(RK), dimension(:), allocatable VolNormedCDF
 The normalized cumulative volumes of the final partitions (to be used for selecting partitions uniformly randomly). More...
 
- Public Attributes inherited from Partition_mod::BaseProp_type
integer(IK), dimension(:), allocatable Size
 An array of size (nemax) representing the sizes of the corresponding bounding ellipsoids. More...
 
integer(IK), dimension(:), allocatable CumSumSize
 An array of size (0:nemax) containing the Cumulative sum of the array Size(). More...
 
integer(IK), dimension(:), allocatable Membership
 An array of size (np) representing the bounding-ellipsoid membership IDs of the corresponding data points. More...
 
integer(IK), dimension(:), allocatable EffectiveSize
 An array of size (nemax) indicating the likelihood of subclustering (0<<1 if successful, else 1<<2 if failed), enlargement (if < 0), being warranted. If further partitioning is warranted but fails, the likelihood will be negative. More...
 
real(RK), dimension(:), allocatable LogVolNormed
 An array of size (nemax) representing the log-volumes of the corresponding bounding ellipsoids. More...
 
real(RK), dimension(:,:,:), allocatable ChoLowCovUpp
 An array of size (nd,nd,nemax) representing the Cholesky lower triangle, diagonal, and covariance matrices of the bounding ellipsoids. More...
 
real(RK), dimension(:,:,:), allocatable InvCovMat
 An array of size (nd,nd,nemax) representing the full symmetric inverse covariance matrices of the bounding ellipsoids. More...
 
real(RK), dimension(:,:), allocatable ChoDia
 An array of size (nd,nemax) representing the Cholesky lower triangle, diagonal, and covariance matrices of the bounding ellipsoids. More...
 
real(RK), dimension(:,:), allocatable Center
 An array of size (nd,nemax) representing the centers of the bounding ellipsoids. More...
 

Detailed Description

The PartitionMaxDen_type class.

This function can serve as the constructor for PartitionMaxDen_type while also performing the partitioning for the first time. Construct a hierarchical partitioning of the input Point using a combination of Kmeans, Kvolume, and density maximization algorithms.

Parameters
[in]Point: An array of size (nd = #dimensions, np = #observations) containing the input set of points to partition.
[in]parentLogVolNormed: The logarithm of the volume of the input set of points normalized to the volume of the unit nd-ball.
[in]nc: The number of clusters at each level of partitioning (optional, default = 2).
[in]nt: The number of Kmeans clustering tries before choosing the optimal clustering among all (optional, default = 1).
[in]nemax: The maximum number of partitions to be expected or identified in the input Point (optional, default = max(nc, 1 + np / (nd + 1))).
[in]minSize: The minimum allowed size of a partition, that is, the minimum allowed number of points in a partition (optional, default = 0).
[in]stanEnabled: A logical value, indicating weather Point should be standardized prior to each Kmeans clustering (optional, default = .true.).
[in]trimEnabled: A logical value, indicating weather all allocatable components have been trimmed to the minimum size (optional, default = .false.).
[in]kmeansRelTol: The relative tolerance below which the Kmeans clustering is assumed to have converged (optional, default = 1.e-4).
[in]logExpansion: The factor by which the expected volumes of the bounding ellipsoids are enlarged before any comparisons are made for further sub-partitioning (optional, default = 0.).
[in]logShrinkage: The logarithm of the factor by which the sum of the volumes of the children bounds must be smaller than their parents to warrant further sub-partitioning (optional, default = 0.).
[in]mahalSqWeightExponent: The exponent with which the density of the partitions are exponentiated to be used as the Mahalanobis distance weights (optional, default = 0.).
[in]kmeansNumFailMax: The maximum number of times Kmeans clustering is allowed to fail (optional, default = 10).
[in]kmeansNumRecursionMax: The maximum number of times Kmeans clustering is allowed to refine the cluster centers via the algorithm of Lloyd (optional, default = 300).
[in]kvolumeNumRecursionMax: The maximum number of times Kvolume algorithm is run to minimize the partition volumes at a given partitioning level (optional, default = 3).
Warning
On output, Point will be reordered.
When trimEnabled = .false., only the first 1:ne elements of all allocatable arrays contain meaningful information. As such, the rest of the trailing elements must be properly ignored when using the allocatable Partition components. For example, upon exit, only PartitionLogVolNormed(1:Partitionne) contain meaningful information.
When trimEnabled = .true., all allocatable arrays will be trimmed from size nemax to the size ne. In such a case, calling the method Partitiontun() after constructing the Partition object for the first time will likely lead to segmentation fault error.
Remarks
If no input value if provided for parentLogVolNormed, both parentLogVolNormed and pointLogVolNormed will (must) be set to NEGBIG_RK.
Author:
Amir Shahmoradi, April 03, 2017, 2:16 AM, ICES, University of Texas at Austin

Definition at line 201 of file Partition_mod.F90.

Member Function/Subroutine Documentation

◆ constructPartitionMaxDen()

Partition_mod::PartitionMaxDen_type::constructPartitionMaxDen

◆ get()

procedure, pass Partition_mod::PartitionMaxDen_type::get

Definition at line 209 of file Partition_mod.F90.

◆ write()

procedure, pass Partition_mod::PartitionMaxDen_type::write

Definition at line 210 of file Partition_mod.F90.

Member Data Documentation

◆ LogLikeFitness

real(RK), dimension(:), allocatable Partition_mod::PartitionMaxDen_type::LogLikeFitness

An array of size (nemax) indicating the likelihood of subclustering (0<<1 if successful, else 1<<2 if failed), enlargement (if < 0), being warranted. If further partitioning is warranted but fails, the likelihood will be negative.

Definition at line 206 of file Partition_mod.F90.

◆ optimizationEnabled

logical(LK) Partition_mod::PartitionMaxDen_type::optimizationEnabled

A logical variable indicating whether either scale or shape optimization is enabled.

Definition at line 205 of file Partition_mod.F90.

◆ scaleOptimizationEnabled

logical(LK) Partition_mod::PartitionMaxDen_type::scaleOptimizationEnabled

See the interface of constructPartition().

Definition at line 202 of file Partition_mod.F90.

◆ shapeAdaptationEnabled

logical(LK) Partition_mod::PartitionMaxDen_type::shapeAdaptationEnabled

See the interface of constructPartition().

Definition at line 204 of file Partition_mod.F90.

◆ shapeOptimizationEnabled

logical(LK) Partition_mod::PartitionMaxDen_type::shapeOptimizationEnabled

See the interface of constructPartition().

Definition at line 203 of file Partition_mod.F90.

◆ Try

type(ParPropTryDen_type), dimension(:), allocatable Partition_mod::PartitionMaxDen_type::Try

An array of size (0:nemax) containing the partition tries.

Definition at line 207 of file Partition_mod.F90.


The documentation for this interface was generated from the following file: