Antoine Levitt
Antoine Levitt
``` julia> a = randn(3,3) b =3×3 Matrix{Float64}: ra 0.0237017 1.62282 -1.28889 -0.186575 -2.00309 0.502572 -0.413123 -1.99718 -0.174593 julia> b = randn(3,3) 3×3 Matrix{Float64}: -0.40664 1.80043 1.2399 1.22559 -0.828653 1.38103...
Got bit by this (in a more complicated context) ``` julia> a = randn(2) 2-element Vector{Float64}: -0.012727152255729035 -0.4625600586199899 julia> @tullio b := a[i]*a[i] 0.214123788235069 julia> @tullio b := a[i]*a[i]+1 2.214123788235069...
Hi, I just checked back, it seems there has been lots of activity on this project, great! Is it ready for prime time? In particular, can we replace Optim's implementation...
Latency
Could be good to run https://discourse.julialang.org/t/new-tools-for-reducing-compiler-latency/52882, although I would imagine that our latency cost is because of our deps, not because of us.
Ref https://github.com/mfherbst/DFTK.jl/pull/30 Something like ``` struct Eigensolver tol maxiter precon # Promises to implement precon(ham) -> P solver # Promises to implement solver(A,X0,P,tol=tol,maxiter=maxiter) end default_eigensolver(tol=1e-6, maxiter=100) = Eigensolver(tol, maxiter, lobpcg_hyper)...
We should move LOBPCG to the broader ecosystem. Mohamed Tarek was open to moving it to IterativeSolvers if we can demonstrate it's superior to the existing implementation. We should benchmark...
Would be great if eg a graphene band structure worked out of the box (without manual kpoint path selection)
Add local_potential(::Term)
Autodiff
Lots of boxes! Gotta check them all! ### Forward mode - [ ] libxc interfacing - [ ] upstream FFT stuff - [ ] figure out the T = promote_type...
First attempt at support for isolated systems. Right now this tackles only neutral molecules. TODO - [ ] systems with dipole moments - [ ] ions - [ ] tests