Recent Changes

Commit

4fa84f3

  • Fix missing : syntax error (#149) by Evan Berkowitz at 2024-09-23 12:17:03

    
    
  • Version/1.0.0 (#148) by Evan Berkowitz at 2024-09-23 11:32:45

    * Bump to version 1
    
  • documentation/publications (#147) by Evan Berkowitz at 2024-09-23 11:19:23

    DOCS ADDITIONS
    ==============
    * Publications
    * Compact boson documentation
    * Update 3450 reference with publication details
    * Support
    * Sidebar links
    * ORCID IDs + handle trademark rights
    * Contributor + collaborator affiliations + contact
    * Zenodo badge
    * CITATION.cff
    
    DOCS FIXES
    ==========
    
    * Squash example/plot/{comparison,forms}.py warning
        The fix was simple: just separate the marker styling from coloring.
        The point is that in the p={1,2} we just want to draw background-color
        markers, not color them according to a cmap.
    * We no longer restraing W=1 in the Villain case.
    * Remove TODO about lattice irrep projection
    * Include supervillain logo on main docs page
    
  • Hotfix: dopey axis labeling (#146) by Evan Berkowitz at 2024-09-18 09:08:02

    
    
  • Documentation/lattice derivative pictures (#145) by Evan Berkowitz at 2024-09-18 08:56:32

    LATTICE DOCUMENTATION
    =====================
    * Examples visualizing Lattice2D.{d,delta} + explanation.
    * Example visualizing data layout + explanation.
    
  • Feature/production (#144) by Evan Berkowitz at 2024-09-13 09:10:33

    * Legible str(Worm generators)
    * Log generator report during ensemble.generate
    * Derived registry
    
        This makes it easy to loop everything a Bootstrap object understands:
        the primary observables AND the derived quantities, by doing eg.
        
        ```python
        for o in (supervillain.observables | supervillain.derivedQuantities):
            ...
        ```
    * cli.input_file type to parse modules
    * Use hammer in tests
    * Bootstrap.estimate only collapses the bootstrap axis
        Previously the estimate of any observable at all whatsoever would
        produce a single number, even a two-point correlator, which should have
        produced a whole volume's worth of numbers.
    * Feature/numba worm (#142)
        * numba-aware _Lattice2D stub
        * numba acceleration of worldline worm
        * old implementation moved to reference_implementations.worldline.ClassicWorm
        * Add numba to installation requirements.txt
        * Needs numba 0.60.0 to avoid [issue when passing np.rng objects](https://numba.discourse.group/t/numba-not-recognizing-numpy-random-generator-obj/1766/5)
    * Monitors
        Monitors are do-nothing generators which let you perform arbitrary
        actions during the generation loop.
    * Fix example/action-comparison.py cli defaults + types
    * Require recent pandas
    * Villain worm with numba acceleration
    * test_validity checks no constraint-violating cfgs are generated
    * Spun out production scripts into their own repo.
        See supervillain-generalized-bkt-transition commit c6ef22b9044f8af9a06dd2240584f6e0baa95698
    
  • changes.rst contains recent git log (#141) by Evan Berkowitz at 2024-08-27 14:09:57

    Also remove the untracked / uncommitted changes; that seems to appear on
    RtD even though the repo there should be clean.  I assume it's because
    the compilation produces some h5 files, but why aren't they ignored?
    
  • Feature/infinite w (#140) by Evan Berkowitz at 2024-08-23 19:37:48

    # W=∞
    
    Documentation
    -------------
    * What follows: (integer v)/W --> (real v)/2π
      Derive the substitution rule for the rest of this branch.
    * Comments explaining choices in Hammers.
    
    Code
    ----
    * Critical scaling dimensions Δ_V and Δ_S for the W=∞ case
    * Worldline Action adaptations for W=∞
     * Introduce _W to make the simple replacement W-->2π when v is real.
     * v is float when W=∞.
    * Most Worldline updates just need to use _W
    * The VortexUpdate is trickier with W=∞
      The main thing is that it needs to draw from a real-valued distribution,
      not a discrete choice of integers.
    * Update all W dependent observables
      It's only 2!  Almost all that are sensitive to W are through Links,
      which we update here.
    * Tweak validity for Villain configurations at W=∞
    * Harmonize worm tallying
      This isn't a bugfix exactly, but it does affect the matching between
      self-dual W=∞ computations.  The issue is essentially that by tallying
      at different times we slightly change the histograms of the inline
      observables.  In particular, different choices slightly change the tally
      at 0 displacement, resulting in differing normalizations.
    
      This harmonizes those choices so that the self-dual correlator match as
      close as we care to measure.
    * Update Villain hammer to handle W=∞ specially
    * Adjustable Hammer
      The worm is pure python and the slowest generator included in the Hammers.
      Therefore we add an adjustable parameter to control how many worms are
      done per iteration.  This essentially controls both the runtime and the
      number of inline observables.
    
    Examples
    --------
    * example/no-vortices.py
      Produces results at W=∞.
    * Generators log at the DEBUG level, not INFO so that examples
      can log at the INFO level more helpfully.
    * Correctly parse W=∞ using supervillain.cli.W
    * Tweak default parameters for inline demo
    
  • Project plotted correlators to A1 by default. (#139) by Evan Berkowitz at 2024-08-19 12:26:30

    By irrep projecting in the plotting utility we can avoid overwriting the measured correlators.
    
  • Feature/blocked inline observables (#138) by Evan Berkowitz at 2024-08-15 15:09:44

    * Generator sugar gives The Hammer
    * Block inline measurements with KeepEvery generator
    * Don't block an .every ensemble