Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

plot

绘制量子电路或复合门

自 R2023a 起

安装要求:此功能需要 MATLAB Support Package for Quantum Computing

说明

plot(c) 绘制量子电路或复合门 c

示例

plot(c,Name=Value) 使用一个或多个名称-值参量指定选项。例如,plot(c,QubitBlocks=[5 3]) 在绘图中用红色虚线分隔包含 5 个和 3 个量子位的模块。

示例

plot(parent,___) 在指定的父容器(而不是当前容器)中绘图。参量 parent 可以置于上述语法中的任何输入参量组合之前。

p = plot(___) 返回 QuantumCircuitChart 对象。使用此对象可以检查和修改绘制电路的属性。有关属性列表,请参阅 QuantumCircuitChart Properties

示例

示例

全部折叠

创建一个量子电路,它包含哈达玛门和受控 X 门,用于纠缠两个量子位。

gates = [hGate(1); cxGate(1,2)];
c = quantumCircuit(gates);

绘制电路。

plot(c)

Quantum circuit with Hadamard and CNOT gates

创建一个由四个控控 X (CCX) 门组成的量子电路。

gates = ccxGate([1 3 4 5],[2 6 7 8],[6 7 8 9]);
c = quantumCircuit(gates);

用分隔量子位模块的线条绘制电路。要分隔的量子位模块是前 5 个量子位,然后是接下来的 3 个量子位,然后是最后 1 个量子位。前 5 个量子位是四个 CCX 门中每个门的第一个控制量子位,以及第一个门的第二个控制量子位。接下来的 3 个量子位是其余 CCX 门的第二个控制量子位。最后 1 个量子位是最终目标量子位,它保留应用最后一个 CCX 门的结果。

plot(c,QubitBlocks=[5 3 1])

Quantum circuit with four CCX gates and two red dashed lines separating the circuit into three blocks of 5 qubits, 3 qubits, and 1 qubit

创建一组由哈达玛门和受控 X 门组成的内门来纠缠两个量子位。

gates = [hGate(1); cxGate(1,2)];

从内门数组中构造两个复合门。将这两个复合门命名为 "bell"。第一个复合门作用于包含此门的外部电路的量子位 1 和 3。第二个复合门作用于包含此门的外部电路的量子位 2 和 4。

cg1 = compositeGate(gates,[1 3],Name="bell");
cg2 = compositeGate(gates,[2 4],Name="bell");

创建一个包含这两个复合门的量子电路。

circuit = quantumCircuit([cg1; cg2])
circuit = 

  quantumCircuit with properties:

    NumQubits: 4
        Gates: [2×1 quantum.gate.CompositeGate]
         Name: ""

绘制电路。

plot(circuit)

Quantum circuit with two composite gates named bell

在电路图中,每条水平实线表示一个量子位。顶部线表示索引为 1 的量子位,其余线按从上到下的顺序标注。在此示例中,所绘制的电路由索引为 1、2、3 和 4 的四个量子位组成。绘图显示电路的量子位 1 和 3 映射到第一个复合门的内门的量子位 1 和 2,电路的量子位 2 和 4 映射到第二个复合门的内门的量子位 1 和 2。

点击绘图中的一个复合门模块。显示复合门的内部门的新图窗出现。

Internal gates of the bell composite gate

创建并绘制一个量子电路,它由哈达玛门和受控 X 门组成,用于纠缠两个量子位。通过将一个输出参量指定给 plot,返回 QuantumCircuitChart 对象。

gates = [hGate(1); cxGate(1,2)];
c = quantumCircuit(gates);
p = plot(c);

Quantum circuit with Hadamard and CNOT gates

通过修改图对象的属性,在左侧显示量子位标签。

p.QubitLabelLocation = "left";

Quantum circuit with Hadamard and CNOT gates. The two qubits are labeled on the left side.

输入参数

全部折叠

量子电路或复合门,指定为 quantumCircuit 对象或 CompositeGate 对象。

图的父容器,指定为 FigurePanelTabTiledChartLayout 对象。如果不指定父容器,则 plot 使用当前容器。

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。

示例: p = plot(c,NumRows=2,QubitLabelLocation="left")

此处列出的量子电路图属性只是一部分。有关完整列表,请参阅 QuantumCircuitChart Properties

绘图中要分隔的模块大小,指定为整数向量。向量的每个元素指定一个量子位模块的大小。模块大小的总和必须等于电路中量子位的数目。

示例: [3 2 1]

要覆盖电路的行数,指定为正整数标量。如果不指定 NumRows,则 plot 会自动确定行数。

量子位线标签的位置,指定为 "left""right""none""both"。如果未指定 QubitLabelLocation,则 plot 会自动确定标签位置。

提示

  • 在绘制的量子电路或复合门上,您可以将鼠标移至门符号(在方框符号的角上或在门符号的标记上)的上方,以显示关于各个门的更多信息。这些信息包括门名称、电路中的门索引以及门操作的指定角度。

  • 您可以点击一个绘制的复合门,以打开一个包含复合门的内部门的新图窗。

版本历史记录

在 R2023a 中推出

全部展开