DVR-jl/example.ipynb

91 lines
1.8 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# prerequisite packages: KrylovKit, TensorOperations, LinearAlgebra, CUDA#tb/cutensor\n",
"include(\"CPU.jl\") # using CPU mode\n",
"T = Float32 # single-precision mode"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"V_gauss(r2) =\n",
" -4 * exp(-r2 / 4)\n",
"\n",
"d = 3\n",
"n = 3\n",
"N = 6\n",
"L::T = 12\n",
"ϕ::T = 0.0\n",
"μ::T = 0.5\n",
"n_imag = 1\n",
"\n",
"H = HOperator{T}(V_gauss, d, n, N, L, ϕ, μ, n_imag)\n",
"@time evals, evecs, info = eig(H, 5)\n",
"print(info.numops, \" operations : \")\n",
"println(evals)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"using Plots\n",
"\n",
"V_gauss(r2) =\n",
" -4 * exp(-r2 / 4)\n",
"\n",
"d = 3\n",
"n = 2\n",
"N = 32\n",
"L::T = 16\n",
"ϕ::T = 0.5\n",
"μ::T = 0.5\n",
"n_imag = 0\n",
"\n",
"H = HOperator{T}(V_gauss, d, n, N, L, ϕ, μ, n_imag)\n",
"@time evals, evecs, info = eig(H, 20)\n",
"print(info.numops, \" operations : \")\n",
"print(evals)\n",
"\n",
"scatter(real.(evals), imag.(evals); legend=false)\n",
"xlabel!(\"Re E\")\n",
"ylabel!(\"Im E\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.8.5",
"language": "julia",
"name": "julia-1.8"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.8.5"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}