Skip to content

Releases: PermutaTriangle/Tilings

Version 3.1.0

17 Jan 11:19
ff7b64b
Compare
Choose a tag to compare

[3.1.0] - 2022-01-17

Added

  • Tiling.remove_requirement method that removes a requirement from a tiling.
  • RemoveRequirementFactory which adds the rules where we insert a requirement to a
    tiling after we first remove that requirement. This is added to
    LocallyFactorableVerificationStrategy.pack.
  • The tiling initialiser will now add factors of obstructions if it is implied by
    multiple different obs and one requirement list of size possibly greater than one.
    Previously it was only doing the case where a single ob's factor is implied by a
    requirement.

Fixed

  • ForgetTrackedSearcher was not retroactively applying strategies that had a basis.
  • Bug with sliding symmetries
  • The tiling initialiser was not removing duplicate/redundant requirements.

Changed

  • One by one verification will now only verify subclasses of the given basis.
  • Verification strategies no longer ignore parent
  • TrackedSearcher now uses a TrackedQueue and is able to work with all packs
    and new future strategies.

Deprecated

  • Python 3.7 is no longer supported

Version 3.0.0

14 Jun 20:00
56ffd20
Compare
Choose a tag to compare

[3.0.0] - 2021-06-14

Added

  • Rearrange assumption strategy
  • TrackingAssumption.from_cell method
  • Counting for reverse fusion
  • FusionParallelSpecFinder, FusionIsomorphism and FusionBijection subclasses
    to handle bijection involving fusion and assumption strategies.
  • a insertion_point_row_and_col_placements pack in TileScopePack
  • TrackedSearcher and ForgetTrackedSearcher that prioritise expanding classes
    with assumptions when the underlying tiling was expanded

Changed

  • Updated to use comb_spec_searcher 4.0.0
  • Using strategy_pack.make_fusion or strategy_pack.make_tracked now automatically
    adds RearrangeAssumptionFactory with apply_first=True if tracked=True
  • Moved several local function in RearrangeConstructor outward to make it pickleable
  • Fixed isolated fusion bug
  • Fusion is now a one-way strategy.
  • Added length to name for all_the_strategies pack

Fixed

  • Removed a redundant Tiling.is_empty check in the fusion algorithm.
  • Ensure is_atom returns False for the empty tiling

Deprecated

  • Python 3.6 is no longer supported

Version 2.5.0 (Zenodo)

14 Jun 10:07
1664df9
Compare
Choose a tag to compare

Re-release for zenode

[2.5.0] - 2020-11-11

Changed

  • Updated comb_spec_searcher version for faster counting

Version 2.5.0

11 Nov 15:13
1664df9
Compare
Choose a tag to compare

[2.5.0] - 2020-11-11

Changed

  • Updated comb_spec_searcher version for faster counting

Version 2.4.0

28 Oct 16:22
29658d0
Compare
Choose a tag to compare

[2.4.0] - 2020-10-28

Added

  • to_tex for gridded perms.
  • to_tikz for gridded perms.
  • to_svg for gridded perms.
  • to_gui for tilings.
  • Mappings for gridded perms: column_reverse, row_complement,
    permute_columns, permute_rows and apply_perm_map_to_cell.
  • Mappings for tilings: column_reverse, row_complement,
    permute_columns, permute_rows, apply_perm_map_to_cell.
  • guess_from_gridded_perms to guess tiling T from gridded perms in Grid(T).
  • enmerate_gp_up_to counts gridded perms of length 0, 1, 2, ... up to a max length.
  • Can sample and generate objects from fusion specifications.

Fixed

  • Anti-diagonal symmetry backward map was fixed.

This is same as 2.4.1 because of some release confusion

Version 2.3.1

11 Sep 12:59
7e1f4ea
Compare
Choose a tag to compare

[2.3.1] - 2020-09-11

Fixed

  • Dependency issue when installing

Version 2.3.0

10 Sep 16:04
36ffa38
Compare
Choose a tag to compare

[2.3.0] - 2020-09-10

Added

  • introduced isolation levels to the fusion strategy
  • added the one_cell_only option to CellInsertionFactory
  • remove_components_from_assumptions method to Tiling
  • DetectComponentsStrategy which removes cells from assumptions
    which are actual components. This replaces the need for the
    SplittingStrategy in component fusion packs.
  • added equation generators to FusionStrategy for the case where one or both
    sides are positive
  • added a to_html_representation method to Tiling
  • SubclassVerificationFactory and the corresponding strategy
  • is_subclass method to Tiling
  • added point_and_row_and_col_placements strategy
  • ShortObstructionVerificationStrategy
  • using Github Actions for testing and deployment

Changed

  • insertion packs now use the one_cell_only option, and no longer use
    RequirementCorroborationFactory
  • the get_eq_symbol and get_op_symbol are moved to Strategy rather than
    Constructor
  • the GriddedPermsOnTiling algorithm was changed to build from minimal
    gridded perms in a breadth first manner. This is also include an option to
    limit the number of points placed on the minimal gridded perms.
  • new default behavior of RequirementInsertionFactory is to only insert requirements
    on tilings that don't already have any
  • converted the expansion strategies in several strategy packs to be a single set
  • requirement corroboration is only enabled when requirements of length > 1 are placed
  • A gridded permutation can now be built from any iterable of integer, not only
    from permutation.

Fixed

  • untracked constructors raise NotImplementedError
  • forbid fusing a region containing a TrackingAssumption and a
    ComponentAssumption
  • a tiling factors if a ComponentAssumption if the components of the region
    split into the factors
  • only fuse non-empty regions to avoid creating unintentional rules a -> b
    where a and b are equivalent
  • remove duplicate assumptions in the AddAssumptionsStrategy
  • Tiling.from_dict will make a Tiling with no assumptions if the
    assumptions key is not in the dictionary.
  • a factor with interleaving strategy has inferrable=True
  • a factor with interleaving strategy return a normal factor strategy when
    there's no interleaving going on.
  • removed the length argument to the insertion_point_placements pack which
    was not implemented, and thus raising an error.
  • Bug that occurred when factoring the empty tiling
  • fixed that the partial flag was ignored in point_placements
  • isolation levels were not being passed to component fusion
  • expanding a symmetry of 132 with both length 2 requirements

Version 2.2.0

08 Jul 13:58
58e57a5
Compare
Choose a tag to compare

[2.2.0] - 2020-07-08

Added

  • add the can_be_equivalent methods to AddAssumptionsStrategy,
    SplittingStrategy, and FusionStrategy.
  • added a get_assumption method to Tiling

Changed

  • the Factor algorithm will now factor TrackingAssumptions if they span
    multiple factors of the tiling. This means that the SplittingStrategy is
    removed from the tracked StrategyPack. It does not factor
    ComponentAssumptions, so using this strategy still requires the
    SplittingStrategy.

Fixed

  • remove empty assumptions when creating extra parameters in FusionStrategy
  • the method Tiling.get_genf returns the Catalan generating function for Av(123).
  • correct the generating function equations for SplittingStrategy

Version 2.1.0

29 Jun 20:32
56a70d8
Compare
Choose a tag to compare

[2.1.0] - 2020-06-29

Added

  • add a new AddAssumptionStrategy which adds an assumption to a tiling.
    In practice, when expanding a class, we actually remove an assumption to
    determine which rules to add.
  • the get_equations method is now implemented for the strategies
    AddAssumptionStrategy, SplittingStrategy, and FusionStrategy.
  • the extra_paramters method was implemented for symmetry strategies,
    allowing these to be used when enumerating tracked trees.
  • Add the InsertionEncodingVerificationStrategy which verifies n x 1 and
    1 x n tilings which have a regular topmost or bottommost insertion encoding.
  • Added the SumComponentAssumption and SkewComponentAssumption giving the
    ability to track specifications using component fusion.
  • add partial flag to insertion_point_placements and
    insertion_row_and_col_placements
  • Allow fusing rows and columns which are positive on either or both sides.
  • The tracking of interleaving factors is implemented, including the poly time
    algorithm. This includes the new strategy AddInterleavingAssumptionFactory
    which adds the assumptions required in order to enumerate when performing
    an interleaving factor strategy.
  • The TileScopePack has a new method make_interleaving which by will change
    any factor strategy in the pack to allow interleaving. The default setting is
    for tracked, and so the assumption strategies are also added. This can be
    turned off with the flag tracked=False.
  • The possible_parameters method on Tiling allowing for sanity checking
    specifications with multiple variables.
  • InsertionEncodingVerificationStrategy was added to verification expansion
    packs.
  • forward_map_assumption method on Tiling.

Changed

  • The definition of a local TrackingAssumption in LocalEnumeration now says
    it is local if every gp in it is local (before it was they all used the same
    single cell).
  • the default in LocalVerificationStrategy is now no_factors=False.

Fixed

  • untracked fusion packs don't add assumption strategies
  • the length parameter for all_the_strategies is passed correctly to the
    requirement insertion strategy.
  • use fusion on positive Av(123) when expanding 1x1 verified classes
  • fix bug that prevented applying all eight symmetries
  • fix assumption mapping bug in FusionStrategy
  • fix __repr__ in FusionStrategy

Version 2.0.0

17 Jun 11:35
7acb391
Compare
Choose a tag to compare

[2.0.0] - 2020-06-17

Added

All the necessary strategies for combinatorial exploration.

Changed

Refactoring and speed up of many algorithm most notably the is empty check.

Removed

  • Support for Python 3.5 and earlier