Closed chinyi0523 closed 5 months ago
make test
make test-docker
make lint
qcir oracle
qcir translate
qcir optimize --tech
convert tensor qcir
Operation
.zxg
zx draw
history
history [<+|-><u|e|i|s>]
typos
_typos.toml
ZXGraph Extractor now only creates a new graph when PERMUTE_QUBITS is set to false #79
PERMUTE_QUBITS
Changed qcir print -s|-g printing styles #98
qcir print -s|-g
QCir's qubit id is now always consecutive #102
QCir
Command::add_subcommand now requires a mandatory subcommand group name as input #74
Command::add_subcommand
argparse::ArgumentParser::add_subparsers now requires a mandatory subparser group name as input #74
argparse::ArgumentParser::add_subparsers
Sped up duostra by replacing ordered_hashmap with vector in appropriate places #118
duostra
ordered_hashmap
vector
Sped up qcir optimize by replacing ordered_hashset with vector in QC Optimizer in appropriate places #121
qcir optimize
ordered_hashset
QC Optimizer
Revised ZXGraph extractor to optimize away more CZs when extracting circuit from ZX-diagrams #115
Updated README.md to reflect the evolution of the project
README.md
separate qubit ID and row to different fields for ZXVertex #64
qsyn::zx::ZXGraph::read_zx becomes the free function qsyn::zx::from_zx#64
qsyn::zx::ZXGraph::read_zx
qsyn::zx::from_zx
Revised .zx file parser. #64
.zx
Unify qcir::QCirGate, duostra::Gate, and device::Operation #94
qcir::QCirGate
duostra::Gate
device::Operation
Duostra now directly uses qcir::QCir as its dependency graph #94
qcir::QCir
Migrated SWAPs, ECRs, and all single qubit gates to the new gate type system #100
automatically quit after execution if qsyn is launched with -c or -f flag #107
decouple exit code with CmdExecResult #107
CmdExecResult
Supports all floating-point types in more Tensor functions #95
Tensor
qcir print
qcir print --stat
zx draw -cli
duostra::DependencyGraph
duostra::Checker
qcir::LegacyGateType
.qsim
.quipper
./qsyn -f <filename>
./qsyn [-v] <filename>
Check List
make test
?make test-docker
?make lint
before submission?Added
Synthesis/Verification Features
qcir oracle
) (experimental):90
96
104
qcir translate
command #78 #80qcir optimize --tech
to perform only architecture-aware optimizations72
84
85
88
91
93
97
convert tensor qcir
65
67
81
Support for new data types
60
67
Operation
to model various quantum circuit operations89
98
101
.zxg
files (experimental)127
126
Quality of Life
zx draw
59
61
126
history
now show/output only successful commands ; usehistory [<+|-><u|e|i|s>]
to toggle the history outputstypos
as the spelling checker for Qsyn. See_typos.toml
for the config. #100Changed
Command Behavior Changes
ZXGraph Extractor now only creates a new graph when
PERMUTE_QUBITS
is set to false #79Changed
qcir print -s|-g
printing styles #98QCir
's qubit id is now always consecutive #102API Breaking Changes
Command::add_subcommand
now requires a mandatory subcommand group name as input #74argparse::ArgumentParser::add_subparsers
now requires a mandatory subparser group name as input #74Performances:
Sped up
duostra
by replacingordered_hashmap
withvector
in appropriate places #118Sped up
qcir optimize
by replacingordered_hashset
withvector
inQC Optimizer
in appropriate places #121Revised ZXGraph extractor to optimize away more CZs when extracting circuit from ZX-diagrams #115
Project Quality/Misc
Updated
README.md
to reflect the evolution of the project128
130
131
separate qubit ID and row to different fields for ZXVertex #64
qsyn::zx::ZXGraph::read_zx
becomes the free functionqsyn::zx::from_zx
#64Revised
.zx
file parser. #64Unify
qcir::QCirGate
,duostra::Gate
, anddevice::Operation
#94Duostra now directly uses
qcir::QCir
as its dependency graph #94Migrated SWAPs, ECRs, and all single qubit gates to the new gate type system #100
automatically quit after execution if qsyn is launched with -c or -f flag #107
decouple exit code with
CmdExecResult
#107Supports all floating-point types in more
Tensor
functions #95Fixed
75
76
125
qcir print
. #100qcir oracle
#100qcir print
andqcir print --stat
does not report correct gate count #102Removed
zx draw -cli
#64qcir::QCirGate
's API for control/target qubit: not a general property and not reliable #89duostra::Gate
,duostra::DependencyGraph
,device::Operation
,duostra::Checker
#94qcir::LegacyGateType
#101.qsim
and.quipper
: too unstable #101./qsyn -f <filename>
: Superceded by./qsyn [-v] <filename>