hqm.utils.printer

 1import sys
 2sys.path += ['.', './circuits/']
 3
 4import pennylane as qml
 5import numpy as np
 6
 7from hqm.circuits.circuit import QuantumCircuit
 8
 9class Printer:
10    '''
11        This class contains static methods to print quantum circuit information.
12    '''
13
14    @staticmethod
15    def draw_circuit(circuit : QuantumCircuit) -> str:
16        '''
17            Draw circuit structure.  
18
19            Parameters:  
20            -----------  
21            - circuit : hqm.circuits.circuit.QuantumCircuit  
22                hqm circuit to be drawn  
23            
24            Return:  
25            -------  
26            - str_circ : str  
27                string containing circuit structure  
28
29        '''
30        
31        weights  = np.random.random(size=circuit.weight_shape['weights'])
32        inputs   = np.random.random(size=(circuit.n_qubits))
33        str_circ = qml.draw(circuit.circuit, expansion_strategy="device")(inputs, weights)
34        print(str_circ)
35        return str_circ
class Printer:
10class Printer:
11    '''
12        This class contains static methods to print quantum circuit information.
13    '''
14
15    @staticmethod
16    def draw_circuit(circuit : QuantumCircuit) -> str:
17        '''
18            Draw circuit structure.  
19
20            Parameters:  
21            -----------  
22            - circuit : hqm.circuits.circuit.QuantumCircuit  
23                hqm circuit to be drawn  
24            
25            Return:  
26            -------  
27            - str_circ : str  
28                string containing circuit structure  
29
30        '''
31        
32        weights  = np.random.random(size=circuit.weight_shape['weights'])
33        inputs   = np.random.random(size=(circuit.n_qubits))
34        str_circ = qml.draw(circuit.circuit, expansion_strategy="device")(inputs, weights)
35        print(str_circ)
36        return str_circ

This class contains static methods to print quantum circuit information.

@staticmethod
def draw_circuit(circuit: hqm.circuits.circuit.QuantumCircuit) -> str:
15    @staticmethod
16    def draw_circuit(circuit : QuantumCircuit) -> str:
17        '''
18            Draw circuit structure.  
19
20            Parameters:  
21            -----------  
22            - circuit : hqm.circuits.circuit.QuantumCircuit  
23                hqm circuit to be drawn  
24            
25            Return:  
26            -------  
27            - str_circ : str  
28                string containing circuit structure  
29
30        '''
31        
32        weights  = np.random.random(size=circuit.weight_shape['weights'])
33        inputs   = np.random.random(size=(circuit.n_qubits))
34        str_circ = qml.draw(circuit.circuit, expansion_strategy="device")(inputs, weights)
35        print(str_circ)
36        return str_circ

Draw circuit structure.

Parameters:

Return:

  • str_circ : str
    string containing circuit structure