qiskit-documentation/docs/api/qiskit/0.25/qiskit.aqua.circuits.DNF.mdx

129 lines
5.7 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: DNF
description: API reference for qiskit.aqua.circuits.DNF
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.aqua.circuits.DNF
---
# qiskit.aqua.circuits.DNF
<Class id="qiskit.aqua.circuits.DNF" isDedicatedPage={true} github="https://github.com/qiskit-community/qiskit-aqua/tree/stable/0.9/qiskit/aqua/circuits/boolean_logical_circuits.py" signature="DNF(ast, num_vars=None)" modifiers="class">
Class for constructing circuits for Disjunctive Normal Forms
Constructor.
**Parameters**
* **ast** (*tuple*) The logic expression as an Abstract Syntax Tree (AST) tuple
* **num\_vars** (*int*) Number of boolean variables
**Raises**
[**AquaError**](qiskit.aqua.AquaError "qiskit.aqua.AquaError") invalid input
### \_\_init\_\_
<Function id="qiskit.aqua.circuits.DNF.__init__" signature="__init__(ast, num_vars=None)">
Constructor.
**Parameters**
* **ast** (*tuple*) The logic expression as an Abstract Syntax Tree (AST) tuple
* **num\_vars** (*int*) Number of boolean variables
**Raises**
[**AquaError**](qiskit.aqua.AquaError "qiskit.aqua.AquaError") invalid input
</Function>
## Methods
| | |
| -------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| [`__init__`](#qiskit.aqua.circuits.DNF.__init__ "qiskit.aqua.circuits.DNF.__init__")(ast\[, num\_vars]) | Constructor. |
| [`compute_num_ancillae`](#qiskit.aqua.circuits.DNF.compute_num_ancillae "qiskit.aqua.circuits.DNF.compute_num_ancillae")(\[mct\_mode]) | returns the number of ancillary qubits needed |
| [`construct_circuit`](#qiskit.aqua.circuits.DNF.construct_circuit "qiskit.aqua.circuits.DNF.construct_circuit")(\[circuit, …]) | Construct circuit. |
## Attributes
| | |
| ------------------------------------------------------------------------------------------------------------------ | -------------------------- |
| [`ancillary_register`](#qiskit.aqua.circuits.DNF.ancillary_register "qiskit.aqua.circuits.DNF.ancillary_register") | returns ancillary register |
| [`clause_register`](#qiskit.aqua.circuits.DNF.clause_register "qiskit.aqua.circuits.DNF.clause_register") | returns clause register |
| [`num_clauses`](#qiskit.aqua.circuits.DNF.num_clauses "qiskit.aqua.circuits.DNF.num_clauses") | returns num clauses |
| [`num_variables`](#qiskit.aqua.circuits.DNF.num_variables "qiskit.aqua.circuits.DNF.num_variables") | return num variables |
| [`output_register`](#qiskit.aqua.circuits.DNF.output_register "qiskit.aqua.circuits.DNF.output_register") | returns output register |
| [`variable_register`](#qiskit.aqua.circuits.DNF.variable_register "qiskit.aqua.circuits.DNF.variable_register") | returns variable register |
### ancillary\_register
<Attribute id="qiskit.aqua.circuits.DNF.ancillary_register">
returns ancillary register
</Attribute>
### clause\_register
<Attribute id="qiskit.aqua.circuits.DNF.clause_register">
returns clause register
</Attribute>
### compute\_num\_ancillae
<Function id="qiskit.aqua.circuits.DNF.compute_num_ancillae" signature="compute_num_ancillae(mct_mode='basic')">
returns the number of ancillary qubits needed
</Function>
### construct\_circuit
<Function id="qiskit.aqua.circuits.DNF.construct_circuit" signature="construct_circuit(circuit=None, variable_register=None, clause_register=None, output_register=None, ancillary_register=None, mct_mode='basic')">
Construct circuit.
**Parameters**
* **circuit** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) The optional circuit to extend from
* **variable\_register** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")) The optional quantum register to use for problem variables
* **clause\_register** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")) The optional quantum register to use for problem clauses
* **output\_register** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")) The optional quantum register to use for holding the output
* **ancillary\_register** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")) The optional quantum register to use as ancilla
* **mct\_mode** (*str*) The mode to use for building Multiple-Control Toffoli
**Returns**
quantum circuit.
**Return type**
[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")
**Raises**
[**AquaError**](qiskit.aqua.AquaError "qiskit.aqua.AquaError") invalid input
</Function>
### num\_clauses
<Attribute id="qiskit.aqua.circuits.DNF.num_clauses">
returns num clauses
</Attribute>
### num\_variables
<Attribute id="qiskit.aqua.circuits.DNF.num_variables">
return num variables
</Attribute>
### output\_register
<Attribute id="qiskit.aqua.circuits.DNF.output_register">
returns output register
</Attribute>
### variable\_register
<Attribute id="qiskit.aqua.circuits.DNF.variable_register">
returns variable register
</Attribute>
</Class>