Pure Bosonic Extension
Accessible in both numqi.entangle
(recommended) and numqi.entangle.pureb
numqi.entangle.PureBosonicExt
Bases: Module
Approximate the relative entropy of entanglement via Pure Bosonic Extension
__init__(dimA, dimB, kext, distance_kind='ree')
Initialize the module
Parameters:
Name | Type | Description | Default |
---|---|---|---|
dimA
|
int
|
The dimension of the system A |
required |
dimB
|
int
|
The dimension of the system B |
required |
kext
|
int
|
extension value for system B |
required |
distance_kind
|
str
|
The kind of distance, either 'ree' or 'gellmann' |
'ree'
|
get_boundary(dm0, xtol=0.0001, converge_tol=1e-10, threshold=1e-07, num_repeat=1, use_tqdm=True, return_info=False, seed=None)
Get the boundary of Pure Bosonic Extension
Parameters:
Name | Type | Description | Default |
---|---|---|---|
dm0
|
ndarray
|
The initial density matrix |
required |
xtol
|
float
|
The tolerance for the boundary |
0.0001
|
converge_tol
|
float
|
The convergence tolerance for optimization |
1e-10
|
threshold
|
float
|
The threshold for the boundary |
1e-07
|
num_repeat
|
int
|
The number of repeat for optimization |
1
|
use_tqdm
|
bool
|
Whether to use tqdm |
True
|
return_info
|
bool
|
Whether to return the history information |
False
|
seed
|
int | None
|
The random seed |
None
|
Returns:
Name | Type | Description |
---|---|---|
beta |
float
|
length of the boundary |
history_info |
list
|
The history information, only if return_info is True |
get_numerical_range(op0, op1, num_theta=400, converge_tol=1e-05, num_repeat=1, use_tqdm=True, seed=None)
Get the numerical range of Pure Bosonic Extension
Parameters:
Name | Type | Description | Default |
---|---|---|---|
op0
|
ndarray
|
Hermitian expectation operator |
required |
op1
|
ndarray
|
Hermitian expectation operator |
required |
num_theta
|
int
|
The number of theta |
400
|
converge_tol
|
float
|
The convergence tolerance for optimization |
1e-05
|
num_repeat
|
int
|
The number of repeat for optimization |
1
|
use_tqdm
|
bool
|
Whether to use tqdm |
True
|
seed
|
int | None
|
The random seed |
None
|
Returns:
Name | Type | Description |
---|---|---|
ret |
ndarray
|
The numerical range, |
set_dm_target(rho)
Set the target density matrix
Parameters:
Name | Type | Description | Default |
---|---|---|---|
rho
|
ndarray
|
The target density matrix |
required |
set_expectation_op(op)
Set the expectation operator
Parameters:
Name | Type | Description | Default |
---|---|---|---|
op
|
ndarray
|
Hermitian expectation operator |
required |
numqi.entangle.pureb_quantum.QuantumPureBosonicExt
TODO