瀏覽代碼

Better docs

master
Pete Shadbolt 8 年之前
父節點
當前提交
3f653e20d2
共有 2 個文件被更改,包括 50 次插入5 次删除
  1. +47
    -4
      abp/clifford.py
  2. +3
    -1
      doc/index.rst

+ 47
- 4
abp/clifford.py 查看文件

@@ -1,9 +1,43 @@
# -*- coding: utf-8 -*-

"""
This program generates and caches lookup tables, and handles the Clifford group.
It provides tables for Clifford group multiplication and conjugation,
as well as CZ and decompositions of the 2x2 Cliffords.
This module handles operations on the Clifford group. It makes extensive use of the lookup tables in ``abp.tables``.
The code to generate those tables is included in this distribution as ``abp/build_tables.py``
This package emumerates and labels the single-qubit Clifford group, and provides methods for matrix multiplication and conjugation.
It also includes the look-up table for the CZ gate.

There are 24 members of the single-qubit Clifford group. You can refer to some of them by multiple names.
The complete set of aliases for single-qubit Cliffords is as follows:

======= =========================
Index Aliases
======= =========================
0 ``IA, identity, identity_h``
1 ``px, XA, px_h``
2 ``py, YA, py_h``
3 ``pz, ZA, pz_h``
4 ``IB``
5 ``XB, sqz, msqz_h, phase_h``
6 ``YB, msqz, sqz_h, phase``
7 ``ZB``
8 ``IC``
9 ``XC, msqy, sqy_h``
10 ``YC, hadamard, hadamard_h``
11 ``ZC, sqy, msqy_h``
12 ``ID``
13 ``XD``
14 ``YD, sqx, msqx_h``
15 ``ZD, msqx, sqx_h``
16 ``IE``
17 ``XE``
18 ``YE``
19 ``ZE``
20 ``IF``
21 ``XF``
22 ``YF``
23 ``ZF``
======= =========================

"""

from tables import *
@@ -26,9 +60,18 @@ def human_name(i):
choices = sorted((key for key, value in by_name.items() if value == i), key=len)
return choices[-1]


def is_diagonal(v):
""" TODO: remove this. Checks if a VOP is diagonal or not """
return v in {0, 3, 5, 6}


if __name__ == '__main__':
from itertools import groupby

for i in range(24):
members = [key for key, value in by_name.items() if value == i and str(key)!=str(i)]
members = sorted(members, key=len)
print "* {}: {}".format(i, ", ".join(members))



+ 3
- 1
doc/index.rst 查看文件

@@ -7,7 +7,7 @@
:maxdepth: 2


Welcome to ``abp``
``abp``
===============================

This is the documentation for ``abp``. It's a work in progress.
@@ -102,6 +102,8 @@ Here follows complete documentation
The Clifford group
----------------------

.. automodule:: abp.clifford

Visualization
----------------------



Loading…
取消
儲存