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

[Register] Optimization for contiguous address (line orders) #16

Closed
Roger-luo opened this issue Apr 28, 2018 · 1 comment
Closed

[Register] Optimization for contiguous address (line orders) #16

Roger-luo opened this issue Apr 28, 2018 · 1 comment
Labels
register bugs, discussions about register
Milestone

Comments

@Roger-luo
Copy link
Member

By packing contiguous memory address together, Concentrator could be more efficient. (Less permutation operations on shape).

Currently, the mechanism is:

  • if input is a UnitRange, this range of address will be processed as a contiguous quantum memory address.
  • if input is a Int or Vector{Int}, this range of address will be processed as an in-contiguous quantum memory address.

We suppose that if a user inputs UnitRange, then it knows which part is contiguous, therefore there is no contiguous check for UnitRange, and we directly pack an address start from the start of UnitRange and has length length(::UnitRange).

However, currently solution can not handle the following conditions:
[1, 6, 5, 4, 2, 3], where [6, 5, 4] is actually contiguous, but if the input is 4:6, it will cause an error.

@Roger-luo Roger-luo added the register bugs, discussions about register label Apr 28, 2018
@Roger-luo Roger-luo added this to the v0.1.x milestone Apr 28, 2018
@Roger-luo
Copy link
Member Author

4, 5, 6 and 6, 5, 4 is different, we don't need to consider this anymore

Roger-luo added a commit that referenced this issue Dec 7, 2021
* use onehot batch
Roger-luo pushed a commit that referenced this issue Dec 8, 2021
GiggleLiu pushed a commit that referenced this issue Apr 21, 2024
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
GiggleLiu added a commit that referenced this issue Apr 21, 2024
* Initial commit

* Files generated by PkgTemplates

PkgTemplates version: 0.7.5

* plots for ZX-diagrams

* rename plot

* plots for ZX-diagrams (#10)

* plots for ZX-diagrams

* rename plot

* CompatHelper: add new compat entry for "Compose" at version "0.9" (#11)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* CompatHelper: add new compat entry for "LightGraphs" at version "1.3" (#12)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rogerluo <rogerluo.rl18@gmail.com>

* CompatHelper: add new compat entry for "GraphPlot" at version "0.4" (#13)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rogerluo <rogerluo.rl18@gmail.com>

* CompatHelper: add new compat entry for "ZXCalculus" at version "0.1" (#15)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rogerluo <rogerluo.rl18@gmail.com>

* CompatHelper: add new compat entry for "Colors" at version "0.12" (#14)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rogerluo <rogerluo.rl18@gmail.com>

* rm logs

* fix compat

* CompatHelper: bump compat for "Compose" to "0.9" (#16)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* update for new Multigraph backend

* update zx

* update project.toml

* update project.toml

* update compat

* revert version bump due to an error occured in IonCLI

* update compat

* bump version to 0.2.1

* bump version to 0.3.0

* fix version conflict

* fix version compat

* Basic circuit vizualization (#22)

* new circuit plot

* fine tune

* fine tune

* rm 1.0 travis CI

* make CNOT a CNOT

* general update

Co-authored-by: Rogerluo <rogerluo.rl18@gmail.com>

* bump version to 0.4.0

* Update TagBot.yml

* add compat

* add compat

* Polish code and fix #3 (#24)

* polish code, make the implementation more general

* cxx.png

* bump version to 0.4.1

* use plot interface for circuits

* nvm

* add example for ZXCalculus

* fix format

* fix fig

* add Multigraphs backend (#30)

* add Multigraphs

* up compat

* CompatHelper: add new compat entry for "GraphPlot" at version "0.4" (#31)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix the plot for ZXGraph with phase gadgets (#27)

* bump version to 0.5.0

* works

* viz scale gate (unitary)

* fix phase

* fix tests

* update viznet

* CompatHelper: bump compat for "ZXCalculus" to "0.4" (#37)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* new measure (#39)

* New multiqubit gate (#40)

* new measure

* new mutiple qubit gates

* multi-gate labeling

* allow changing line color

* allow changing line color (#42)

* Update Project.toml

* Initial commit

* Files generated by PkgTemplates

PkgTemplates version: 0.7.23

* update

* tests pass

* update tests

* CompatHelper: add new compat entry for OMEinsum at version 0.6, (keep existing compat)

* CompatHelper: add new compat entry for Yao at version 0.6, (keep existing compat)

* update docs

* Update README.md

* setup ci

* update project.toml

* Update README.md

* bump OMEinsumContractionOrders version

* Update Project.toml

* Add vega plot backend (#43)

* rework with Compose

* fix tests

* fix version

* add Vega backend

* add tests

* resolve version

* Revert "Add vega plot backend (#43)" (#44)

This reverts commit f04e3f4.

* fix tests, upgrade Graphs

* bump version, add codecov

* Update README.md

* polish viz circuit (#47)

* Update TagBot.yml

* boundary condition specification

* Update Project.toml

* Add instructions for changing plot attributes  (#49)

* Add attribute instruction plots

* Update README.md

* Delete attr_circuit_1.svg

* Update README.md

* Fixed a tiny one letter typo (#50)

Really sorry!!! 😬

* update yao

* update deps (#51)

* update circuit

* fix readme example

* bump version

* bump version

* Update README.md

* Update Project.toml (#52)

Just noticed that I wasn't able to upgrade to Yao 0.8 with YaoPlots. This should do it :D

* Update Project.toml

* Bump version of BitBasis in Project.toml (#53)

Sorry! Forgot about this one 🥲

* Update Project.toml

* update

* better visualization of labeled multi-qubit circuits (#55)

* update

* update

* update

* to basic style

* update

* update vizcircuit

* fix tests

* fix tests

* rm wg

* Update Project.toml

* fix multi-level

* Update CI.yml

* bump version

* [WIP] Switch to Luxor backend (#56)

* update luxor

* fix line break

* fix labelled example

* fix margin

* fix test

* ...

* more spacious

* ...

* seperate zx calculus

* upgrad OMEinsum

* update dpes

* fix #58 (#59)

* barrier for chain (#60)

* Update README.md

* add type TensorNetwork

* update README

* fix show

* cuda extension

* fix cuda ext

* Plot bloch sphere (#62)

* new bloch

* update README

* Update Project.toml

* Update Project.toml

* optimize projection gate

* update

* fix a dispatch

* impove test

* Update Project.toml

* Update README.md

* Update README.md

* Subtree merged in lib/YaoToEinsum

* complete YaoToEinsum merge

* complete YaoPlots merge

* clean up images

---------

Co-authored-by: Roger-luo <rogerluo.rl18@gmail.com>
Co-authored-by: Chen Zhao <zhaochen17@mails.ucas.ac.cn>
Co-authored-by: Chen Zhao <50411747+ChenZhao44@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>
Co-authored-by: Chetan Vardhan <51269425+VarLad@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
register bugs, discussions about register
Projects
None yet
Development

No branches or pull requests

1 participant