-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTODO
More file actions
52 lines (35 loc) · 1.61 KB
/
TODO
File metadata and controls
52 lines (35 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Needs to be implemented:
1) Checkpointing
- Involves serializing wavefunction and potentials, as well as config
data
2) Potentials of P_i and X_j where i != j
- Implement a more fine grained fft
- we'll also need the "proper change of representation" mentioned below
UPDATE: This has been implemented in revision 51
3) Dynamic potentials
- Implement a potentialwrapper for dynamic potentials
UPDATE: This has been implemented in revision 50
4) Semi-static potentials
- Implement static potentials where timestep can be changed
5) Proper change of representation (change representation-object
on wavefunction according to transformations)
use SetRepresentation when we transform the wavefunction. The representations should
be cached somewhere, probably in the transformation class.
UPDATE: This has been implemented in revision 35.
Stuff that doesn't work for nproc > 1:
1)
Representation::InnerProduct
Wavefunction::InnerProduct
Wavefunction::Normalize
Inner products require a reduction or something. This is not implemented
yet. As a consequence, imaginary time does not work for nproc > 1
Solution: Implement a MPI-based Inner product. I'm unsure wether to
implement the mpi calls in each representation implementation,
in the abstract representation class, or in the DistributedModel class
2)
Loading wavefunctions from file
This requires some sort of sequential access, and furthermore,
the current fileformat (pickle) doesnt really support reading or writing
only parts of the wavefunction
Solution: Create my own file format for arrays that allows us to read or
write from several procs.