Sequential Quantum Gate Decomposer  v1.9.3
Powerful decomposition of general unitarias into one- and two-qubit gates gates
N_Qubit_Decomposition_custom.h
Go to the documentation of this file.
1 /*
2 Created on Fri Jun 26 14:13:26 2020
3 Copyright 2020 Peter Rakyta, Ph.D.
4 
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8 
9  http://www.apache.org/licenses/LICENSE-2.0
10 
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 
17 @author: Peter Rakyta, Ph.D.
18 */
23 #ifndef N_Qubit_Decomposition_custom_H
24 #define N_Qubit_Decomposition_H
25 
26 #include "Optimization_Interface.h"
27 
28 
34 
35 
36 public:
37 
38 
39 
40 public:
41 
47 
48 
49 
58 N_Qubit_Decomposition_custom( Matrix Umtx_in, int qbit_num_in, bool optimize_layer_num_in, std::map<std::string, Config_Element>& config, guess_type initial_guess_in, int accelerator_num=0 );
59 
60 
61 
66 
67 
72 virtual void start_decomposition();
73 
74 
75 
76 
77 
78 };
79 
80 
81 #endif
82 
83 
virtual ~N_Qubit_Decomposition_custom()
Destructor of the class.
N_Qubit_Decomposition_custom()
Nullary constructor of the class.
A base class to determine the decomposition of an N-qubit unitary into a sequence of CNOT and U3 gate...
int accelerator_num
number of utilized accelerators
A base class to determine the decomposition of an N-qubit unitary into a sequence of CNOT and U3 gate...
Class to store data of complex arrays and its properties.
Definition: matrix.h:38
guess_type
Type definition of the types of the initial guess.
std::map< std::string, Config_Element > config
config metadata utilized during the optimization
virtual void start_decomposition()
Start the disentanglig process of the unitary.