Name | tracelogdetdiag JSON |
Version |
0.0.1
JSON |
| download |
home_page | |
Summary | Some implementations of randomized, matrix-free algorithms for estimating matrix traces, log determinants, diagonals, and diagonals of inverses. |
upload_time | 2023-07-13 23:05:03 |
maintainer | |
docs_url | None |
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"
}