Recent Releases of scikit-rmt

scikit-rmt - 1.1.0 Release

The new release v1.1.0 includes (#31)

  • New simulations showcasing how to use scikit-rmt and RMT for MRI image denoising.
  • Support for Python 3.8 up to Python 3.12.
  • Improved documentation.
  • Removed some deprecation warnings.

- Python
Published by AlejandroSantorum 6 months ago

scikit-rmt - 1.0.0 Release

Announcing the first **stable release* of scikit-rmt (version 1.0.0).

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.10.4 Release

0.10.4 Release

This release includes the updates files after passing pylint.

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.10.3 Release

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.10.2 Release

Version 0.10.2 release

In this release, the module skrmt.covariance has been upgraded with type hints.

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.10.1 Release

Version 0.10.1 release

In this new version scikit-rmt has been enhanced with type hints.

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.10.0 Release

Version 0.10.0 release

In this release the following changes are included:

  • Deletion of set_size method from ensemble classes. The user can still access the size parameters using class properties.
  • Method normalize_eigvals in TracyWidomDistribution is now private.
  • Add script at simulations.jss_sims.py to generate some cool simulations.
  • Method rvs receives size as an int or tuple of ints.
  • Fixed some typos in doc-strings.

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.9.0 Release

New features introduced with this PR:

  • Changed property use_tridiagonal for tridiagonal_form in GaussianEnsemble and WishartEnsemble classes.
  • Added new method resample with the option of specifying the bool argument tridiagonal_form (by default None), which allows changing the pre-defined form of the matrix
  • Update ylabel of the spectral_law plots to be always "density", and not "probability density".
  • Update ylabel of the ensemble plots to be "density" if density=True, and "frequency" if density=False.
  • Added the method _plot_eigval_hist to ManovaEnsemble class so the default interval con be correctly specified.
  • Added test_standard_vs_tridiag_hist method in utils to compare the histograms of random matrices in their tridiagonal form vs their standard form.
  • Renamed method set_eigval_norm_const: now it is a private method.
  • Updated examples and tutorials.
  • Updated unit tests accordingly.

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.8.1 Release

In the 0.8.1 release we announce: - Refactored routines that plot spectral histograms of the considered ensembles: now there is a method to compute the histogram and basic plot and then other one builds the full plot, with titles and labels. - Added a function in skrmt.ensemble.utils called plot_spectral_hist_and_law that illustrates the spectral histogram of a given random matrix ensemble alongside the PDF of the corresponding spectral law. This is to analyze the fluctuations of the ensemble histogram vs. the actual PDF. - New tutorial named "Eigenvalue independence".

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.8.0 release

Announcing release of version 0.8.0

In this release the following changes are included:

  • Implementation of the method rvs of the classes within skrmt.ensemble.spectral_law to sample independent eigenvalues of the spectral distributions without using any random matrix. This is achieved in several ways depending on our knowledge about each particular distribution:

  • Ensemble methods do not normalize eigenvalues by default. To normalize them, the argument normalize=True has to be set.

  • Ensemble spectrum histograms are not normalized to represent the PDF by default, so each bin is representing the absolute count of the sampled eigenvalues. To show the actual eigenvalue frequency (density), set the input argument density=True.

  • All plotting methods and functions now computes correctly and automatically the representation interval depending on the ensemble/law parameters.

  • Added input arg random_state of type int to all methods and functions that require random-number generation. This is useful to reproduce any experiment.

  • The input argument fig_path is now named savefig_path in all methods and functions to match matplotlib nomenclature.

  • New sub-module within skrmt.ensemble named utils containing useful functions:

    • plot_max_eigvals_tracy_widom: plots the histogram of the maximum eigenvalues of a random ensemble with the Tracy-Widom PDF.
    • rand_mtx_max_eigvals: computes several times the maximum eigenvalue of different random matrix samples.
  • Complex plots of CircularEnsemble are now squared to highlight the actual axis proportions.

  • Renamed _base_ensemble to base_ensemble.

  • Moved general-purpose functions to a separate file called misc.py.

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.7.1 Release

In this release we incorporate the following hotfix:

Fixed non-normalized eigenvalues histograms. Now the histograms are illustrated correctly when the eigenvalues are not normalized. The plot interval is updated depending on additional parameters, such as matrix size n. In addition, there was a bug were the distribution of the tridiagonal random matrices was not the same as its non-tridiagonalized form when the eigenvalues were not normalized. This has been fixed.

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.7.0 Release

Announcing release version 0.7.0.

New features and modifications:

  • Added default eigenvalue normalization constant (eigval_norm_const), which controls the support of the eigenvalues independently of the sample size.
  • Now, the methods eigval_hist and plot_eigval_hist do not receive the argument norm_const. Instead, they receive the input argument normalize (default to True) to select whether to normalize the eigenvalues or not.
  • Added new method set_eigval_norm_const in case the user wants to change the default eigenvalue normalization constant.
  • Improved and updated documentation and tutorials.
  • Updated requirements to avoid scipy memory leak vulnerability. Potentially, now the library is not tested for python 3.7.
  • Pinned numpy to use version <= 1.24.3 since version 1.24.4 is causing problems.

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.6.1 release

New features in this release: - Storing computed eigenvalues to avoid re-calculating them later. They are just computed again if the matrix is re-sampled. - The method rvs of the class WignerSemicircleDistribution now uses the relationship between the Beta distribution and the Wigner's Semicircle law to generate random samples of it. - The method plot_empirical_pdf of the class WignerSemicircleDistribution now uses the class method rvs to generate the sampled eigenvalues, instead of sampling eigenvalues from an instance of the GaussianEnsemble. - Updated doc-strings of the updated classes and methods.

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.6.0 release

Announcing 0.6.0 release.

This new version contains the following improvements or features: - New skrmt.ensemble.spectral_law sub-module (former skrmt.ensemble.law) that provides four classes to compute, analyze and plot the four main spectral laws, including the sampling and illustration of the probability density function (PDF) and cumulative distribution function (CDF) of the main random matrix ensembles: - Wigner Semicircle law: WignerSemicircleDistribution. - Tracy-Widom law: TracyWidomDistribution. - Marchenko-Pastur law: MarchenkoPasturDistribution. - Manova Spectrum distribution: ManovaSpectrumDistribution. - Deprecation of skrmt.ensemble.plot_law sub-module. The former functionality has been moved and upgraded in the new skrmt.ensemble.spectral_law submodule. - Added computation of the empirical spectral PDF to the classes of the skrmt.ensemble.spectral_law submodule. - Renamed class method eigval_pdf to joint_eigval_pdf to clarify that this method is computing the joint eigenvalue PDF for the corresponding ensemble. - Pinned dependencies in requirements.txt file. - Updated unit tests (99% coverage). - Updated Sphinx documentation. - Updated examples and tutorials. - Updated README.

- Python
Published by AlejandroSantorum over 2 years ago

scikit-rmt - 0.5.0 Release

Announcing 0.5.0 release.

This new version incorporates new functionality for spectrum analysis and simulation, and refactors some existing code. In particular:

  • Added the sub-module skrmt.ensemble.law that provides four classes to compute, analyze and plot the four main spectral laws, including the sampling and illustration of the probability density function (PDF) and cumulative distribution function (CDF) of the main random matrix ensembles:

    • WignerSemicircleDistribution.
    • MarchenkoPasturDistribution.
    • TracyWidomDistribution.
    • ManovaSpectrumDistribution.
  • Refactored the code of the submodule skrmt.ensemble.plot_law to be based on the usage of the four previous classes. Also, this sub-module is now only focused on plotting and representation of the different simulations of scikit-rmt.

  • Added unit tests for all the new and refactored classes, methods and functions.

  • New tutorials describing how to sample, compute, analyze and graphically represent the distribution of the spectral laws.

  • Improved readme with the new features.

- Python
Published by AlejandroSantorum almost 3 years ago

scikit-rmt - 0.4.2 Release

Announcing 0.4.2 release.

This new version fixes versioning when packaging the library. Therefore, the release improves the package and includes previous new features: - Plotting of analytical probability density functions for the following spectral Laws by setting limit_pdf=True argument: - Wigner Semicircle Law. - Marchenko-Pastur Law. - Tracy-Widom Law. - Simulation of Manova Ensemble spectrum and representation of its analytical probability density function. Check out skrmt.ensemble.plot_law.manova_spectrum_distr function. - New tests covering new functionality. - Tutorials updated to describe new analytical PDFs representations.

- Python
Published by AlejandroSantorum about 3 years ago

scikit-rmt - 0.4.1 Release

I am excited to announce the 0.4.1 release.

This new version implements several enhancements: - Plotting of analytical probability density functions for the following spectral Laws by setting limit_pdf=True argument: - Wigner Semicircle Law. - Marchenko-Pastur Law. - Tracy-Widom Law. - Simulation of Manova Ensemble spectrum and representation of its analytical probability density function. Check out skrmt.ensemble.plot_law.manova_spectrum_distr function. - New tests covering new functionality. - Tutorials updated to describe new analytical PDFs representations. - Fixed minor bugs with pip install.

- Python
Published by AlejandroSantorum about 3 years ago

scikit-rmt - 0.3.1 Release

I am excited to announce the 0.3.1 release.

Updates: - Fixed bugs related to the hermiticity of some ensembles. - Refined the documentation.

Feel free to install the library by executing: bash pip install scikit-rmt

- Python
Published by AlejandroSantorum over 3 years ago

scikit-rmt - 0.2 Release

I am happy to announce the 0.2 release. A bug related with hermiticity of GUE matrices has been fixed.

Feel free to install it as usual: bash pip install scikit-rmt

- Python
Published by AlejandroSantorum over 3 years ago

scikit-rmt - scikit-rmt 0.1.4

I am happy to announce the 0.1.4 release. The project description has been improved.

Feel free to install it as usual:

bash pip install scikit-rmt

- Python
Published by AlejandroSantorum almost 5 years ago