09/13/2005 -- Robert Edwards Version 1.23.11. Fixes to lib/Makefile.am to solve install build problems. 09/06/2005 -- Robert Edwards Version 1.23.10. New staggered meson spectrum code. 08/31/2005 -- Robert Edwards Version 1.23.9. Added qqbar and mescomp support. 08/27/2005 -- Robert Edwards Version 1.23.8. Added v4 back to prop reads. New staggered spectrum measurements. 08/23/2005 -- Robert Edwards Version 1.23.7. Added timings to inline measurements around IO routines. 08/23/2005 -- Robert Edwards Version 1.23.6. Cosmetic changes before some production work. Corresponds to using QDP++ 1.15.2 . 08/18/2005 -- Robert Edwards Version 1.23.5. Added hypsmear4d and smearing stuff to inline measurements. 07/29/2005 -- Robert Edwards Version 1.23.4. Added new info to building-blocks footer - new version 2. 07/20/2005 -- Robert Edwards Version 1.23.3. Fixes to barseqsrc routines to fix malfeature/conventions of quarkContract12. 07/19/2005 -- Robert Edwards Version 1.23.2. New inline multi-mass propagator routine. Chroma.cc now takes RNG seed. 07/13/2005 -- Robert Edwards Version 1.23.1. New flopcounts in minvcg codes. 06/29/2005 -- Robert Edwards Version 1.23.0. Major changes by Balint Joo in bagel lib, new flop counts, new memory hints from QDP++. Most of these aimed at QCDOC. 06/14/2005 -- Balint Joo Version 1.22.3. Fixed various things in the build system. GMP is now enabled with --with-gmp=. DIR is optional. If not given one can use env variables GMP_CXXFLAGS, GMP_LDFLAGS and GMP_LIBS. If these environment variables are empty, GMP_LIBS will be defined as -lgmp assuming that the GMP is in a standard location. Not specifying --with-gmp disables building the GMP remez code The BAGEL WILSON DSLASH is now enabled with --with-bagel-wilson-dslash=DIR. DIR is optional. If not given it falls back to environment variables BAGEL_WILSON_DSLASH_CXXFLAGS, BAGEL_WILSON_DSLASH_LDFLAGS, BAGEL_WILSON_DSLASH_LIBS. Not giving the --with-bagel-wilson-dslash option disables the use of the bagel wilson dslash 05/28/2005 -- Robert Edwards Version 1.22.2. Moved dwf_linop_base to dwflike_linop_base. Made the 1-flav Monomials also support 1 & 3 as a special case of more generic fractional flavor. 05/27/2005 -- Balint Joo Version 1.22.1. Cleaned up prec_ovlap_contfrac5d_linop codes. 05/27/2005 -- Balint Joo Version 1.22.0. Added new --enable-opt-cfz-linop option. Now have some optimized version of prec_ovlap_contfrac5d_linop. 05/27/2005 -- Balint Joo Version 1.21.6. Changed integrators to use num-steps instead of step-size. 05/19/2005 -- Robert Edwards Version 1.21.5. Mods in CFZ codes. New HMC integrators. 05/04/2005 -- Robert Edwards Version 1.21.4. New z2 sources. New HMC monomial control in 1-flavor. 04/25/2005 -- Robert Edwards Version 1.21.3. Added qpropqio for chroma. 04/25/2005 -- Robert Edwards Version 1.21.2. BJ added OvExt code and factories. Small cleanups and adding xml_file support to inline measurements. 04/17/2005 -- Robert Edwards Version 1.21.1. Changed one-flavor HMC monomial codes to support nth-rootery. 04/17/2005 -- Robert Edwards Version 1.21.0. Moved most mainprogs/main/*.cc codes to be wrappers over inline measurements. Inline codes significantly extended. 04/06/2005 -- Balint Joo Version 1.20.6. Small changes before major update of mainprogs. 04/02/2005 -- Balint Joo Version 1.20.5. Optimizations to the diag bits of the DWF,NEF variants 03/22/2005 -- Robert Edwards Version 1.20.4. Added mainprogs/main/qpropqio.cc 03/21/2005 -- Robert Edwards Version 1.20.3. No major changes, but an improvement in qdp++ to the sumMulti to now use a QMP global sum on an array instead of individual sums. 03/14/2005 -- Robert Edwards Version 1.20.2. Fixed Building-Blocks stuff (ExampleBuildingBlocks) to now do BB for each seqprop instead of all together. This helps get around the max file-descriptor problem. 03/12/2005 -- Robert Edwards Version 1.20.1. Changed ExampleBuildingBlocks to use an XML interface. 03/06/2005 -- Robert Edwards Version 1.20.0. Overhauled sequential source construction. Eliminated "magic numbers" for sources. Now all string driven. Added force measurements to HMC. 03/06/2005 -- Robert Edwards Version 1.19.14. Bug fix in SzinGauge_t constructor. This was introduced when the initHeader's were removed in favor of constructors. 03/02/2005 -- Robert Edwards Version 1.19.13. Bug fix in ZoloNef FermAct codes. Only showed up in Zolo case. This bug was introduced 2/14/05 - now squashed. 03/02/2005 -- Robert Edwards Version 1.19.12. Argh - bug fix. Resize's in linop array routines caused problems. Updated command-line args to all main programs. 02/27/2005 -- Robert Edwards Version 1.19.11. Small code simplifications. 02/27/2005 -- Robert Edwards Version 1.19.10. 5D versions of Chrono predictor in place. Changed input format of sink_smear and qqq_w to take arrays. 02/23/2005 -- Balint Joo Version 1.19.9. Upgrade again of Chrono predictors. Seems to work for 4D. Need 5D. 02/23/2005 -- Robert Edwards Version 1.19.8. Updated interface for Chrono predictors. Start of aniso support in GaugeActs. Split off some structs to separate files to thin-out file dependencies. 02/21/2005 -- Robert Edwards Version 1.19.7. Added aniso support for DWF and SSE DWF. Changed all initHeader-s to appropriate default constructors for the structs. Changed quarkProp routines to take SystemSolver instead of FermAct. 02/21/2005 -- Robert Edwards Version 1.19.6. Moved stock mainprogs to bin_PROGRAMS. They are now installed. 02/16/2005 -- Robert Edwards Version 1.19.5. Added hybrid meson stuff to spectrum_w. 02/13/2005 -- Robert Edwards Version 1.19.4. Changed/fixed all ContFrac codes to have a +OverMass sign convention. Changed Zolo fermacts to take ApproxMin/Max from FermionAction group. 02/10/2005 -- Robert Edwards Version 1.19.3. Fixed ritz code to work over subsets. 02/09/2005 -- Robert Edwards Version 1.19.2. Small bug fixes. Split off hypsmear.cc 02/06/2005 -- Robert Edwards Version 1.19.1. Added a bunch of aggregators to simplify linkage stuff. 02/02/2005 -- Robert Edwards Version 1.19.0. One flavor RHMC support now in place. One currently needs a --enable-gmp flag on configure to hook in GNU GMP. 02/02/2005 -- Robert Edwards Version 1.18.9. Added missing files to lib/Makefile.am . Upgraded Remez codes. New configure switch for GMP. 02/01/2005 -- Robert Edwards Version 1.18.8. Cosmetic changes. Code sync. 01/31/2005 -- Robert Edwards Version 1.18.7. Fixed output names in proginfo to produce valid XML ! 01/31/2005 -- Robert Edwards Version 1.18.6. Fixes in HT fermact codes. 01/27/2005 -- Robert Edwards Version 1.18.5. Split abs_monomial into separate two flavor and new one flavor rational support. 01/16/2005 -- Robert Edwards Version 1.18.4. Mainprogs including HMC finally appears stable after all the XML singleton instances, etc. More Chrono predictors. 01/16/2005 -- Robert Edwards Version 1.18.3. Added more 5D monomials. Added Pauli-Villars for contfrac5d. 01/15/2005 -- Robert Edwards Version 1.18.2. Fixed norms on new gaugeacts. Seem okay. 01/15/2005 -- Balint Joo Version 1.18.1. Added missing include files to lib/Makefile.am Fixed norms on new gaugeacts. Seem okay. 01/14/2005 -- Robert Edwards Version 1.18.0. Major housecleaning. All lib routines now in Chroma namespace. Removed all "using" directives in lib routines. The QDP namespace is however, "used" in chromabase.h 01/14/2005 -- Robert Edwards Version 1.17.1. Some code cleanups/namespaces. Logging in HMC. Merged in Al Hart's changes. 01/13/2005 -- Balint Joo Version 1.17.0. Major reorg of molecdyn dir. Files split and rearranged. Basic HMC structure in place - still some polishing. Gauge acts like plaq,rect,pg seem to all work. 01/12/2005 -- Robert Edwards Version 1.16.1. Added new gauge actions (wrappers over plaq,rect,pg). 01/12/2005 -- Robert Edwards Version 1.16.0. Rearranged actions/gauge directories. 01/12/2005 -- Robert Edwards Version 1.15.5. More hardening of HMC. Some bug fixes in gaugeacts. 01/11/2005 -- Robert Edwards Version 1.15.4. Added plaq,rect,pg gaugeacts. Made gauge monomial class generic. 01/11/2005 -- Robert Edwards Version 1.15.3. More hardeninng of HMC. Chrono prediction added. Added ParWilson (Twisted Mass Wilson) support within HMC. 01/10/2005 -- Robert Edwards Version 1.15.2. Changed HMC monomial routines to more generic method. 01/10/2005 -- Robert Edwards Version 1.15.1. Some more HMC suport. Small code cleanups to make code pass -Wall. 01/07/2005 -- Robert Edwards Version 1.15.0. Added SSE qpropT for DWF. 01/06/2005 -- Robert Edwards Version 1.14.3. HMC support appears fixed. 01/04/2005 -- Robert Edwards Version 1.14.2. Added linOpPV back into FermAct5D hierachy. Rearranged and extended Monomial support which now has a 4D and 5D branch. Abstracted derivative/refresh codes. Added new monomials. 01/04/2005 -- Robert Edwards Version 1.14.1. Small changes in derivative support. 01/01/2005 -- Robert Edwards Version 1.14.0. Another major overhaul of FermionAction classes. The concept of derivative is pushed up higher in the tree. All fermacts now have some default derivative support (possibly nothing more than Not Implemented message). Qprop and QpropT now produced via factory functions ala LinearOperators. Now have a SystemSolver class - can be used for all solvers. 01/01/2005 -- Robert Edwards Version 1.13.1. HMC now runs, but still needs work. 12/29/2004 -- Robert Edwards Version 1.13.0. Rearranged top-level FermionAction support. Consolidated FermFactories. 12/29/2004 -- Robert Edwards Version 1.12.1. HMC changes and support for gauge and ferm Monomials. 12/23/2004 -- Robert Edwards Version 1.12.0. Now have a FermBC factory/foundries. Removed explicit FermBC args from FermAct factories and now the creation of the FermBC is done within the construction of the FermAct. Similarly, HMC will create FermActs as needed. The old "boundary" within propagator.cc input is now shoved into the FermionAction xml. 12/23/2004 -- Robert Edwards Version 1.11.3. More HMC changes. 12/22/2004 -- Robert Edwards Version 1.11.2. New HMC support. First versions of Monomials. 12/15/2004 -- Robert Edwards Version 1.11.1. Fixed chroma_config (for libs). Moved other routines to chroma namespace. Added more to EXTRA_DIST . 12/12/2004 -- Robert Edwards Version 1.11.0. Major overhaul of fermact and linearop class structure. Removed dsdu stuff - now in linops. Introduced levels of fermacts (base or not) that have derivs. All low level fermacts/linops have an additional template param for type of conjugate momenta in derivative. Made all fermacts and linops within chroma namespace. 12/09/2004 -- Robert Edwards Version 1.10.2. Changed prec. DWF-base to have linOp4D only use prec. 5D operators. 12/09/2004 -- Robert Edwards Version 1.10.1. Small fixes/tweaks 12/09/2004 -- Robert Edwards Version 1.10.0. Overhaul of DWF-like class structure. 12/06/2004 -- Robert Edwards Version 1.9.2. Changes to staggered stuff. Start of xmldiff checks. 11/22/2004 -- Robert Edwards Version 1.9.1. Removed last of all Namelist-isms. 11/22/2004 -- Robert Edwards Version 1.9.0. Big merge of Wilson and Staggered builds - now all the same. Cleaned up automake files so make distcheck should work. 11/20/2004 -- Robert Edwards Version 1.8.2. More changes within Zolo Ferm support. Changed staggered files to use LatticeStaggeredFermion 10/21/2004 -- Robert Edwards Version 1.8.1. More updates. First start of Zolo in NEF. 10/18/2004 -- Robert Edwards Version 1.8.0. First version. Changed to support QMP-2. New fermion action initialization. New support for variable initialization. 09/28/2004 -- Balint -- ZolotarevStateInfo has been renamed to OverlapStateInfo ( and the previous empty OverlapStateInfo base class has been removed) -- I have added the state_info field to Propagator_Input_t as a standard string. I had it in ChromaProp_t first but I believe it should not be part of the tagset but rather live at the same level as Cfg_t in the top level applications. Look in propagator.cc to see how I manage it. Essentially I do this (propagator.cc line 84): // Read any auxiliary state information // if it exists if( inputtop.count("StateInfo") == 1 ) { XMLReader xml_state_info(inputtop, "StateInfo"); std::ostringstream os; xml_state_info.print(os); input.stateInfo = os.str(); } else { // Write an empty document if not // found XMLBufferWriter s_i_xml; push(s_i_xml, "StateInfo"); pop(s_i_xml); input.stateInfo = s_i_xml.str(); } I have added dummy createState() functions to the various fermacts that read from an XML containing StateInfo. Apart from the overlap, these createState()-s just ignore the XML, but this virtual func could be a good hook for you if you add StateInfo to some ZolotarevCoeff-ed DWF fermacts. In fact, if you just write these, they'll be picked up appropriately by propagator... A sample usage of state info is in chroma/tests/propagator/propagator_zolo4d_v6.xml.in -- As agreed, I have removed backward compatibility with SZIN - type vectors in createOverlapState() -- now just uses my evecs. -- I have written factory functions for creating OverlapConnectState-s in overlap_state.h overlap_state.cc. I originally wrote these as templated funcs, but then I couldn't shove them into the .cc file - they'd needed to have stayed in the .h file where the prototypes are defined. So I did similar things to the Inverter functions. I wrote out the "specialisations" in the .h file and wrapped a templated version in the .cc. Your fermact's createState()-s can just dive on these see ovlap_partfrac_4d_fermact_w.[h,cc]. The issue of 4D and 5D BC's is hacked around as discussed: i) The aux ferm act gets trivial BC-s. This doesn't matter as we never use them. We always use the BC-s of the parent. ii) the createOverlapState() function is passed a linOp which the caller FermAct constructs. AuxMass is therefore no longer passed iii) the createOverlapState() function creates a SimpleConnectState internally to call the passed linOp with, after applying the modifyU() function of the passed FermBC -- Zolotarev4DFermAct and Zolotarev5DFermActArray have been renamed: as OverlapPartFrac4DFermAct and UnprecOverlapContFrac5DFermActArray and put in ovlap_partfrac4d_fermact_w.[h,cc] and unprec_ovlap_contfrac4d_fermact_array_w.[h,cc] the zolotarev5d_linop_array_w.[h,cc] is still there but will also be renamed real soon now. -- I have removed the double mappings for backward compatibility ZOLOTAREV_4D and ZOLOTAREV_5D are dead. Now you need to specify something like: OVERLAP_PARTIAL_FRACTION_4D true ZOLOTAREV 0.04 17 1000 1.0e-7 20 UNPRECONDITIONED_WILSON -1.4 Other new FermActs: "UNPRECONDITIONED_OVERLAP_CONTINUED_FRACTION_5D" and soon "OVERLAP_CONTINUED_FRACTION_5D" (which will be preconditioned) ApproximationType can be "ZOLOTAREV" or "TANH" for now. Robert feel free to add your own here if you want. io/enum_io/enum_coeffs_io.[h,cc] io/enum_io/enum_fermacttype_io.[h,cc] I have removed therefore the old XML input files from the repository and added in the new ones. -- Approximation type can now also be TANH with the following caveats: i) rescaling: I am still not clear on this. I may not need to do this at all or I may need to do it the same way as done in the ZOLO case. I'll ask Tony. ii) projection: I saw in your paper that in the Borici (TANH) case, the EigValFunc is not signum but in fact the polar approximation: \epsilon_{Ls/2} -- Also note from the above XML, that as agreed, I pushed the IsChiral to be a user supplied parameter. So that if we have a bad approximation for Zolotarev we can set it to false. Likewise if we have a supremely high order tanh approximation with projection so that we are effectively chiral then you can set it to true. -- fermact_paramio.h fermact_paramio.cc zolotarev4d_fermact_paramio.h zolotarev4d_fermact_paramio.cc are GONE (removed from CVS) zolotarev5d_fermact_paramio.[h,cc] are still around but will be gone real soon now. 08/30/2004 -- Robert Edwards Version 1.7.4. Really, these are the last changes before 1.8 08/30/2004 -- Robert Edwards Version 1.7.3. Last changes before 1.8 08/20/2004 -- Robert Edwards Version 1.7.2. Changed wall-FF codes to allow wall-source. 08/20/2004 -- Robert Edwards Version 1.7.1. Some more hmc support. 08/01/2004 -- Robert Edwards Version 1.7.0. Added SSE_DWF_CG support. 07/27/2004 -- Robert Edwards Version 1.6.2. Changed START/END_CODE() to not have first arg. 07/27/2004 -- Robert Edwards Version 1.6.1. Changed sink_smear2_w.{h,cc} to fermion indep. sink_smear2.{h,cc}. Other small lib/Makefile.am fixes. 07/26/2004 -- Robert Edwards Version 1.6.0. New HMC support. New profiling support. Changed mem. layout to remove PDWVector layer - only matters for SSE routines. Removed completely all uses, decls, files with LatticeDWFermion. 07/13/2004 -- Robert Edwards Version 1.5.20. Final version before minor release of QDP breaks old usage of LatticeDWFermion. 06/08/2004 -- Robert Edwards Version 1.5.19. Modifed Wallformfac mainprog to write binary. 06/08/2004 -- Robert Edwards Version 1.5.18. Wallformfac codes debugged to some extent. Added new delta operators in baryons_w.cc . Time for major tests. 05/28/2004 -- Robert Edwards Version 1.5.17. Changed Coulomb gfixing to use gauge transf matrices. Put relaxed solvers in for overlap and into things like quarkProp4 05/27/2004 -- Robert Edwards Version 1.5.16. Fixed SciDAC gauge IO to always read/write in single prec. Fixed initialization in multi-mass quark prop. 05/25/2004 -- Robert Edwards Version 1.5.15. Fixed KYU qprop readers to correct basis. Completed insertion of GMRES and relaxed codes. Also inner "preconditioned" versions. 05/19/2004 -- Robert Edwards Version 1.5.14. Relaxed solvers for overlap appear to work. Now have BiCG codes, SUMR, CG, etc. and multi-mass variants. Fixed KYU qprop reader. 05/13/2004 -- Robert Edwards Version 1.5.13. QQQ program now can output in Dirac or Degrand-Rossi basis. Made basis rotation more public. 05/13/2004 -- Balint Joo Version 1.5.12. Working multi-mass SUMR code. 05/12/2004 -- Robert Edwards Version 1.5.11. Tidying in the sequential source/prop reader/writers. Working SUMR codes. Overlap under development to use new tricks. 05/04/2004 -- Balint Joo Version 1.5.10. Overlap double pass appears okay. 05/02/2004 -- Robert Edwards Version 1.5.9. Qproptransf codes in place. Now have completed conversion to new seqsource/propagator qprop format. 04/29/2004 -- Robert Edwards Version 1.5.8. Wall-formfactor code appears to work and agree with bar3ptfn code with a wall sink. 04/29/2004 -- Balint Joo Version 1.5.7. Changed auto-isms to allow correct installation. Fixed chroma-config to be useful. Now have a chroma_config.h and internal.h. 04/27/2004 -- Robert Edwards Version 1.5.6. Last changes (mostly overlap) before splitup of main codes. 04/23/2004 -- Robert Edwards Version 1.5.5. More support for overlap. 04/22/2004 -- Robert Edwards Version 1.5.4. BUG FIX in baryon_w.cc . The proton_{4,5,6} were converted incorrectly from szin. Cleanups in gauge initialization. Overlap support now in propagator codes. 04/21/2004 -- Robert Edwards Version 1.5.3. New version of propagator input. New wall-sink formfactor codes. New multi-prop. support. 04/05/2004 -- Robert Edwards Version 1.5.2. Start of support for SZINQIO. 04/01/2004 -- Robert Edwards Version 1.5.1. Added non-relativistic support to seqprop. 02/22/2004 -- Robert Edwards Version 1.5.0. Major change in propagator model in main programs. ONLY support SciDAC format of propagators. Now, the "Param" group on input is the header of some propagator. There are XML and binary parts of propagators (SciDAC format). The XML part is used in subsequent calculations, thus removing potentially erroneous use of input params in calcs. All test files changed to match 02/22/2004 -- Robert Edwards Version 1.4.4. Some new programs added. Fixed make_source/propagator/seqprop/spectrum chain of tests to be consistent and give reasonable output. Cross-checked against new (un-committed) XML driven input/output model. 01/27/2004 -- Robert Edwards Version 1.4.3. Overhauled SSE Wilson dslash support. New index tables. 01/26/2004 -- Robert Edwards Version 1.4.2. More eigenvalue stuff. Tagging pre-release of the new SSE Wilson dslash support. 01/07/2004 -- Robert Edwards Version 1.4.1. Functioning Zolotarev code by Balint Joo. Also, added WILSON and STAGGERED build control. 01/01/2004 -- Robert Edwards Version 1.4.0. Removed all proxies. Switched to only use Handles (proxies were just glorified handles). Changed fermact factory functions to require a Handle instead of a pointer to a connect state. Added Fermion and Gauge BC support. Now a new virtual getFermBC in FermAct. Now, the semantics is the FermAct is responsible for applying the Fermionic BC. All the fermacts changed to pass a FermBC which is then applied to the U fields in createState. This is supplied as a default in createState. First tentative code for pure gauge heatbath and dyn. ferm. HMC. 12/31/2003 -- Robert Edwards Version 1.3.2. More tweaks in fermacts. Added first versions of heatbath and HMC (not working yet). This is a pre-release before major changes to come. The next version changes substantially the fermacts - now gauge and fermion BC are included in the proper way. 12/06/2003 -- Robert Edwards Version 1.3.1. Added various gauge fixing routines. 12/02/2003 -- Robert Edwards Version 1.3.0. Another overhaul of FermionAction support. Now create and pass around gauge connection state. 12/01/2003 -- Robert Edwards Version 1.2.1. Minor tweaks. Pre-release for 1.3.0 . 11/23/2003 -- Robert Edwards Version 1.2.0. Overhauled FermionAction and LinearOperator. Added new even-odd preconditioned support. 11/20/2003 -- Robert Edwards Version 1.1.4. Switched LinearOperator and FermionAction interfaces to pass what was return type as instead argument to operator() & apply (linop) and dsdu (fermact). 11/20/2003 -- Robert Edwards Version 1.1.3. Small tweaks. 11/16/2003 -- Robert Edwards Version 1.1.2. Added extended-overlap action and linop. 11/14/2003 -- Robert Edwards Version 1.1.1. Rearranged fermact files and made more base classes. Merged separate dsdu and qprop files into corresponding fermact files. 11/14/2003 -- Robert Edwards Version 1.1.0. Added array versions of fermacts. Now have functioning unprecondition DWF operator. 10/09/2003 -- Robert Edwards Version 1.0.1. Changed all cout/cerr/QDP_info to use QDPIO::cout/cerr. 10/07/2003 -- Robert Edwards Version 1.0.0. First major release. Supports sse extensions. Several bits in production. More to come.