Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/feature/v4_docs_review' into fea…
Browse files Browse the repository at this point in the history
…ture/v4_docs_review
  • Loading branch information
dimtsap committed Apr 6, 2022
2 parents 8b3219a + 601e1f9 commit 1132c56
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 10 deletions.
11 changes: 11 additions & 0 deletions docs/source/bibliography.bib
Original file line number Diff line number Diff line change
Expand Up @@ -708,4 +708,15 @@ @article{Utilities3
author = {Houduo Qi and Defeng Sun},
title = {A Quadratically Convergent Newton Method for Computing the Nearest Correlation Matrix},
journal = {{SIAM} Journal on Matrix Analysis and Applications}
}

@article{dsilva2018parsimonious,
title={Parsimonious representation of nonlinear dynamical systems through manifold learning: A chemotaxis case study},
author={Dsilva, Carmeline J and Talmon, Ronen and Coifman, Ronald R and Kevrekidis, Ioannis G},
journal={Applied and Computational Harmonic Analysis},
volume={44},
number={3},
pages={759--773},
year={2018},
publisher={Elsevier}
}
3 changes: 3 additions & 0 deletions docs/source/dimension_reduction/dmaps.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ the data. On this graph a random walk is defined with a Markov transition probab
data points. An eigendecomposition of the Markov transition probability matrix is used to obtain lower-dimensional
coordinates that reveal the instrinsic structure of the data.

The :class:`.DiffusionMaps` class also implements the parsimonious Diffusion Maps representation from
:cite:t:`dsilva2018parsimonious`.

DiffusionMaps Class
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down
21 changes: 11 additions & 10 deletions src/UQpy/dimension_reduction/diffusion_maps/DiffusionMaps.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class DiffusionMaps:
def __init__(
self,
kernel_matrix: Numpy2DFloatArray = None,
data: Union[np.ndarray, list[GrassmannPoint]] = None,
data: Union[Numpy2DFloatArray, list[GrassmannPoint]] = None,
kernel: Kernel = None,
alpha: AlphaType = 0.5,
n_eigenvectors: IntegerLargerThanUnityType = 2,
Expand All @@ -38,20 +38,21 @@ def __init__(
):
"""
:param kernel_matrix: Kernel matrix defining the similarity between the points. Either `kernel_matrix` or both
`data` and `kernel` parameters must be provided. In the second case the respective `kernel_matrix` computed
and provided as input for the evaluation of the :class:`.DiffusionMaps`. In case all three of the
aforementioned parameters are provided, then :class:`.DiffusionMaps` will be fitted only using the
`kernel_matrix`
:param data: Cloud of data points. Either `kernel_matrix` or both `data` and `kernel` parameters must be
:param kernel_matrix: Kernel matrix defining the similarity between the data points. Either `kernel_matrix` or
both `data` and `kernel` parameters must be provided. In the former case, `kernel_matrix` is precomputed
using a :class:`Kernel` class. In the second case the `kernel_matrix` is internally and used for the
evaluation of the :class:`.DiffusionMaps`. In case all three of the aforementioned parameters are provided,
then :class:`.DiffusionMaps` will be fitted only using the `kernel_matrix`
:param data: Set of data points. Either `kernel_matrix` or both `data` and `kernel` parameters must be
provided.
:param kernel: Kernel object defining the similarity between the points. Either `kernel_matrix` or both
`data` and `kernel` parameters must be provided.
:param kernel: Kernel object used to compute the kernel matrix defining similarity between the data points.
Either `kernel_matrix` or both `data` and `kernel` parameters must be provided.
:param alpha: A scalar that corresponds to different diffusion operators. `alpha` should be between zero and
one.
:param n_eigenvectors: Number of eigenvectors to retain.
:param is_sparse: Work with sparse matrices to improve computational performance.
:param n_neighbors: If :code:`distance_matrix is True` defines the number of nearest neighbors.
:param n_neighbors: If :code:`is_sparse is True`, defines the number of nearest neighbors to use when making
matrices sparse.
:param random_state: Random seed used to initialize the pseudo-random number generator. If an :any:`int` is
provided, this sets the seed for an object of :class:`numpy.random.RandomState`. Otherwise, the
object itself can be passed directly.
Expand Down

0 comments on commit 1132c56

Please sign in to comment.