quimb.experimental.cluster_update.cluster_update_old ==================================================== .. py:module:: quimb.experimental.cluster_update.cluster_update_old .. autoapi-nested-parse:: Implementation of arbitrary geometry wavefunction cluster update. Attributes ---------- .. autoapisummary:: quimb.experimental.cluster_update.cluster_update_old.gate_inds_nn_fit_ Classes ------- .. autoapisummary:: quimb.experimental.cluster_update.cluster_update_old.ClusterUpdateNNGen Functions --------- .. autoapisummary:: quimb.experimental.cluster_update.cluster_update_old.gate_inds_nn_fit Module Contents --------------- .. py:function:: gate_inds_nn_fit(self, G, ind1, ind2, max_bond=None, method='als', pregauge=2, init_simple_guess=True, steps=10, fit_opts=None, contract_opts=None, inplace=False) Gate two nearest neighbor outer indices, using full fitting of reduced tensors with respect to the environment. This is more accurate than a simple reduced gate when restricting the bond dimension. :param G: The gate to fit. :type G: array_like :param ind1: The indices to gate. :type ind1: str :param ind2: The indices to gate. :type ind2: str :param max_bond: The maximum bond dimension to use. If ``None``, use the maximum bond dimension that the tensors currently share. :type max_bond: int, optional :param method: The method to use for fitting. :type method: {'als', 'autodiff'}, optional :param pregauge: How many times to locally canonize from the purified environment tensor to both the left and right reduced tensors. :type pregauge: int, optional :param init_simple_guess: Whether to use a 'simple update' guess for the initial guess. This can be quite high quality already if pregauging is used. :type init_simple_guess: bool, optional :param steps: The number of steps to use for fitting, can be ``0`` in which case the initial guess is used, which in conjuction with the envinronment pregauging can still be quite high quality. :type steps: int, optional :param inplace: Whether to update the tensor network in place. :type inplace: bool, optional :param contract_opts: Supplied to :meth:`~quimb.tensor.tensor_core.TensorNetwork.contract`. .. py:data:: gate_inds_nn_fit_ .. py:class:: ClusterUpdateNNGen(psi0, ham, tau=0.01, D=None, cluster_radius=1, cluster_fillin=0, gauge_smudge=1e-06, imag=True, gate_opts=None, ordering=None, second_order_reflect=False, compute_energy_every=None, compute_energy_final=True, compute_energy_opts=None, compute_energy_fn=None, compute_energy_per_site=False, callback=None, keep_best=False, progbar=True) Bases: :py:obj:`quimb.tensor.tnag.tebd.SimpleUpdateGen` Cluster update for arbitrary geometry nearest neighbor hamiltonians. This keeps track of simple update style gauges, in order to approximately partial trace beyond ``cluster_radius`` and form an approximate environment for two nearest neighbor sites that be used to fit the gate with higher quality than simple update only. .. py:attribute:: cluster_radius :value: 1 .. py:attribute:: cluster_fillin :value: 0 .. py:attribute:: gauge_smudge :value: 1e-06 .. py:method:: gate(U, where) Application of a single gate ``G`` at ``where``.