Sequential Quantum Gate Decomposer  v1.9.3
Powerful decomposition of general unitarias into one- and two-qubit gates gates
Functions | Variables
Heisenberg_VQE Namespace Reference

Functions

def generate_hamiltonian (n)
 
def generate_hamiltonian_tmp (n)
 

Variables

dictionary config
 
 eigval = np.real(eigvals[0])
 
 eigvec = eigvecs[:,0]
 
 entropy = VQE_Heisenberg.get_Second_Renyi_Entropy( parameters=parameters, qubit_list=qubit_list )
 
 entropy_exact_gs = VQE_Heisenberg.get_Second_Renyi_Entropy( parameters=np.array([]), qubit_list=[0,1], input_state=eigvec )
 
 flush
 
def Hamiltonian = generate_hamiltonian_tmp( qbit_num )
 
 initial_state = np.zeros( (1 << qbit_num), dtype=np.complex128 )
 
int inner_blocks = 1
 
 k
 
int layers = 500
 
 linewidth
 
int normalized_entropy = entropy/page_entropy
 
int normalized_entropy_exact_gs = entropy_exact_gs/page_entropy
 
 overlap = state_to_transform.transpose().conjugate() @ eigvecs
 
 overlap_norm = np.real(overlap * overlap.conjugate())
 
int page_entropy = 2 * np.log(2.0) - 1.0/( pow(2, qbit_num-2*2+1) )
 
 param_num = VQE_Heisenberg.get_Parameter_Num()
 
int parameters = np.random.randn( param_num )*2*np.pi
 
int qbit_num = 16
 
list qubit_list = [0,1]
 
 state_to_transform = initial_state.copy()
 
list topology = []
 
 VQE_energy = VQE_Heisenberg.Optimization_Problem( parameters )
 
 VQE_Heisenberg = Variational_Quantum_Eigensolver(Hamiltonian, qbit_num, config, accelerator_num=1)
 
 which
 

Function Documentation

◆ generate_hamiltonian()

def Heisenberg_VQE.generate_hamiltonian (   n)

Definition at line 43 of file Heisenberg_VQE.py.

◆ generate_hamiltonian_tmp()

def Heisenberg_VQE.generate_hamiltonian_tmp (   n)

Definition at line 20 of file Heisenberg_VQE.py.

Variable Documentation

◆ config

dictionary Heisenberg_VQE.config
Initial value:
1 = {"max_inner_iterations":800,
2  "batch_size": 128,
3  "convergence_length": 20}

Definition at line 82 of file Heisenberg_VQE.py.

◆ eigval

Heisenberg_VQE.eigval = np.real(eigvals[0])

Definition at line 75 of file Heisenberg_VQE.py.

◆ eigvec

Heisenberg_VQE.eigvec = eigvecs[:,0]

Definition at line 76 of file Heisenberg_VQE.py.

◆ entropy

Heisenberg_VQE.entropy = VQE_Heisenberg.get_Second_Renyi_Entropy( parameters=parameters, qubit_list=qubit_list )

Definition at line 134 of file Heisenberg_VQE.py.

◆ entropy_exact_gs

Heisenberg_VQE.entropy_exact_gs = VQE_Heisenberg.get_Second_Renyi_Entropy( parameters=np.array([]), qubit_list=[0,1], input_state=eigvec )

Definition at line 112 of file Heisenberg_VQE.py.

◆ flush

Heisenberg_VQE.flush

Definition at line 117 of file Heisenberg_VQE.py.

◆ Hamiltonian

Heisenberg_VQE.Hamiltonian = generate_hamiltonian_tmp( qbit_num )

Definition at line 70 of file Heisenberg_VQE.py.

◆ initial_state

Heisenberg_VQE.initial_state = np.zeros( (1 << qbit_num), dtype=np.complex128 )

Definition at line 142 of file Heisenberg_VQE.py.

◆ inner_blocks

int Heisenberg_VQE.inner_blocks = 1

Definition at line 62 of file Heisenberg_VQE.py.

◆ k

Heisenberg_VQE.k

Definition at line 74 of file Heisenberg_VQE.py.

◆ layers

int Heisenberg_VQE.layers = 500

Definition at line 59 of file Heisenberg_VQE.py.

◆ linewidth

Heisenberg_VQE.linewidth

Definition at line 12 of file Heisenberg_VQE.py.

◆ normalized_entropy

int Heisenberg_VQE.normalized_entropy = entropy/page_entropy

Definition at line 135 of file Heisenberg_VQE.py.

◆ normalized_entropy_exact_gs

int Heisenberg_VQE.normalized_entropy_exact_gs = entropy_exact_gs/page_entropy

Definition at line 113 of file Heisenberg_VQE.py.

◆ overlap

Heisenberg_VQE.overlap = state_to_transform.transpose().conjugate() @ eigvecs

Definition at line 149 of file Heisenberg_VQE.py.

◆ overlap_norm

Heisenberg_VQE.overlap_norm = np.real(overlap * overlap.conjugate())

Definition at line 150 of file Heisenberg_VQE.py.

◆ page_entropy

float Heisenberg_VQE.page_entropy = 2 * np.log(2.0) - 1.0/( pow(2, qbit_num-2*2+1) )

Definition at line 111 of file Heisenberg_VQE.py.

◆ param_num

Heisenberg_VQE.param_num = VQE_Heisenberg.get_Parameter_Num()

Definition at line 99 of file Heisenberg_VQE.py.

◆ parameters

Heisenberg_VQE.parameters = np.random.randn( param_num )*2*np.pi

Definition at line 103 of file Heisenberg_VQE.py.

◆ qbit_num

int Heisenberg_VQE.qbit_num = 16

Definition at line 65 of file Heisenberg_VQE.py.

◆ qubit_list

list Heisenberg_VQE.qubit_list = [0,1]

Definition at line 131 of file Heisenberg_VQE.py.

◆ state_to_transform

Heisenberg_VQE.state_to_transform = initial_state.copy()

Definition at line 146 of file Heisenberg_VQE.py.

◆ topology

list Heisenberg_VQE.topology = []

Definition at line 18 of file Heisenberg_VQE.py.

◆ VQE_energy

Heisenberg_VQE.VQE_energy = VQE_Heisenberg.Optimization_Problem( parameters )

Definition at line 128 of file Heisenberg_VQE.py.

◆ VQE_Heisenberg

Heisenberg_VQE.VQE_Heisenberg = Variational_Quantum_Eigensolver(Hamiltonian, qbit_num, config, accelerator_num=1)

Definition at line 87 of file Heisenberg_VQE.py.

◆ which

Heisenberg_VQE.which

Definition at line 74 of file Heisenberg_VQE.py.