tensorcircuit.applications.vags#
DQAS application kernels as vag functions
- tensorcircuit.applications.vags.GHZ_vag(gdata: Any, nnp: Any, preset: Sequence[int], verbose: bool = False, n: int = 3) Tuple[Any, Any] [源代码]#
- tensorcircuit.applications.vags.GHZ_vag_tfq(gdata: Any, nnp: Any, preset: Sequence[int], verbose: bool = False, index: Tuple[int, int, int, int, int, int, int, int] = (1, 1, 1, 0, 0, 1, 0, 0)) Tuple[Any, Any] [源代码]#
- tensorcircuit.applications.vags.ave_func(state: Any, g: Any, *fs: Union[Tuple[Callable[[float], float], Callable[[Any], Any]], Tuple[Callable[[float], float], Callable[[Any], Any], Callable[[Any, Any], Any]]]) Sequence[Any] [源代码]#
- 参数
state -- 1D array for full wavefunction, the basis is in lexcical order
g -- nx.Graph
fs -- transformation functions before averaged
- 返回
- tensorcircuit.applications.vags.compose_tc_circuit_with_multiple_pools(theta: Any, preset: Sequence[int], g: Any, pool_choice: Sequence[int], cset: Optional[Sequence[Any]] = None, measure_func: Optional[Callable[[tensorcircuit.densitymatrix.DMCircuit, Any], Any]] = None) tensorcircuit.circuit.Circuit [源代码]#
- tensorcircuit.applications.vags.cvar(r: List[float], p: Any, percent: float = 0.2) Sequence[float] [源代码]#
as f3
- 参数
r --
p --
percent --
- 返回
- tensorcircuit.applications.vags.energy(i: int, n: int, g: Any) float [源代码]#
maxcut energy for n qubit wavefunction i-th basis
- 参数
i -- ranged from 0 to 2**n-1
n -- number of qubits
g -- nx.Graph
- 返回
- tensorcircuit.applications.vags.entanglement_entropy(state: Any) Any [源代码]#
deprecated as non tf and non flexible, use the combination of
reduced_density_matrix
andentropy
instead.
- tensorcircuit.applications.vags.entropy(rho: Any, eps: float = 1e-12) Any [源代码]#
deprecated, current version in tc.quantum
- tensorcircuit.applications.vags.evaluate_vag(params: Any, preset: Sequence[int], g: Any, lbd: float = 0.0, overlap_threhold: float = 0.0) Tuple[Any, Any, Any, Any] [源代码]#
value and gradient, currently only tensorflow backend is supported jax and numpy seems to be slow in circuit simulation anyhow. deprecated
- 参数
params --
preset --
g --
lbd -- if lbd=0, take energy as objective
overlap_threhold -- if as default 0, overlap will not compute in the process
- 返回
- tensorcircuit.applications.vags.exp_forward(theta: Any, preset: Sequence[int], g: Any, *fs: Tuple[Callable[[float], float], Callable[[Any], Any]]) Sequence[Any] [源代码]#
- tensorcircuit.applications.vags.free_energy(rho: Any, h: Any, beta: float = 1, eps: float = 1e-12) Any [源代码]#
- tensorcircuit.applications.vags.gapfilling(circuit: cirq.circuits.circuit.Circuit, placeholder: Sequence[Any]) cirq.circuits.circuit.Circuit [源代码]#
Fill single qubit gates according to placeholder on circuit
- 参数
circuit --
placeholder --
- 返回
- tensorcircuit.applications.vags.gatewise_vqe_vag(gdata: Any, nnp: Any, preset: Sequence[int], pool_choice: Sequence[int], measure_func: Optional[Callable[[Union[tensorcircuit.circuit.Circuit, tensorcircuit.densitymatrix.DMCircuit], Any], Any]] = None) Tuple[Any, Any] [源代码]#
- tensorcircuit.applications.vags.heisenberg_measurements(g: Any, hxx: float = 1.0, hyy: float = 1.0, hzz: float = 1.0, one: bool = True) Any [源代码]#
Hamiltonian measurements for Heisenberg model on graph lattice g
- 参数
g --
hxx --
hyy --
hzz --
one --
- 返回
- tensorcircuit.applications.vags.heisenberg_measurements_tc(c: Union[tensorcircuit.circuit.Circuit, tensorcircuit.densitymatrix.DMCircuit], g: Any, hzz: float = 1.0, hxx: float = 1.0, hyy: float = 1.0, hz: float = 0.0, hx: float = 0.0, hy: float = 0.0, reuse: bool = True) Any [源代码]#
- tensorcircuit.applications.vags.maxcut_measurements_tc(c: Union[tensorcircuit.circuit.Circuit, tensorcircuit.densitymatrix.DMCircuit], g: Any) Any [源代码]#
- tensorcircuit.applications.vags.noise_forward(theta: Any, preset: Sequence[int], g: Any, measure_func: Callable[[tensorcircuit.densitymatrix.DMCircuit, Any], Any], is_mc: bool = False) Any [源代码]#
- tensorcircuit.applications.vags.noisyfy(circuit: cirq.circuits.circuit.Circuit, error_model: str = 'bit_flip', p_idle: float = 0.2, p_sep: float = 0.02) cirq.circuits.circuit.Circuit [源代码]#
- tensorcircuit.applications.vags.q(i: int) cirq.devices.line_qubit.LineQubit [源代码]#
short cut for
cirq.LineQubit(i)
- 参数
i --
- 返回
- tensorcircuit.applications.vags.qaoa_block_vag(gdata: Any, nnp: Any, preset: Sequence[int], f: Tuple[Callable[[float], float], Callable[[Any], Any]]) Tuple[Any, Any] [源代码]#
QAOA block encoding kernel, support 2 params in one op
- 参数
gdata --
nnp --
preset --
f --
- 返回
- tensorcircuit.applications.vags.qaoa_block_vag_energy(gdata: Any, nnp: Any, preset: Sequence[int], *, f: Tuple[Callable[[float], float], Callable[[Any], Any]] = (<function _identity>, <function _neg>)) Tuple[Any, Any] #
QAOA block encoding kernel, support 2 params in one op
- 参数
gdata --
nnp --
preset --
f --
- 返回
- tensorcircuit.applications.vags.qaoa_noise_vag(gdata: Any, nnp: Any, preset: Sequence[int], measure_func: Optional[Callable[[tensorcircuit.densitymatrix.DMCircuit, Any], Any]] = None, forward_func: Optional[Callable[[Any, Sequence[int], Any, Callable[[tensorcircuit.densitymatrix.DMCircuit, Any], Any]], Any]] = None, **kws: Any) Tuple[Any, Any] [源代码]#
- tensorcircuit.applications.vags.qaoa_train(preset: Sequence[int], g: Union[Any, Iterator[Any]], *, epochs: int = 100, batch: int = 1, initial_param: Optional[Any] = None, opt: Optional[Any] = None, lbd: float = 0.0, overlap_threhold: float = 0.0, verbose: bool = True) Tuple[Any, Sequence[float], Sequence[float], Sequence[float]] [源代码]#
training QAOA with only optimizing circuit parameters, can be well replaced with more general function DQAS_search
- 参数
preset --
g --
epochs --
batch --
initial_param --
opt --
lbd --
overlap_threhold --
verbose --
- 返回
- tensorcircuit.applications.vags.qaoa_vag(gdata: Any, nnp: Any, preset: Sequence[int], f: Optional[Tuple[Callable[[float], float], Callable[[Any], Any]]] = None, forward_func: Optional[Callable[[Any, Sequence[int], Any, Tuple[Callable[[float], float], Callable[[Any], Any]]], Tuple[Any, Any]]] = None, verbose_fs: Optional[Sequence[Tuple[Callable[[float], float], Callable[[Any], Any]]]] = None) Tuple[Any, Any] [源代码]#
- tensorcircuit.applications.vags.qaoa_vag_energy(gdata: Any, nnp: Any, preset: Sequence[int], *, f: Optional[Tuple[Callable[[float], float], Callable[[Any], Any]]] = (<function _identity>, <function _neg>), forward_func: Optional[Callable[[Any, Sequence[int], Any, Tuple[Callable[[float], float], Callable[[Any], Any]]], Tuple[Any, Any]]] = None, verbose_fs: Optional[Sequence[Tuple[Callable[[float], float], Callable[[Any], Any]]]] = None) Tuple[Any, Any] #
- tensorcircuit.applications.vags.qft_qem_vag(gdata: Any, nnp: Any, preset: Sequence[int], n: int = 3, p_idle: float = 0.2, p_sep: float = 0.02) Tuple[Any, Any] [源代码]#
- tensorcircuit.applications.vags.quantum_mp_qaoa_vag(gdata: Any, nnp: Any, preset: Sequence[int], measurements_func: Optional[Callable[[...], Any]] = None, **kws: Any) Tuple[Any, Any] [源代码]#
multi parameter for one layer
- 参数
gdata --
nnp --
preset --
measurements_func --
kws -- kw arguments for measurements_func
- 返回
loss function, gradient of nnp
- tensorcircuit.applications.vags.quantum_qaoa_vag(gdata: Any, nnp: Any, preset: Sequence[int], measurements_func: Optional[Callable[[...], Any]] = None, **kws: Any) Tuple[Any, Any] [源代码]#
tensorflow quantum backend compare to qaoa_vag which is tensorcircuit backend
- 参数
gdata --
nnp --
preset --
measurements_func --
kws -- kw arguments for measurements_func
- 返回
- tensorcircuit.applications.vags.reduced_density_matrix(state: Any, freedom: int, cut: Union[int, List[int]], p: Optional[Any] = None) Any [源代码]#
deprecated, current version in tc.quantum
- tensorcircuit.applications.vags.tfim_measurements(g: Any, hzz: float = 1, hx: float = 0, hz: float = 0, one: bool = True) Any [源代码]#
Hamiltonian for tfim on lattice defined by graph g
- 参数
g --
hzz --
hx --
hz --
one --
- 返回
cirq.PauliSum as operators for tfq expectation layer
- tensorcircuit.applications.vags.tfim_measurements_tc(c: Union[tensorcircuit.circuit.Circuit, tensorcircuit.densitymatrix.DMCircuit], g: Any, hzz: float = 1.0, hx: float = 0.0, hz: float = 0.0) Any [源代码]#
- tensorcircuit.applications.vags.truncated_free_energy(rho: Any, h: Any, beta: float = 1, k: int = 2, eps: float = 1e-12) Any [源代码]#
- tensorcircuit.applications.vags.unitary_design(n: int, l: int = 3) cirq.circuits.circuit.Circuit [源代码]#
generate random wavefunction from approximately Haar measure, reference: https://doi.org/10.1063/1.4983266
- 参数
n -- number of qubits
l -- repetition of the blocks
- 返回