tracelogdetdiag


Nametracelogdetdiag JSON
Version 0.0.1 PyPI version JSON
download
home_page
SummarySome implementations of randomized, matrix-free algorithms for estimating matrix traces, log determinants, diagonals, and diagonals of inverses.
upload_time2023-07-13 23:05:03
maintainer
docs_urlNone
author
requires_python>=3.7
license
keywords linear algebra log determinant trace randomized estimators
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # randomized-trace-logdet-diag-diaginv
Some Python implementations of randomized, matrix-free algorithms for estimating $\text{tr}(A)$, $\log \det(A)$, $\text{diag}(A)$, and $\text{diag}(A^{-1})$. Here $A$ is SPD or SPSD. We also provide implementations of non-randomized methods requiring access to matrices for convenience.

This package is a work-in-progress. The goal is to implement some of the algorithms detailed in the references below. 


## References

<a id="1">[1]</a>  M.F. Hutchinson (1989). A Stochastic Estimator of the Trace of the Influence Matrix for Laplacian Smoothing Splines. Communications in Statistics - Simulation and Computation, 18(3), 1059-1076.

<a id="2">[2]</a> Avron, H., & Toledo, S. (2011). Randomized Algorithms for Estimating the Trace of an Implicit Symmetric Positive Semi-Definite Matrix. J. ACM, 58(2).

<a id="3">[3]</a> Roosta-Khorasani, F., & Ascher, U. (2015). Improved Bounds on Sample Size for Implicit Matrix Trace Estimators. Foundations of Computational Mathematics, 15(5), 1187–1212.

<a id="4">[4]</a> Saibaba, A., Alexanderian, A., & Ipsen, I. (2017). Randomized matrix-free trace and log-determinant estimators. Numerische Mathematik, 137(2), 353–395.

<a id="5">[5]</a> C. Bekas, E. Kokiopoulou, & Y. Saad (2007). An estimator for the diagonal of a matrix. Applied Numerical Mathematics, 57(11), 1214-1229.

<a id="6">[6]</a> Christos Boutsidis, Petros Drineas, Prabhanjan Kambadur, Eugenia-Maria Kontopoulou, & Anastasios Zouzias (2017). A randomized algorithm for approximating the log determinant of a symmetric positive definite matrix. Linear Algebra and its Applications, 533, 95-117.

<a id="7">[7]</a> Han, I., Malioutov, D.M., & Shin, J. (2015). Large-scale log-determinant computation through stochastic Chebyshev expansions. International Conference on Machine Learning.

<a id="8">[8]</a> Chen, J. (2016). How Accurately Should I Compute Implicit Matrix-Vector Products When Applying the Hutchinson Trace Estimator? SIAM J. Sci. Comput., 38.

<a id="9">[9]</a> Meyer, R.A., Musco, C., Musco, C., & Woodruff, D.P. (2020). Hutch++: Optimal Stochastic Trace Estimation. Proceedings of the SIAM Symposium on Simplicity in Algorithms, 2021, 142-155 .

<a id="10">[10]</a> Persson, D., Cortinovis, A., & Kressner, D. (2021). Improved variants of the Hutch++ algorithm for trace estimation. SIAM J. Matrix Anal. Appl., 43, 1162-1185.



            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "tracelogdetdiag",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "linear algebra,log determinant,trace,randomized estimators",
    "author": "",
    "author_email": "Jonathan Lindbloom <jonathan@lindbloom.com>",
    "download_url": "https://files.pythonhosted.org/packages/54/6a/0dc3e7767c66988b8b2205f20f5c47693285f0bfe76bd998e77e70897283/tracelogdetdiag-0.0.1.tar.gz",
    "platform": null,
    "description": "# randomized-trace-logdet-diag-diaginv\nSome Python implementations of randomized, matrix-free algorithms for estimating $\\text{tr}(A)$, $\\log \\det(A)$, $\\text{diag}(A)$, and $\\text{diag}(A^{-1})$. Here $A$ is SPD or SPSD. We also provide implementations of non-randomized methods requiring access to matrices for convenience.\n\nThis package is a work-in-progress. The goal is to implement some of the algorithms detailed in the references below. \n\n\n## References\n\n<a id=\"1\">[1]</a>  M.F. Hutchinson (1989). A Stochastic Estimator of the Trace of the Influence Matrix for Laplacian Smoothing Splines. Communications in Statistics - Simulation and Computation, 18(3), 1059-1076.\n\n<a id=\"2\">[2]</a> Avron, H., & Toledo, S. (2011). Randomized Algorithms for Estimating the Trace of an Implicit Symmetric Positive Semi-Definite Matrix. J. ACM, 58(2).\n\n<a id=\"3\">[3]</a> Roosta-Khorasani, F., & Ascher, U. (2015). Improved Bounds on Sample Size for Implicit Matrix Trace Estimators. Foundations of Computational Mathematics, 15(5), 1187\u20131212.\n\n<a id=\"4\">[4]</a> Saibaba, A., Alexanderian, A., & Ipsen, I. (2017). Randomized matrix-free trace and log-determinant estimators. Numerische Mathematik, 137(2), 353\u2013395.\n\n<a id=\"5\">[5]</a> C. Bekas, E. Kokiopoulou, & Y. Saad (2007). An estimator for the diagonal of a matrix. Applied Numerical Mathematics, 57(11), 1214-1229.\n\n<a id=\"6\">[6]</a> Christos Boutsidis, Petros Drineas, Prabhanjan Kambadur, Eugenia-Maria Kontopoulou, & Anastasios Zouzias (2017). A randomized algorithm for approximating the log determinant of a symmetric positive definite matrix. Linear Algebra and its Applications, 533, 95-117.\n\n<a id=\"7\">[7]</a> Han, I., Malioutov, D.M., & Shin, J. (2015). Large-scale log-determinant computation through stochastic Chebyshev expansions. International Conference on Machine Learning.\n\n<a id=\"8\">[8]</a> Chen, J. (2016). How Accurately Should I Compute Implicit Matrix-Vector Products When Applying the Hutchinson Trace Estimator? SIAM J. Sci. Comput., 38.\n\n<a id=\"9\">[9]</a> Meyer, R.A., Musco, C., Musco, C., & Woodruff, D.P. (2020). Hutch++: Optimal Stochastic Trace Estimation. Proceedings of the SIAM Symposium on Simplicity in Algorithms, 2021, 142-155 .\n\n<a id=\"10\">[10]</a> Persson, D., Cortinovis, A., & Kressner, D. (2021). Improved variants of the Hutch++ algorithm for trace estimation. SIAM J. Matrix Anal. Appl., 43, 1162-1185.\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Some implementations of randomized, matrix-free algorithms for estimating matrix traces, log determinants, diagonals, and diagonals of inverses.",
    "version": "0.0.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/jlindbloom/randomized-trace-logdet-diag-diaginv/issues",
        "Homepage": "https://github.com/jlindbloom/randomized-trace-logdet-diag-diaginv"
    },
    "split_keywords": [
        "linear algebra",
        "log determinant",
        "trace",
        "randomized estimators"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6d5111925d1ca4c38cce0044aa1d12838922da9a234e185ac6639f464bfa0c86",
                "md5": "476adebebb8ae9cc5e91a5727398a07f",
                "sha256": "c22a45584d883c7247eee68c8b5186c39d02f35a7a8d8049b1ec95f9ebfdeff6"
            },
            "downloads": -1,
            "filename": "tracelogdetdiag-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "476adebebb8ae9cc5e91a5727398a07f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 10785,
            "upload_time": "2023-07-13T23:05:01",
            "upload_time_iso_8601": "2023-07-13T23:05:01.321133Z",
            "url": "https://files.pythonhosted.org/packages/6d/51/11925d1ca4c38cce0044aa1d12838922da9a234e185ac6639f464bfa0c86/tracelogdetdiag-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "546a0dc3e7767c66988b8b2205f20f5c47693285f0bfe76bd998e77e70897283",
                "md5": "d949b11a0bd35a94378191ea263ae21f",
                "sha256": "f65cde92139342387b3bc647b35bf523f1dc703605cb729e2a46c344ecaf33b6"
            },
            "downloads": -1,
            "filename": "tracelogdetdiag-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "d949b11a0bd35a94378191ea263ae21f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 9005,
            "upload_time": "2023-07-13T23:05:03",
            "upload_time_iso_8601": "2023-07-13T23:05:03.137646Z",
            "url": "https://files.pythonhosted.org/packages/54/6a/0dc3e7767c66988b8b2205f20f5c47693285f0bfe76bd998e77e70897283/tracelogdetdiag-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-13 23:05:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jlindbloom",
    "github_project": "randomized-trace-logdet-diag-diaginv",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "tracelogdetdiag"
}
        
Elapsed time: 0.08849s