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

System Class #10

Open
aarongrisez opened this issue Oct 26, 2018 · 1 comment
Open

System Class #10

aarongrisez opened this issue Oct 26, 2018 · 1 comment
Labels
core-feature A feature that is part of the defining behavior of the library

Comments

@aarongrisez
Copy link
Owner

aarongrisez commented Oct 26, 2018

Feature

We need to code a base class for quantum systems. This will track the state of the quantum system and house all methods related to the system evolution/simulation.

Description

I think the best starting place here would be to emulate the system class already in the tests directory. See system.py for more details.

@aarongrisez aarongrisez added the core-feature A feature that is part of the defining behavior of the library label Oct 26, 2018
@aarongrisez aarongrisez added this to the A working simulation milestone Oct 26, 2018
@aarongrisez aarongrisez added this to To do in Continuous Integration/Testing Suite via automation Oct 26, 2018
@aarongrisez aarongrisez added this to To do in Simulation Oct 26, 2018
@aarongrisez
Copy link
Owner Author

11/18 Update

Here's an overview of simulator.hpp as it stands.

class Simulator {
private:
    _hamiltonian;
    _propagator;
    _psi0;
    _currentState;
    _setPropagator();
    _time;
    _size;
public:
    _init();
    _setSize();
    _setHamiltonian();
    _setPsi0();
    _runOneStep();
    _getCurrentStateSize();
    _getPropagatorRows();
    _getPropagatorCols();
    _getTime();
    _register_methods();
};

Remaining to implement:

private:
    _sampleDistribution();
    _createDensityMatrix();
    _tracePOVM();
    _updateState();
public:
    _getProbabilities();
    _setPOVM();
    _measure();

Things to move from public to private (or remove all together):

_getCurrentStateSize();
_getPropagatorRows();
_getPropagatorCols();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core-feature A feature that is part of the defining behavior of the library
Development

No branches or pull requests

1 participant