-
Notifications
You must be signed in to change notification settings - Fork 7
Unified ModeMap Type #330
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unified ModeMap Type #330
Conversation
Benchmark resultJudge resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTargetBaselineTarget resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoBaseline resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoRuntime information
Architecture: x86_64
Benchmark resultJudge resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTargetBaselineTarget resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoBaseline resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoRuntime information
Architecture: x86_64
Benchmark resultJudge resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTargetBaselineTarget resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoBaseline resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoRuntime information
Architecture: x86_64
Benchmark resultJudge resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTargetBaselineTarget resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoBaseline resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoRuntime information
Architecture: x86_64
Benchmark resultJudge resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTargetBaselineTarget resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoBaseline resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoRuntime information
Architecture: x86_64
Benchmark resultJudge resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTargetBaselineTarget resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoBaseline resultBenchmark Report for /home/runner/work/Rimu.jl/Rimu.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoRuntime information
Architecture: x86_64 |
joachimbrand
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess now you'll have to do a "search and replace" in many files in the Hamiltonians module.
1. Renamed the type OccupiedModeMap to ModeMap and replaced all occurrences. 2. Added the occupied_mode_map function as a constructor for ModeMap.
1. Renamed the type OccupiedModeMap to ModeMap and replaced all occurrences. 2. Added the occupied_mode_map function as a constructor for ModeMap.
6448715 to
b0716fb
Compare
Pull Request Test Coverage Report for Build 16198810290Details
💛 - Coveralls |
1. Renamed the type OccupiedModeMap to ModeMap and replaced all occurrences. 2. Added the occupied_mode_map function as a constructor for ModeMap. 3. Added the unoccupied_mode_map function as a constructor for FermiFS and corresponding iterator type FermiUnoccupiedModes.
b0716fb to
f2ca9b1
Compare
1. Renamed the type OccupiedModeMap to ModeMap and replaced all occurrences. 2. Added the occupied_mode_map function as a constructor for ModeMap. 3. Added the unoccupied_mode_map function as a constructor for FermiFS and corresponding iterator type FermiUnoccupiedModes.
f2ca9b1 to
acd2feb
Compare
1. Renamed the type OccupiedModeMap to ModeMap and replaced all occurrences. 2. Added the occupied_mode_map function as a constructor for ModeMap. 3. Added the unoccupied_mode_map function as a constructor for FermiFS and corresponding iterator type FermiUnoccupiedModes.
acd2feb to
5992b8d
Compare
1. Renamed the type OccupiedModeMap to ModeMap and replaced all occurrences. 2. Added the occupied_mode_map function as a constructor for ModeMap. 3. Added the unoccupied_mode_map function as a constructor for FermiFS and corresponding iterator type FermiUnoccupiedModes.
5992b8d to
605b520
Compare
1. Renamed the type OccupiedModeMap to ModeMap and replaced all occurrences. 2. Added the occupied_mode_map function as a constructor for ModeMap. 3. Added the unoccupied_mode_map function as a constructor for FermiFS and corresponding iterator type FermiUnoccupiedModes.
605b520 to
5e81549
Compare
1. Renamed the type OccupiedModeMap to ModeMap and replaced all occurrences. 2. Added the occupied_mode_map function as a constructor for ModeMap. 3. Added the unoccupied_mode_map function as a constructor for FermiFS and corresponding iterator type FermiUnoccupiedModes.
5e81549 to
f8b34e0
Compare
1. Renamed the type OccupiedModeMap to ModeMap and replaced all occurrences. 2. Added the occupied_mode_map function as a constructor for ModeMap. 3. Added the unoccupied_mode_map function as a constructor for FermiFS and corresponding iterator type FermiUnoccupiedModes.
f8b34e0 to
65d6ae6
Compare
1. Renamed the type OccupiedModeMap to ModeMap and replaced all occurrences. 2. Added the occupied_mode_map function as a constructor for ModeMap. 3. Added the unoccupied_mode_map function as a constructor for FermiFS and corresponding iterator type FermiUnoccupiedModes.
65d6ae6 to
ccd349d
Compare
joachimbrand
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR!
It looks very good. Please see comments below!
1. Apply suggestions from code review. 2. Import ModeMap in Hamiltonians module explicitly. Co-authored-by: Joachim Brand <[email protected]>
6c3f507 to
d06710a
Compare
1. Apply suggestions from code review. 2. Import ModeMap in Hamiltonians module explicitly. Co-authored-by: Joachim Brand <[email protected]>
d06710a to
958dda2
Compare
1. Apply suggestions from code review. 2. Import ModeMap in Hamiltonians module explicitly. Co-authored-by: Joachim Brand <[email protected]>
958dda2 to
0540bf1
Compare
1. Apply suggestions from code review. 2. Import ModeMap in Hamiltonians module explicitly. Co-authored-by: Joachim Brand <[email protected]>
0540bf1 to
5efe8ab
Compare
1. Apply suggestions from code review. 2. Import ModeMap in Hamiltonians module explicitly. Co-authored-by: Joachim Brand <[email protected]>
5efe8ab to
aed71ab
Compare
mtsch
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks very good! A minor comment in one of the docstrings and I would also like to see a test similar to the following test but for unoccupied modes, something like
@testset "unoccupied_modes" begin
for o in (small, big, giant)
f = FermiFS(o)
sites = collect(unoccupied_modes(f))
@test getproperty.(sites, :mode) == findall(==(0), onr(f))
end
endin @testset "FermiFS"
1. Add tests to new methods Co-authored-by: mtsch <[email protected]>
4953496 to
19ccb4d
Compare
1. Add tests to new methods according to suggestion Co-authored-by: mtsch <[email protected]>
19ccb4d to
d91dbdd
Compare
1. Fix bug in unoccupied_modes method
1. Resolve unoccupied_modes method test failed when FermiFS is constructed with SortedParticleList
1. Resolve unoccupied_modes method test failed when FermiFS is constructed with SortedParticleList
7e1cdeb to
d22beb2
Compare
1. Rewrite the FermiUnoccupiedModes iterator based on the suggestions. 2. Improve the docstring.
joachimbrand
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great. Thanks for the PR!
mtsch
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
This PR renames the type
OccupiedModeMaptoModeMap.New features
occupied_mode_mapandunoccupied_mode_map— new constructors for typeModeMap.FermiUnoccupiedModes— new iterator version generator of typeModeMapforFermiFS.Deprecated features
OccupiedModeMapis deprecated and replaced byoccupied_mode_map. The type is replaced byModeMap.Originally, there was a
OccupiedModeMaptype along with its constructor function, which was used to generate a statically allocated array for storing*FSIndexvalues corresponding to various Fock space addresses. However, in some cases, it is also necessary to represent and store unoccupied modes—particularly when working with Fermi addresses, where the occupation number (occnum) is limited to 0 or 1.The constructors enable consistent handling of both occupied and unoccupied modes. Then the original
OccupiedModeMapconstructor function is deprecated withBase.@deprecate.