pyvibdmc.simulation_utilities.imp_samp_helper ============================================= .. py:module:: pyvibdmc.simulation_utilities.imp_samp_helper Classes ------- .. autoapisummary:: pyvibdmc.simulation_utilities.imp_samp_helper.ChainRuleHelper Module Contents --------------- .. py:class:: ChainRuleHelper(coords, module) .. py:attribute:: cds .. py:attribute:: xp .. py:attribute:: analyzer .. py:method:: dpsidx(dpsi_dr, dr_dx) Generic function that takes in a series of dpsi/dr matrices and dr/dx matrices and generates the dpsi/dx matrix. Assumes direct product wave function fed in appropriately. .. py:method:: d2psidx2(d2psi_dr2, d2r_dx2, dpsi_dr, dr_dx) Generic function that takes in a series of d2psi_dr2 and d2r/dx matrices and generates the second derivative of psi wrt x, doing out the chain rule explicitly. .. py:method:: dr_dx(atm_pair) calculates the dr/dx first derivatives for bond lengths :param self.cds: num_walkers x num_atms x 3 array :param atm_bonds: list of bond lengths that are relevant to the trial wave function. like [0,1] :return: num_walkers x num_atoms x 3 array of dr/dx .. py:method:: d2r_dx2(atm_pair, dr_dx=None) Calculates d2r/dx2 second derivatives for bond lengths .. py:method:: dcth_dx(atm_pair, cos_theta=None, dr_da=None, dr_dc=None) calculates the dcos(theta)/dx first derivatives for bond lengths :param self.cds: num_walkers x num_atms x 3 array :param atm_pair: list of bond lengths that are relevant to the trial wave function. like [0,2,1]. ALWAYS put vertex of angle in middle index atm_bonds[x][1]. :param dr_das: The derivative of the bond length corresponding to atm_bonds[i][0] and atm_bonds[i][1]. i is the index of the atm_bonds list of lists :param dr_dcs: The derivative of the bond length corresponding to atm_bonds[i][1] and atm_bonds[i][2]. i is the index of the atm_bonds list of lists :return: len(atm_bonds) x num_walkers x num_atoms x 3 array of dr/dx .. py:method:: d2cth_dx2(atm_pair, cos_theta=None, dr_da=None, dr_dc=None, d2r_da2=None, d2r_dc2=None) :param self.cds: num_walkers x num_atms x 3 array :param atm_bonds: list of lists of bond lengths that are relevant to the trial wave function. like [[0,2,1]]. ALWAYS put vertex of angle in middle index atm_bonds[x][1]. :param dr_das: The derivative of the bond length corresponding to atm_bonds[i][0] and atm_bonds[i][1]. i is the index of the atm_bonds list of lists :param dr_dcs: The derivative of the bond length corresponding to atm_bonds[i][1] and atm_bonds[i][2]. i is the index of the atm_bonds list of lists :param d2r_da2s: The second derivative of the bond length corresponding to atm_bonds[i][0] and atm_bonds[i][1]. i is the index of the atm_bonds list of lists :param d2r_dc2s: The second derivative of the bond length corresponding to atm_bonds[i][1] and atm_bonds[i][2]. i is the index of the atm_bonds list of lists .. py:method:: dth_dx(atm_pair, cos_theta=None, dcth_dx=None, dr_da=None, dr_dc=None) :param self.cds: num_walkers x num_atoms x 3 array :param atm_pair: list that corresponds to indices of the ABC angle, where B is the vertex :param dcth_dxs: Derivative of cosine theta wrt x. This is needed for this derivative and the second derivative. .. py:method:: d2th_dx2(atm_pair, cos_theta=None, dcth_dx=None, dr_da=None, dr_dc=None, d2r_da2=None, d2r_dc2=None) :param self.cds: num_walkers x num_atoms x 3 array :param atm_pair: list that corresponds to indices of the ABC angle, where B is the vertex :param dcth_dxs: Derivative of cosine theta wrt x. This is needed for this derivative and the second derivative.