diff --git a/example.ipynb b/example.ipynb new file mode 100644 index 0000000..dc235e1 --- /dev/null +++ b/example.ipynb @@ -0,0 +1,47 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# prerequisites: KrylovKit, TensorOperations, LinearAlgebra, CUDA#tb/cutensor (for GPU mode)\n", + "\n", + "include(\"CPU.jl\") # using CPU mode\n", + "T = Float32\n", + "\n", + "V_test(r2::T)::T =\n", + " -4 * exp(-r2 / 4)\n", + "\n", + "d = 3\n", + "n = 3\n", + "N = 6\n", + "L::T = 12.0\n", + "mu::T = 0.5\n", + "n_imag = 1\n", + "\n", + "H = HOperator{T}(V_test, 3, 3, N, L, 0.5f0, 1)\n", + "@time evals, evecs, info = eig(H, 5)\n", + "print(info.numops, \" operations : \")\n", + "println(evals)" + ] + } + ], + "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 +} diff --git a/tester.ipynb b/tester.ipynb deleted file mode 100644 index 2878b6c..0000000 --- a/tester.ipynb +++ /dev/null @@ -1,70 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# ./En.run -d 3 -n 3 -e 5 -c eps=0 -c pot=v_gauss,v0=-4,r=2 -N 6 -L 5:14 -c n_imag=1\n", - "\n", - "include(\"CPU.jl\")\n", - "\n", - "T=Float32\n", - "\n", - "function V_test(r2::T)::T\n", - " return -4*exp(-r2/4)\n", - "end\n", - "\n", - "N=6\n", - "for L::T in 5.0:14.0\n", - " H=HOperator{T}(V_test,3,3,N,L,0.5f0,1)\n", - " @time evals,evecs,info=eig(H,5)\n", - " print(info.numops,\" operations : \")\n", - " println(evals)\n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# ./En.run -d 3 -n 2 -e 5 -c eps=0 -c pot=v_gauss,v0=-4,r=2 -N 32 -L 5:14 -c n_imag=0\n", - "\n", - "include(\"CPU.jl\")\n", - "\n", - "T=Float64\n", - "\n", - "function V_test(r2::T)::T\n", - " return -4*exp(-r2/4)\n", - "end\n", - "\n", - "N=32\n", - "for L::T in 5.0:14.0\n", - " H=HOperator{T}(V_test,3,2,N,L)\n", - " @time evals,evecs,info=eig(H,5)\n", - " print(info.numops,\" operations : \")\n", - " println(evals)\n", - "end" - ] - } - ], - "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 -} diff --git a/tester.jl b/tester.jl deleted file mode 100644 index 95f2069..0000000 --- a/tester.jl +++ /dev/null @@ -1,43 +0,0 @@ -# ./En.run -d 3 -n 3 -e 5 -c eps=0 -c pot=v_gauss,v0=-4,r=2 -N 6 -L 5:14 -c n_imag=1 - -using CUDA - -GPU_mode = !("CPU" in ARGS) && CUDA.functional() && CUDA.has_cuda() && CUDA.has_cuda_gpu() - -println("Running with ",Threads.nthreads()," thread(s)") - -if GPU_mode - include("GPU.jl") - println("Available GPUs:") - print(" ") - println.(name.(devices())) -else - include("CPU.jl") -end - -T=Float32 - -function V_zero(r2::T)::T - return 0.0 -end - -function V_test(r2::T)::T - return -4*exp(-r2/4) -end - -N=6 -n_image=1 -μ=0.5 - -levels=5 - -for L::T in 5.0:14.0 - H=HOperator{T}(V_test,3,3,N,L,convert(T,μ),n_image) - if GPU_mode - CUDA.@time evals,evecs,info=eig(H,levels) - else - @time evals,evecs,info=eig(H,levels) - end - print(info.numops," operations : ") - println(evals) -end \ No newline at end of file