Code Monkey home page Code Monkey logo

nkanazawa1989 / qiskit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from qiskit/qiskit

1.0 1.0 0.0 120.08 MB

Terra provides the foundations for Qiskit. It allows the user to write quantum circuits easily, and takes care of the constraints of real hardware (the transpiler). It is built to be modular, to simplify adding extensions for circuit optimizations and backends.

Home Page: https://qiskit.org

License: Apache License 2.0

Makefile 0.02% Python 95.79% Jupyter Notebook 0.07% C++ 0.04% OpenQASM 1.19% TeX 0.35% Rust 2.50% Pascal 0.02% Shell 0.03%

qiskit's People

Contributors

1ucian0 avatar antoniomezzacapo avatar atilag avatar awcross1 avatar chriseclectic avatar cryoris avatar delapuente avatar dependabot[bot] avatar diego-plan9 avatar enavarro51 avatar eric-arellano avatar ewinston avatar ikkoham avatar ismaelfaro avatar jakelishman avatar jaygambetta avatar jesusprubio avatar kdk avatar lcapelluto avatar levbishop avatar maddy-tod avatar manoelmarques avatar mtreinish avatar nkanazawa1989 avatar nonhermitian avatar qiskit-bot avatar sooluthomas avatar t-imamichi avatar taalexander avatar woodsp-ibm avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

qiskit's Issues

need update of assemble_schedule

Information

  • Qiskit Terra version:
  • Python version:
  • Operating system:

What is the current behavior?

assemble_schedule uses Schedule.channels and cannot generate lo_frequencies.

Steps to reproduce the problem

What is the expected behavior?

Suggested solutions

use new .device structure

PR plan for terra-master

What is the expected enhancement?

This is our PR plan to master.

Guides:

  • We make each PR step by step from 1
  • If the parent PR is modified during the review, a child should merge terra-master after the parent is merged (to reflect stable code). If the change is critical to develop children branches, we can merge parent branch itself. This process propagate from child to grandchild.
  • If you continue to develop during the terra owner's review, you should make PR to below 4 branches or terra-master.
  • Test branch accepts these changes only by pull upstream master
  • Confirm linting before make PR to master
  • All PRs should refer Thomas's issue for API #1713
  • Before stating PR, previous PR for frontend should be closed #1901

New:

  • Child branch will be rebased by parent to serialize commit history.

1. channels module

https://github.com/nkanazawa1989/qiskit-terra/tree/openpulse-channels
preview #27
reference branch: pulse_channel
This PR adds qiskit/pulse/channels

WIP

  • fix DeviceSpecification constructor #23
  • proper u_channel creation #14

2. commands rework

https://github.com/nkanazawa1989/qiskit-terra/tree/openpulse-commands-rework
preview #31
reference branch: openpulse-channels
This PR apply reworks for command instruction

status: WIP

  • add unittest for command instruction #28

3. schedule module

https://github.com/nkanazawa1989/qiskit-terra/tree/openpulse-schedule
preview #32
reference branch: openpulse-commands-rework
This PR adds qiskit/pulse/schedules

status: under Thomas's review

4. assembler module

https://github.com/nkanazawa1989/qiskit-terra/tree/openpulse-assembler
preview #34
reference branch: openpulse-schedule
This PR update qiskit/compiler/assembler and execute

status: WIP

  • add proper LO config #26
  • add unittest for LO config

relocation of commits

What is the expected enhancement?

In lo-rework branch, there are unrelated commits to the branch name because of some bug fix.
We can apply these commits to proper PR branches in #29

As far as I know:
e699f00
80983fa
48714f8

backend with different n_uchannels

What is the expected enhancement?

Currently the backend returns n_uchannels = 0.
DeviceSpecification is better to accept different numbers of n_qubit and n_uchannels .

This situation could also happen when a system comprises only 1 qubit (no need of CR).

Need unittest for command instruction

What is the expected enhancement?

We don't have unittest for

AcquireInstruction
FrameChangeInstruction
PersistentValueInstruction
DriveInstruction

LO configureation update

What is the expected enhancement?

ConfiguredSchedule is better not to be exposed. Adding a factory method to Schedule will increase usability.

when bind LO config to each schedule

for setting in settings:
    schedule = Schedule()
    ....
    schedules.extend(schedule.configured(lo_config))

when bind a set of LO configs to a single schedule

schedule = Schedule()
....
schedules.extend([schedule.configured(lo_config) for lo_config in lo_configs])

We can use same interface

execute_schedule(schedules, backend, **kwargs)

Is MemorySlot necessary to be exposed to users?

Current Acquire command (in #12) requires memory slots as its operands.

Acquire(10)(device.q[0], device.mem[0], device.c[1])

But one qubit has exactly one acquire and one memory slot so far.
And I guess it will not change even in the future.
If so, I think a memory slot should belong to an acquire channel and be hidden from users.

Acquire(10)(device.q[0], device.c[1])

(Note: How to get results also may be changed if this change is accepted.)

use old assember

Information

  • Qiskit Terra version:
  • Python version:
  • Operating system:

What is the current behavior?

9117541 merged old assembler.

Steps to reproduce the problem

What is the expected behavior?

#8 should be used.

Suggested solutions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.