GMM_t Derived Type

type, public :: GMM_t


Components

Type Visibility Attributes Name Initial
logical, public :: initialized = .false.
logical, public :: with_kmeans
integer, public :: ndims
integer, public :: nclusters
integer, public :: max_nclusters
integer, public :: maxiters
real(kind=RP), public :: mutol
real(kind=RP), public :: lltol
real(kind=RP), public :: zerotol
real(kind=RP), public :: logL
real(kind=RP), public, allocatable :: prob(:,:)
real(kind=RP), public, pointer, contiguous :: centroids(:,:)
type(GaussianList_t), public :: g
type(kMeans_t), public :: kmeans

Finalization Procedures

final :: GMM_final

  • private subroutine GMM_final(self)

    Arguments

    Type IntentOptional Attributes Name
    type(GMM_t), intent(inout) :: self

Type-Bound Procedures

procedure, public :: init => GMM_init

  • private subroutine GMM_init(self, ndims, nclusters, maxiters, collapse_tol, logl_tol, zero_tol)

    Arguments

    Type IntentOptional Attributes Name
    class(GMM_t), intent(inout) :: self
    integer, intent(in) :: ndims
    integer, intent(in) :: nclusters
    integer, intent(in), optional :: maxiters
    real(kind=RP), intent(in), optional :: collapse_tol
    real(kind=RP), intent(in), optional :: logl_tol
    real(kind=RP), intent(in), optional :: zero_tol

procedure, public :: fit => GMM_fit

  • private subroutine GMM_fit(self, x, info, centroids, reset, adapt, from_kmeans)

    Arguments

    Type IntentOptional Attributes Name
    class(GMM_t), intent(inout) :: self
    real(kind=RP), intent(in) :: x(:,:)
    integer, intent(out), optional :: info
    real(kind=RP), intent(in), optional :: centroids(self%ndims,self%max_nclusters)
    logical, intent(in), optional :: reset
    logical, intent(in), optional :: adapt
    logical, intent(in), optional :: from_kmeans

procedure, public :: predict => GMM_predict

  • private subroutine GMM_predict(self, x, info)

    Arguments

    Type IntentOptional Attributes Name
    class(GMM_t), intent(inout) :: self
    real(kind=RP), intent(in) :: x(:,:)
    integer, intent(out), optional :: info