{"id":21666149,"url":"https://github.com/rcarcasses/schrodinger","last_synced_at":"2025-03-20T06:29:25.787Z","repository":{"id":93435914,"uuid":"78214606","full_name":"rcarcasses/schrodinger","owner":"rcarcasses","description":"Solves one dimensional Schrodinger problem using several methods.","archived":false,"fork":false,"pushed_at":"2018-02-09T13:19:52.000Z","size":30,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-25T08:10:17.598Z","etag":null,"topics":["armadillo","chebyshev","eigenfunctions","eigenvalues","numerov","schrodinger"],"latest_commit_sha":null,"homepage":null,"language":"C++","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/rcarcasses.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-06T15:03:29.000Z","updated_at":"2019-05-17T11:33:51.000Z","dependencies_parsed_at":"2023-04-02T12:49:01.836Z","dependency_job_id":null,"html_url":"https://github.com/rcarcasses/schrodinger","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcarcasses%2Fschrodinger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcarcasses%2Fschrodinger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcarcasses%2Fschrodinger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcarcasses%2Fschrodinger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rcarcasses","download_url":"https://codeload.github.com/rcarcasses/schrodinger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244564155,"owners_count":20472997,"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":["armadillo","chebyshev","eigenfunctions","eigenvalues","numerov","schrodinger"],"created_at":"2024-11-25T11:19:48.119Z","updated_at":"2025-03-20T06:29:25.781Z","avatar_url":"https://github.com/rcarcasses.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is an R package interface to C++ code that solves the one dimensional time independent Schrodinger equation. There are two ways to find the quantum spectrum, one using a Numerov algorithm implementation and another which uses a Chebyshev polynomial approach. Numerov routine seems to be better suited to compute the first one or two eigenvalues and eigenfunctions but for higher orders the Chebyshev routine seems to perform better (less time to get the same result). The two routines implemented provide a good way to cross check results computed with different methods.\n\n### Dependencies\nThe R package is created with Rcpp. The C++ code depends on the *armadillo* awesome library, make sure you have it in your path.\n\n### Install\n```r\n# install devtools, ignore if already installed on your system\ninstall.packages('devtools')\n# install the library itself\ndevtools::install_github('rcarcasses/schrodinger')\n```\n\n\nThe specific Chebyshev algorithm implemented is described [here](http://www.tandfonline.com/doi/full/10.1080/23311835.2015.1045223).\n\n### Usage\nAn example of how to use it is the following:\n\n```r\nlibrary(schrodinger)\n# set 'cheb' method (Chebyshev) with 400 interpolation points.\nchebSetN(400)\n# create a potential: harmonic oscillator\nx \u003c- seq(-20, 20, len = 2000)\ny \u003c- x^2\n# compute the spectrum of this potential, first 30 eigenvalues and eigenfunctions\n# s$energies: eigenvalues\n# s$wfs: respective eigenfunctions\ns \u003c- computeSpectrum(x, y, 30)\n```\n\n### Selecting the algorithm\nThe default algorithm is **cheb**, which is the Chebyshev version. If you want to use the Numerov version pass `'numerov'` as 4th parameter:\n\n```r\ns \u003c- computeSpectrum(x, y, 10, 'numerov')\n```\nand so on.\n### C++\nYou can use the code in *src* in your own C++ project. Make sure you are linking vs *armadillo* properly while building.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcarcasses%2Fschrodinger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frcarcasses%2Fschrodinger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcarcasses%2Fschrodinger/lists"}