Skip to content
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

WIP: Parametric types #234

Closed
wants to merge 28 commits into from
Closed

WIP: Parametric types #234

wants to merge 28 commits into from

Conversation

david-pl
Copy link
Member

@david-pl david-pl commented Sep 10, 2018

I have started addressing #189 here. There are still a lot of things to do in order to get to a fully type-stable point. The following points need to be done in order for this PR to be complete:

  • Parametrically type Bra/Ket
  • Parametrically type CompositeBasis
  • Rename the abstract Operator type to AbstractOperator
  • Replace SparseOperator and DenseOperator by a single Operator type with parametric fields
  • Replace the gemv! and gemm! definitions by mul!
  • Define a specialized type for density operators (?)
  • Parametric typing for other operator types (Lazy, FFT, ...)
  • Remove unnecessary checks (e.g. most IncompatibleBases errors will be covered by a MethodError
  • Proper profiling and benchmarking

Going type stable will boost overall performance (though probably not by much). Also, this will add support for sparse density matrices, which can be very useful.

@coveralls
Copy link

coveralls commented Sep 10, 2018

Coverage Status

Coverage decreased (-0.09%) to 99.477% when pulling 6aef249 on parametric-types into 4f7e1a8 on master.

@codecov
Copy link

codecov bot commented Sep 10, 2018

Codecov Report

Merging #234 into master will decrease coverage by 0.09%.
The diff coverage is 96.15%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master     #234     +/-   ##
=========================================
- Coverage   99.56%   99.47%   -0.1%     
=========================================
  Files          35       35             
  Lines        2325     2297     -28     
=========================================
- Hits         2315     2285     -30     
- Misses         10       12      +2
Impacted Files Coverage Δ
src/schroedinger.jl 100% <ø> (ø) ⬆️
src/state_definitions.jl 100% <ø> (ø) ⬆️
src/timecorrelations.jl 100% <ø> (ø) ⬆️
src/phasespace.jl 100% <ø> (ø) ⬆️
src/stochastic_master.jl 100% <ø> (ø) ⬆️
src/particle.jl 100% <ø> (ø) ⬆️
src/mcwf.jl 97.69% <0%> (-0.07%) ⬇️
src/printing.jl 98.87% <100%> (-0.02%) ⬇️
src/states.jl 95.55% <100%> (-4.45%) ⬇️
src/spectralanalysis.jl 100% <100%> (ø) ⬆️
... and 27 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 07a2d36...daccf9a. Read the comment docs.

@david-pl david-pl mentioned this pull request Sep 23, 2018
@david-pl david-pl closed this Oct 4, 2018
@david-pl david-pl deleted the parametric-types branch August 19, 2020 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants