Skip to main content

K-Tensors

Project description

K-Tensors: Clustering Positive Semi-Definite Matrices

Project Status: Active Build Status codecov CRAN_Status_Badge CRAN_Download_Badge

Install the Package from PyPI

  • Go to the terminal (mac) or command line (windows), copy and paste:pip3 install KTensors or pip3 install KTensors==0.1.7 for a specific version

install the Package from GitHub

  • Go to the terminal (mac) or command line (windows), copy and paste:pip3 install git+https://github.com/Hanchao-Zhang/KTensors.git
  • Open a python console, copy and paste: from KTensors import KTensors

About the Package

KTensors

KTensors(Psis, K, max_iter=1000).clustering()

input:

  • Psis: a 3D array of size (n, p, p) where n is the number of matrices and p is the dimension of the positive semi-definite matrices.
  • K: number of clusters
  • max_iter: maximum number of iterations, default is 1000, usually finish within 10 iterations

return:

  • group: a vector of length n, each element is an index of group membership
  • CPCs: K orthonormal basis matrices of size p by p for each cluster
  • $\mathbf F$: $\mathbf F = \mathbf B^\top \mathbf\Psi \mathbf B$
  • $\text{diag}(\mathbf F)$: $\text{diag}(\mathbf F) = (\mathbf B^\top \mathbf\Psi \mathbf B) \circ \mathbf I$ the diagonal of matrix $\mathbf F$
  • centers: Mean of each cluster
  • loss: loss function for each iteration

KMetrics

KMetrics(Psis, K, metrics) input:

  • Psis: a 3D array of size (n, p, p) where n is the number of matrices and p is the dimension of the positive semi-definite matrices.
  • K: number of clusters
  • metrics: a string of metrics, including 'euclidean', 'affine_invariant', 'log_euclidean', 'log_det', and 'symmetric_stein'.

output:

  • a vector of length n, each element is an index of group membership
  • loss function for each iteration

Some Tecnical Details

Loss Function

$$\begin{aligned}\mathcal L(\mathbf \Psi, \mathcal P_{\mathbf B} (\mathbf \Psi) ) = \Vert \mathbf \Psi - \mathbf B((\mathbf B^\top \mathbf \Psi \mathbf B) \circ \mathbb I )\mathbf B^\top \Vert_F^2 = \Vert\mathbf B^\top \mathbf \Psi \mathbf B - (\mathbf B^\top \mathbf \Psi \mathbf B)\circ \mathbb I \Vert_F^2 \end{aligned}$$

where $\mathbb I$ is a identity matrix, and $\circ$ is the Hadamard product.

For more technical details, please refer to the paper.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

KTensors-0.1.7.tar.gz (3.8 kB view details)

Uploaded Source

File details

Details for the file KTensors-0.1.7.tar.gz.

File metadata

  • Download URL: KTensors-0.1.7.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for KTensors-0.1.7.tar.gz
Algorithm Hash digest
SHA256 29d9d111112fbfb67bd06d6e4c3ee6d4ee1d0677036185cb0297d72f2dcbc1a6
MD5 879a15d93f98e4dedb6aab7ffe91a794
BLAKE2b-256 316384f3dbca49f7898bbe6f43634aa29ea8992a31f8615c1a84ef11714747f8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page