#include <alg_int.h>
Inherits cps::AlgActionBilinear.
Inherited by cps::AlgActionRationalQuotient, and cps::AlgActionRationalSplit.
Public Member Functions | |
| AlgActionRational () | |
| Constructor called by AlgActionRationalQuotient. | |
| AlgActionRational (AlgMomentum &mom, ActionRationalArg &rat_arg, int traj_num=0) | |
| AlgActionRational (AlgMomentum &mom, ActionBilinearArg &bi_arg) | |
| Need to add restart method or similar so do not need to. | |
| virtual | ~AlgActionRational () |
| Heat Bath for the pseudo-fermions (phi). | |
| void | heatbath () |
| Float | energy () |
| virtual void | prepare_fg (Matrix *force, Float dt_ratio) |
| run method evolves the integrator | |
| void | evolve (Float dt, int steps) |
| evolve method relevant to split timescales | |
| void | evolve (Float dt, int steps, int **fractionSplit) |
| Generate the optimal rational approximation for rational representation. | |
| void | init (int traj_num) |
| void | setSplit (int i, int j) |
| Check that all of the partial fractions have been accounted for. | |
| void | checkSplit () |
| Check that the approximation bounds are still valid for the mc approx. | |
Static Public Member Functions | |
| int | compareApprox (RemezArg &, RemezArg &) |
Protected Member Functions | |
| void | generateApprox (Float *mass, RemezArg **remez_arg_md, RemezArg **remez_arg_mc, RationalDescr *rat) |
| Free up the rational approximations. | |
| void | destroyApprox (RemezArg *remez_arg_md, RemezArg *remez_arg_mc) |
| Allocate and setup cg arguments. | |
| void | generateCgArg (Float *mass, CgArg ****cg_arg_fg, CgArg ****cg_arg_md, CgArg ****cg_arg_mc, const char *label, RationalDescr *rat_des) |
| void | destroyCgArg (CgArg ***cg_arg_fg, CgArg ***cg_arg_md, CgArg ***cg_arg_mc, const char *label, RemezArg *remez_arg_md, RemezArg *remez_arg_mc) |
| Automatic generation of required EigArg. | |
| void | generateEigArg (EigenDescr eigen) |
| Free EigArg. | |
| void | destroyEigArg () |
| Set mass i, pole j as being included (used when splitting time scales). | |
| void | checkApprox (Float *mass, RemezArg *remez_arg, EigenDescr eigen) |
| Check that the approximation is still valid. | |
Protected Attributes | |
| int | evolved |
| Has the heatbath been evaluated? | |
| int | heatbathEval |
| Has the energy been evaluated? | |
| int | energyEval |
| Float | h_init |
| frm_cg_arg_fg is specific to force gradient integrator and has no use otherwise. | |
| CgArg *** | frm_cg_arg_fg |
| CgArg *** | frm_cg_arg_md |
| CgArg *** | frm_cg_arg_mc |
| Pointer to an array of structures containing solver parameters. | |
| Vector ** | frmn |
| Array of vectors. | |
| Vector ** | frmn_d |
| Array of vectors. | |
| Vector ** | frmn_tmp |
| Used for Asqtad fraction splitting. | |
| int | total_size |
| The sum of the rational approximation degrees used for the force. | |
| int | max_size |
| The maximum degree of rational approximation used for the force. | |
| Float * | all_res |
| An array holding the residues - used for asqtad force. | |
| EigArg | eig_arg |
| AlgEig parameters. | |
| char | eig_file [256] |
| Used to store eigenvalue filename. | |
| CommonArg | ca_eig |
| Used to store eigenvalue filename. | |
| Float ** | lambda_low |
| Float ** | lambda_high |
| Automatic generation of the rational approximation. | |
|
|
Constructor called by AlgActionRationalQuotient.
Definition at line 26 of file alg_action_rational.C. |
|
||||||||||||||||
|
||||||||||||
|
Need to add restart method or similar so do not need to.
Definition at line 33 of file alg_action_rational.C. |
|
|
Heat Bath for the pseudo-fermions (phi).
Definition at line 154 of file alg_action_rational.C. References energyEval. |
|
||||||||||||||||
|
Check that the approximation is still valid. < First setup the masses < Measure the lowest eigenvalue < Measure the highest eigenvalue Definition at line 772 of file alg_action_rational.C. References cps::ERR, and cps::Error::General(). |
|
|
Check that the approximation bounds are still valid for the mc approx.
Definition at line 758 of file alg_action_rational.C. Referenced by cps::AlgActionRationalSplit::heatbath(). |
|
||||||||||||
|
< no need to recalculate approximation if same mass Definition at line 551 of file alg_action_rational.C. |
|
||||||||||||
|
Allocate and setup cg arguments.
Definition at line 538 of file alg_action_rational.C. |
|
||||||||||||||||||||||||||||
|
Automatic generation of required EigArg.
Definition at line 653 of file alg_action_rational.C. |
|
|
Set mass i, pole j as being included (used when splitting time scales).
Definition at line 730 of file alg_action_rational.C. References eig_arg, cps::Float, lambda_high, and lambda_low. |
|
|
< Before energy is measured, do we want to check bounds? < Create an appropriate lattice Implements cps::AlgActionBilinear. Reimplemented in cps::AlgActionRationalSplit, and cps::AlgActionRationalQuotient. Definition at line 237 of file alg_action_rational.C. Referenced by cps::AlgActionRationalSplit::energy(). |
|
||||||||||||||||
|
Generate the optimal rational approximation for rational representation.
Reimplemented in cps::AlgActionRationalQuotient. Definition at line 349 of file alg_action_rational.C. |
|
||||||||||||
|
evolve method relevant to split timescales
Implements cps::AlgActionBilinear. Reimplemented in cps::AlgActionRationalSplit, and cps::AlgActionRationalQuotient. Definition at line 281 of file alg_action_rational.C. Referenced by cps::AlgActionRationalSplit::evolve(), and prepare_fg(). |
|
||||||||||||||||||||
|
Free up the rational approximations.
Definition at line 427 of file alg_action_rational.C. Referenced by AlgActionRational(), and cps::AlgActionRationalQuotient::AlgActionRationalQuotient(). |
|
||||||||||||||||||||||||||||
|
Definition at line 589 of file alg_action_rational.C. References cps::k. Referenced by AlgActionRational(), and cps::AlgActionRationalQuotient::AlgActionRationalQuotient(). |
|
|
Free EigArg. < Setup AlgEig parameters if necessary Definition at line 693 of file alg_action_rational.C. |
|
|
< Only evaluate heatbath if necessary < Create an appropriate lattice < Potentially can merge all these three functions , Certainly can for 2 and 3 Implements cps::AlgActionBilinear. Reimplemented in cps::AlgActionRationalSplit, and cps::AlgActionRationalQuotient. Definition at line 198 of file alg_action_rational.C. Referenced by cps::AlgActionRationalSplit::heatbath(). |
|
|
Definition at line 143 of file alg_action_rational.C. |
|
||||||||||||
|
run method evolves the integrator
Reimplemented from cps::AlgInt. Reimplemented in cps::AlgActionRationalSplit, and cps::AlgActionRationalQuotient. Definition at line 285 of file alg_action_rational.C. References evolve(). |
|
||||||||||||
|
Check that all of the partial fractions have been accounted for.
Definition at line 745 of file alg_action_rational.C. References eig_arg, lambda_high, lambda_low, and cps::sfree(). Referenced by cps::AlgActionRationalSplit::AlgActionRationalSplit(). |
|
|
An array holding the residues - used for asqtad force.
Definition at line 452 of file alg_int.h. Referenced by AlgActionRational(). |
|
|
Used to store eigenvalue filename.
|
|
|
AlgEig parameters.
Definition at line 455 of file alg_int.h. Referenced by destroyEigArg(), and setSplit(). |
|
|
Used to store eigenvalue filename.
|
|
|
Definition at line 419 of file alg_int.h. Referenced by ~AlgActionRational(). |
|
|
Has the heatbath been evaluated?
|
|
|
Definition at line 424 of file alg_int.h. Referenced by AlgActionRational(). |
|
|
Pointer to an array of structures containing solver parameters. These are the parameters corresponding to each of the dynamical fermion masses. Definition at line 427 of file alg_int.h. Referenced by AlgActionRational(). |
|
|
Definition at line 425 of file alg_int.h. Referenced by AlgActionRational(). |
|
|
Array of vectors. These will hold the solutions from the solves. Definition at line 434 of file alg_int.h. Referenced by AlgActionRational(). |
|
|
Array of vectors. These will hold the solutions from the solves multiplied by the D-slash operator. Definition at line 438 of file alg_int.h. Referenced by AlgActionRational(). |
|
|
Used for Asqtad fraction splitting.
Definition at line 443 of file alg_int.h. Referenced by AlgActionRational(). |
|
|
frm_cg_arg_fg is specific to force gradient integrator and has no use otherwise.
|
|
|
Has the energy been evaluated?
|
|
|
Automatic generation of the rational approximation.
Definition at line 465 of file alg_int.h. Referenced by destroyEigArg(), and setSplit(). |
|
|
Definition at line 463 of file alg_int.h. Referenced by destroyEigArg(), and setSplit(). |
|
|
The maximum degree of rational approximation used for the force.
Definition at line 449 of file alg_int.h. Referenced by AlgActionRational(). |
|
|
The sum of the rational approximation degrees used for the force.
Definition at line 446 of file alg_int.h. Referenced by AlgActionRational(). |
1.3.9.1