{"id":13409409,"url":"https://github.com/ritchieng/eigenvectors-from-eigenvalues","last_synced_at":"2025-09-20T22:27:53.979Z","repository":{"id":81291731,"uuid":"221868248","full_name":"ritchieng/eigenvectors-from-eigenvalues","owner":"ritchieng","description":"PyTorch implementation comparison of old and new method of determining eigenvectors from eigenvalues.","archived":false,"fork":false,"pushed_at":"2021-11-03T04:02:34.000Z","size":43,"stargazers_count":99,"open_issues_count":3,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-29T05:03:57.960Z","etag":null,"topics":["colab","determining-eigenvectors","eigenvalues","eigenvectors","pytorch"],"latest_commit_sha":null,"homepage":"https://www.researchgate.net/publication/337322294_Eigenvectors_from_Eigenvalues_CPU_and_GPU_Implementation","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ritchieng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-11-15T07:27:38.000Z","updated_at":"2024-12-12T07:29:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"4ac79655-3868-4c1e-b55c-15b54b27c529","html_url":"https://github.com/ritchieng/eigenvectors-from-eigenvalues","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ritchieng%2Feigenvectors-from-eigenvalues","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ritchieng%2Feigenvectors-from-eigenvalues/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ritchieng%2Feigenvectors-from-eigenvalues/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ritchieng%2Feigenvectors-from-eigenvalues/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ritchieng","download_url":"https://codeload.github.com/ritchieng/eigenvectors-from-eigenvalues/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249204659,"owners_count":21229779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["colab","determining-eigenvectors","eigenvalues","eigenvectors","pytorch"],"created_at":"2024-07-30T20:01:00.564Z","updated_at":"2025-09-20T22:27:48.927Z","avatar_url":"https://github.com/ritchieng.png","language":"Jupyter Notebook","funding_links":[],"categories":["Post-processing and Data Analysis"],"sub_categories":["ML / Optical Flow"],"readme":"# New Eigenvectors from Eigenvalues Calculation\nThis repository implements this [paper](https://arxiv.org/pdf/1908.03795.pdf) that allows us to calculate eigenvectors from eigenvalues elegantly through PyTorch that allows your code to run on your CPU, GPU, or TPU.\n\nEasily run it on your browser through Google Colab or copy the function locally.\n\n## Run Notebook on Google Colab\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ritchieng/eigenvectors-from-eigenvalues/blob/master/notebooks/comparison.ipynb)\n\n## Core Equation: Lemma 2\n\n**Lemma 2.** The norm squared of the elements of the eigenvectors are related to the eigenvalues and the submatrix eigenvalues.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src='lemma2.png' /\u003e\n\u003c/p\u003e\n\n```\nMathjax of Lemma 2\n\n$$| v_{i, j} | ^ 2 \\prod_{k=1; k \\neq i}^{n} (\\lambda_i (A) - \\lambda_k (A)) = \\prod_{k=1}^{n - 1}  (\\lambda_i (A) - \\lambda_k (M_j))$$\n```\n\n\n## Authors and Abstract\nPeter B. Denton, Stephen J. Parke, Terance Tao, and Xining Zhang\n```\nWe present a new method of succinctly determining eigenvectors\nfrom eigenvalues. Specifically, we relate the norm squared of the elements of\neigenvectors to the eigenvalues and the submatrix eigenvalues.\n```\n\n## Dependencies\n- PyTorch 1.9.1 (can be most versions of PyTorch as I used very core basic PyTorch functions)\n- Python 3.8 (doesn't matter much as I use basic operations)\n\n## Code Repository Citation\n- If you would like to give some credit to this code implementation, these are the relevant links.\n    - [![DOI](https://zenodo.org/badge/221868248.svg)](https://zenodo.org/badge/latestdoi/221868248)\n    - [Eigenvectors from Eigenvalues CPU and GPU Implementation](https://www.researchgate.net/publication/337322294_Eigenvectors_from_Eigenvalues_CPU_and_GPU_Implementation)\n\n## License\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fritchieng%2Feigenvectors-from-eigenvalues","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fritchieng%2Feigenvectors-from-eigenvalues","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fritchieng%2Feigenvectors-from-eigenvalues/lists"}