Loading circuit_HHL.py +57 −57 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ import numpy as np # Importing standard Qiskit libraries from qiskit import QuantumCircuit, transpile import qiskit.qasm3 from qiskit import qpy from qiskit_aer import AerSimulator from linear_solvers import NumPyLinearSolver, HHL # library to generate matrix and vector for linear system of equations Loading @@ -31,6 +31,7 @@ parser.add_argument("--drawcirc", default=False, action='store_true', help="Draw parser.add_argument("--savedata", default=False, action='store_true', help="Save data at `models/<filename>` with `<filename>` based on parameters.") args = parser.parse_args() if __name__ == '__main__': # Get system matrix and vector matrix, vector, input_vars = matvec.get_matrix_vector(args) MATRIX_SIZE = matrix.shape[0] Loading Loading @@ -65,6 +66,7 @@ print(f'Time elapsed for generating HHL circuit: {int(t_circ/60)} min {t_circ%6 # Save data if args.savedata: circ_transpile = transpile(circ, backend) # save metadata (DON'T USE Pickle to save the circuit - only works for a given version) save_data = { 'args' : args, 'input_vars' : input_vars, Loading @@ -76,11 +78,9 @@ if args.savedata: file = open(f'{savefilename}.pkl', 'wb') pickle.dump(save_data, file) file.close() # save circuit as a QASM file circ_transpile = transpile(circ, backend) # circ_transpile.qasm(filename=f'{savefilename}.qasm') with open(f'{savefilename}.qasm', 'w') as ofile: qiskit.qasm3.dump(circ_transpile, ofile) # save circuit as QPY file with open(f'{savefilename}.qpy', 'wb') as fd: qpy.dump(circ_transpile, fd) print("===========Circuit saved===========") # Plot circuit Loading Loading
circuit_HHL.py +57 −57 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ import numpy as np # Importing standard Qiskit libraries from qiskit import QuantumCircuit, transpile import qiskit.qasm3 from qiskit import qpy from qiskit_aer import AerSimulator from linear_solvers import NumPyLinearSolver, HHL # library to generate matrix and vector for linear system of equations Loading @@ -31,6 +31,7 @@ parser.add_argument("--drawcirc", default=False, action='store_true', help="Draw parser.add_argument("--savedata", default=False, action='store_true', help="Save data at `models/<filename>` with `<filename>` based on parameters.") args = parser.parse_args() if __name__ == '__main__': # Get system matrix and vector matrix, vector, input_vars = matvec.get_matrix_vector(args) MATRIX_SIZE = matrix.shape[0] Loading Loading @@ -65,6 +66,7 @@ print(f'Time elapsed for generating HHL circuit: {int(t_circ/60)} min {t_circ%6 # Save data if args.savedata: circ_transpile = transpile(circ, backend) # save metadata (DON'T USE Pickle to save the circuit - only works for a given version) save_data = { 'args' : args, 'input_vars' : input_vars, Loading @@ -76,11 +78,9 @@ if args.savedata: file = open(f'{savefilename}.pkl', 'wb') pickle.dump(save_data, file) file.close() # save circuit as a QASM file circ_transpile = transpile(circ, backend) # circ_transpile.qasm(filename=f'{savefilename}.qasm') with open(f'{savefilename}.qasm', 'w') as ofile: qiskit.qasm3.dump(circ_transpile, ofile) # save circuit as QPY file with open(f'{savefilename}.qpy', 'wb') as fd: qpy.dump(circ_transpile, fd) print("===========Circuit saved===========") # Plot circuit Loading