Skip to content

Commit

Permalink
Fix misc. class API reference
Browse files Browse the repository at this point in the history
  • Loading branch information
WrathfulSpatula committed Oct 27, 2022
1 parent 0b59fa2 commit 4cdb070
Show file tree
Hide file tree
Showing 10 changed files with 13 additions and 13 deletions.
2 changes: 1 addition & 1 deletion docs/api/qalu.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
:orphan:

.. Copyright (c) 2017-2021
.. Copyright (c) 2017-2022
QAlu
========================
Expand Down
4 changes: 2 additions & 2 deletions docs/api/qbinarydecisiontree.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ Defined in `qbinary_decision_tree.hpp <https://github.com/vm6502q/qrack/blob/mai

The API is provided by Qrack::QInterface. Qrack::QBinaryDecisionTree is an attempt at an alternative representation of quantum pure states, in terms of binary decision trees, inspired by `other open source work <https://iic.jku.at/eda/research/quantum_dd/>`_.

.. doxygenfunction:: Qrack::QBinaryDecisionTree::QBinaryDecisionTree(bitLenInt, bitCapInt, qrack_rand_gen_ptr, complex, bool, bool, bool, int, bool, bool, real1_f, std::vector<int>, bitLenInt, real1_f)
.. doxygenfunction:: Qrack::QBinaryDecisionTree::QBinaryDecisionTree(std::vector<QInterfaceEngine>, bitLenInt, bitCapInt, qrack_rand_gen_ptr, complex, bool, bool, bool, int, bool, bool, real1_f, std::vector<int>, bitLenInt, real1_f)
.. doxygenfunction:: Qrack::QBinaryDecisionTree::QBinaryDecisionTree(bitLenInt, bitCapInt, qrack_rand_gen_ptr, complex, bool, bool, bool, int64_t, bool, bool, real1_f, std::vector<int64_t>, bitLenInt, real1_f)
.. doxygenfunction:: Qrack::QBinaryDecisionTree::QBinaryDecisionTree(std::vector<QInterfaceEngine>, bitLenInt, bitCapInt, qrack_rand_gen_ptr, complex, bool, bool, bool, int64_t, bool, bool, real1_f, std::vector<int64_t>, bitLenInt, real1_f)
4 changes: 2 additions & 2 deletions docs/api/qengine.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ This is an (abstract) intermediate specialization that inherits from Qrack::QInt

.. doxygenfunction:: Qrack::QEngine::GetAmplitudePage

.. doxygenfunction:: Qrack::QEngine::SetAmplitudePage(const complex *, const bitCapIntOcl, const bitCapIntOcl)
.. doxygenfunction:: Qrack::QEngine::SetAmplitudePage(complex const *, bitCapIntOcl, bitCapIntOcl)

.. doxygenfunction:: Qrack::QEngine::SetAmplitudePage(QEnginePtr, const bitCapIntOcl, const bitCapIntOcl, const bitCapIntOcl)
.. doxygenfunction:: Qrack::QEngine::SetAmplitudePage(QEnginePtr, bitCapIntOcl, bitCapIntOcl, bitCapIntOcl)

.. doxygenfunction:: Qrack::QEngine::ShuffleBuffers

Expand Down
2 changes: 1 addition & 1 deletion docs/api/qenginecpu.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ Defined in `qengine_cpu.hpp <https://github.com/vm6502q/qrack/blob/master/includ

The API is provided by Qrack::QInterface, via Qrack::Engine. This is a general purpose implementation of Qrack::QInterface, without OpenCL.

.. doxygenfunction:: Qrack::QEngineOCL::QEngineCPU(bitLenInt, bitCapInt, qrack_rand_gen_ptr, complex, bool, bool, bool, int, bool, bool, real1, std::vector<int>, bitLenInt)
.. doxygenfunction:: Qrack::QEngineCPU::QEngineCPU(bitLenInt, bitCapInt, qrack_rand_gen_ptr, complex, bool, bool, bool, int, bool, bool, real1, std::vector<int>, bitLenInt)
2 changes: 1 addition & 1 deletion docs/api/qinterface.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
:orphan:

.. Copyright (c) 2017-2021
.. Copyright (c) 2017-2022
QInterface
========================
Expand Down
2 changes: 1 addition & 1 deletion docs/api/qparity.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
:orphan:

.. Copyright (c) 2017-2021
.. Copyright (c) 2017-2022
QParity
========================
Expand Down
4 changes: 2 additions & 2 deletions docs/api/qstabilizerhybrid.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ Defined in `qstabilizerhybrid.hpp <https://github.com/vm6502q/qrack/blob/main/in

The API is provided by Qrack::QInterface. This is an extended "stabilizer" or "Clifford" simulation. If a Qrack::QInterface method call cannot be carried out by this simulator via "stabilizer" simulation methods, it will automatically convert to traditional state vector representation, (while keep its Qrack::QStabilizerHybrid class type).

.. doxygenfunction:: Qrack::QStabilizerHybrid::QStabilizerHybrid(bitLenInt, bitCapInt, qrack_rand_gen_ptr, complex, bool, bool, bool, int, bool, bool, real1_f, std::vector<int>, bitLenInt, real1_f)
.. doxygenfunction:: Qrack::QStabilizerHybrid::QStabilizerHybrid(std::vector<QInterfaceEngine>, bitLenInt, bitCapInt, qrack_rand_gen_ptr, complex, bool, bool, bool, int, bool, bool, real1_f, std::vector<int>, bitLenInt, real1_f)
.. doxygenfunction:: Qrack::QStabilizerHybrid::QStabilizerHybrid(bitLenInt, bitCapInt, qrack_rand_gen_ptr, complex, bool, bool, bool, int64_t, bool, bool, real1_f, std::vector<int64_t>, bitLenInt, real1_f)
.. doxygenfunction:: Qrack::QStabilizerHybrid::QStabilizerHybrid(std::vector<QInterfaceEngine>, bitLenInt, bitCapInt, qrack_rand_gen_ptr, complex, bool, bool, bool, int64_t, bool, bool, real1_f, std::vector<int64_t>, bitLenInt, real1_f)
2 changes: 1 addition & 1 deletion docs/api/qunit.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ Qrack::QInterface::TrySeparate() is primarily intended for use with Qrack::QUnit

.. doxygenfunction:: Qrack::QInterface::TrySeparate(bitLenInt)
.. doxygenfunction:: Qrack::QInterface::TrySeparate(bitLenInt, bitLenInt)
.. doxygenfunction:: Qrack::QInterface::TrySeparate(bitLenInt *, bitLenInt, real1_f)
.. doxygenfunction:: Qrack::QInterface::TrySeparate(const std::vector<bitLenInt>&, real1_f)
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Qrack with tools designed to control, extend and visualize data emanating to and
Copyright
---------

Copyright (c) Daniel Strano 2017-2021 and the Qrack contributors. All rights reserved.
Copyright (c) Daniel Strano 2017-2022 and the Qrack contributors. All rights reserved.

Daniel Strano would like to specifically note that Benn Bollay is almost entirely responsible for the original implementation of QUnit and tooling, including unit tests, in addition to large amounts of work on the documentation and many other various contributions in intensive reviews. Also, thank you to Marek Karcz for supplying an awesome base classical 6502 emulator for proof-of-concept.

Expand Down
2 changes: 1 addition & 1 deletion docs/performance.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ However, we can furnish examples of circuits where Qrack has a commanding natura

.. image:: performance/single_qubits.png

The above graph is a test of (non-Clifford) single qubit gates, to depth of 20 on each qubit in simulator width, in parallel across the full width of a simulator instance. Qrack is transparently able to handle this circuit via "Schmidt decomposition," as single separable qubit subsystems, (similar to tensor network "matrix product states,") completing the test in linear time, over qubit widths. Surprisingly, Qiskit transpilation makes no great difference in execution time, in this case, despite successfully reducing depth of 20 qubits to depth of 1. We could guess, Qiskit might handle this via conventional "gate fusion" techniques, even without transpilation. However, even reducing circuit depth to 1 for each qubit in the width, Qiskit still suffers an exponential complexity disadvantage, since it still relies on fully connected "Schrödinger method" at base.
The above graph is a test of (non-Clifford) single qubit gates, to depth of 20 on each qubit in simulator width, in parallel across the full width of a simulator instance. Qrack is transparently able to handle this circuit via "Schmidt decomposition," as single separable qubit subsystems, (similar to tensor network "matrix product states,") completing the test in linear time, over qubit widths. Surprisingly, Qiskit transpilation makes no great difference in execution time, in this case, despite successfully reducing depth of 20 qubits to depth of 1. We could guess, Qiskit might handle this via conventional "gate fusion" techniques, even without transpilation. However, even reducing circuit depth to 1 for each qubit in the width, Qiskit still suffers an exponential complexity disadvantage, since it relies on fully connected "Schrödinger method" at base.

.. image:: performance/random_ccx.png

Expand Down

0 comments on commit 4cdb070

Please sign in to comment.