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

Gui #7

Merged
merged 45 commits into from
Feb 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
fec95fe
Fock Backend abstract level
kareem1925 Jul 12, 2023
64519ab
squeezing gate
kareem1925 Jul 12, 2023
4c1385d
Update pylint.yml
kareem1925 Jul 12, 2023
8df7bbe
kerr gate
kareem1925 Jul 13, 2023
0954918
add fidelity between two states
kareem1925 Jul 13, 2023
a85faba
package refactoring for smooth installtion
kareem1925 Jul 17, 2023
9e0b577
bibtext generation. defining new component
kareem1925 Jul 18, 2023
881ca2a
add an example for generating bibtex
kareem1925 Jul 18, 2023
8cd6681
modifications
kareem1925 Jul 20, 2023
813f386
Added yaml example
SimonSekavcnik Aug 16, 2023
05521dc
Reorg
SimonSekavcnik Aug 16, 2023
57a5db6
adding generic state update and experiment manager
Aug 18, 2023
62d9226
modified: quasi/_math/fock/ops.py
Aug 18, 2023
c8b4951
added an abstract example
Aug 18, 2023
1dafccb
loss channel
Sep 13, 2023
e0e60e1
homodyne expectation
Sep 20, 2023
577239a
adding trace function and partial trace
Oct 25, 2023
84556f6
add vacuum state and thermal state
Oct 25, 2023
bd5cb11
add cubic phase
Oct 25, 2023
badf18e
formatting
Nov 6, 2023
9e82aa3
first draft of the fock backend
Nov 6, 2023
dbe4862
change run to execute
Nov 6, 2023
313882a
using blas instead of einsum
kareem1925 Nov 6, 2023
cc3de7b
beam splitter example
kareem1925 Nov 6, 2023
938249d
fix components
kareem1925 Nov 6, 2023
d2922e0
Started to work on the GUI
SimonSekavcnik Nov 28, 2023
4236224
Added some management functionalities#
SimonSekavcnik Nov 28, 2023
08a7527
GUI Rework
SimonSekavcnik Dec 11, 2023
65268e0
Devices can be connected and board moved
SimonSekavcnik Dec 12, 2023
101d18c
Started to decouple connection logic
SimonSekavcnik Dec 12, 2023
f9eff2e
Board should work
SimonSekavcnik Dec 14, 2023
e573ea2
adding demo
kareem1925 Dec 14, 2023
000e762
Connections highlight on hower
SimonSekavcnik Dec 14, 2023
c26c7ea
Merge remote-tracking branch 'origin/master' into gui
SimonSekavcnik Dec 14, 2023
5a863bf
working on simulations
SimonSekavcnik Dec 14, 2023
3e5f659
Merged from beam-splitter branch
SimonSekavcnik Dec 14, 2023
a5c5d96
First simulations
SimonSekavcnik Dec 14, 2023
99374ad
Gui now shows which devices are being processed at any one moment
SimonSekavcnik Dec 15, 2023
da082fd
Added simulation bar
SimonSekavcnik Dec 15, 2023
692b75d
added coherent source
SimonSekavcnik Dec 15, 2023
ce0e4a7
Added tabs
SimonSekavcnik Dec 18, 2023
ea607fd
Added documenting ability
SimonSekavcnik Dec 18, 2023
01a84d3
Added source, documentation, signals and variables (int and float)
SimonSekavcnik Dec 19, 2023
29dda77
added some stuff
SimonSekavcnik Jan 8, 2024
2abd315
README update
SimonSekavcnik Feb 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install pylint
pip install numpy
pip install numba
pip install black
- name: Analysing the code with pylint
run: |
pylint $(git ls-files '*.py')
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -212,3 +212,7 @@ flycheck_*.el

# network security
/network-security.data

.vscode
.\vscode
./vscode
13 changes: 13 additions & 0 deletions README.org
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,19 @@ Each device design stems from the Abstract Base Class ~GenericDevice(ABC)~,
implemented in [[file:./quasi/devices/generic_device.py][quasi/devices/generic_device.py]].

* Usage
Currently QuaSi is in development process, so you should use it as a developer.
Please read the notes on Conributing.
** GUI
+ in the *gui* branch
The gui is implemented in [[quasi/gui]] directory. To run the gui
execute the ~main.py~ file by:
#+begin_src bash :results output
flet main.py
#+end_src

Flet is a flutter wrapper library.



* Contributing

Expand Down
6 changes: 6 additions & 0 deletions examples/beam_splitter_from_yaml.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from quasi.simulation import Simulation

S = Simulation(yml="./beam_splitter.yml")

S.run()

118 changes: 118 additions & 0 deletions examples/beam_splitter_yaml_example/beam_splitter_example.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
project_name: Beam Splitter Example

simulation:
dimensions: 50

components:
sps1:
type: quasi.devices.ideal.SinglePhotonSource
# Trigger means that experiment will trigger devices
# with this property at x ps after the experiment began
trigger: 0 #ps

sps2:
type: quasi.devices.ideal.SinglePhotonSource
trigger: 0 #ps

bs:
type: quasi.devices.ideal.BeamSplitter

spd1:
type: quasi.devices.ideal.SinglePhotonDetector

spd2:
type: quasi.devices.ideal.SinglePhotonDetector

fib1:
type: quasi.devices.ideal.Fiber
params:
length: 10 #km

fib2:
type: quasi.devices.ideal.Fiber
params:
length: 10 #km

fib3:
type: quasi.devices.ideal.Fiber
params:
length: 10 #km

fib4:
type: quasi.devices.ideal.Fiber
params:
length: 10 #km


connections:
qc1:
type: quasi.signals.GenericQuantumSignal
in:
device: sps1
port: OUT
out:
device: fib1
port: IN

qc2:
type: quasi.signals.GenericQuantumSignal
in:
device: sps2
port: OUT
out:
device: fib1
port: IN

qc3:
type: quasi.signals.GenericQuantumSignal
in:
device: fib1
port: OUT
out:
device: bs
port: A

qc4:
type: quasi.signals.GenericQuantumSignal
in:
device: fib2
port: OUT
out:
device: bs
port: B

qc5:
type: quasi.signals.GenericQuantumSignal
in:
device: bs
port: C
out:
device: fib3
port: IN

qc6:
type: quasi.signals.GenericQuantumSignal
in:
device: bs
port: D
out:
device: fib4
port: IN

qc7:
type: quasi.signals.GenericQuantumSignal
in:
device: fib3
port: OUT
out:
device: spd1
port: IN

qc8:
type: quasi.signals.GenericQuantumSignal
in:
device: fib4
port: OUT
out:
device: spd2
port: IN
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from quasi.simulation import Simulation

S = Simulation(yml="./beam_splitter.yml")

S.run()

Loading
Loading