Skip to content

0.9.5 (2022-10-10)


  • swarm: increase solver state size to support longer problems (#82) (22a990b)

0.9.4 (2022-10-10)

Bug Fixes

  • python3.7: update mathy_envs for typing fix (#80) (070fc8c)

0.9.3 (2022-10-10)

Bug Fixes

  • windows: relax numpy range to support windows (#79) (1d591ad)

0.9.2 (2022-10-10)

Bug Fixes

  • pypi: stricter requirements for dependencies (#76) (20df3be)

0.9.1 (2021-04-08)


  • requirements: update to latest mathy_core/mathy_envs versions (#57) (7983d88)

0.9.0 (2020-10-18)


  • solver: replace ML model with Swarm solver (2e192ff)


  • solver: This removes mathy.agent and all training utilities

0.8.1 (2020-07-24)

Bug Fixes

  • cli: simplify command without fragile installed (c4dfcec)

0.8.0 (2020-07-24)


  • mathy: cleanup and remove dead code (ec686d9)


  • mathy: This removes the MCTS powered agent. It was a nice agent but the pieces required for it to work effectively have been lost. It's not a primary use-case of mine now, so it's better to drop it and remove any confusion.

  • refactor(agents): move to singular agent with generic names

  • PolicyValueModel -> AgentModel

  • Remove embeddings model and make it part of AgentModel

  • refactor(model): replace custom keras model with functional

  • allows graphing model architecture for website

  • adds extra validation
  • allows full-model saving (without explicit optimizer save/loading)

  • refactor(model): move action masking out of the model

  • Soooo masking doesn't play well with full-model saving and loading, or functional models, or keras strict data validation. Drop it out of the model, and let the action selector do its own masking.

  • TODO: add a loss term for the mask in addition to the policy loss?

  • chore: misc cleanup and fix tests

  • chore: update tf_siren dep

  • chore: fix some tests and remove dead ones

  • refactor(core): use mathy_core for CAS needs

This moves a lot of complexity out to another package, which is desirable for a number of reasons: - when you only need to do CAS things, the mathy_core package can be installed without the need for larger things like TensorFlow or PyTorch which can make the install time much quicker - the build time for the Mathy repo goes down by however much time it took to compile and test the core mathy code. - it's easier to browse the code if you're unfamiliar with Mathy because it's not buried in a monorepo under a mountain of other folders

  • chore: fix website build

  • perf(ci): refactor virtual envs to reduce build time

  • share a root virtualenv to avoid double or triple installing hefty packages like TensorFlow and PyTorch

  • chore: remove ci specific setup script

  • chore: remove disk space cleanup step

  • it takes about a minute, and it's unclear if it's needed now that we share a root virtual env

  • chore: drop keras-self-attention dep

  • chore: fix requirements for tf agent

  • chore: fix requirements for mkdocs plugin

  • chore: install graphviz on ci build machine

  • chore: try tensorflow 2.2.0

  • I think this caused optimizer loading problems last time I tried to upgrade, but let's see

  • chore: fix import errors

  • chore: try to confirm siren fix

  • chore: remove kwargs from Sine layer

  • chore: remove second pytest invocation for zero

  • TensorFlow didn't mix too well with multiprocessing so I had to run the MP tests separately for the Zero agent.

  • Zero agent is gone, cya extra test invocation

  • chore: fix venv path in test scripts

  • chore: drop example apps from main package

  • will add them later as mathy org repositories

  • update API docs
  • drop some unused queues

  • chore: drop reformer test

  • chore: bump tf_siren to 0.0.5 for tf2.2

  • chore: drop misc cleanup

  • test(cli): better coverage for generating problems

  • chore: cleanup from review

  • chore: cleanup from review

BREAKING CHANGES: This removes the "zero" agent entirely, and invalidates existing pretrained mathy models.

0.7.14 (2020-04-19)


  • fragile: add HistoryTree support
  • fragile: add support for lists of problems to swarm_solve
  • fragile: install as a non-optional dependency

0.7.13 (2020-04-12)


  • mkdocs: update mkdocs-material to 5.x SPA (0be38b4)

0.7.12 (2020-04-09)


  • fragile: enable multiprocessing solver by default (3016c48)

0.7.11 (2020-04-05)


  • problems: add use_pretty_numbers function (#41) (8c54e2e)

0.7.10 (2020-04-05)

Bug Fixes

  • python3.6: add backports for new typing features (11017f9)

0.7.9 (2020-04-05)


  • fragile: update to 0.0.45 (a8bc2b4)

0.7.8 (2020-04-04)


0.7.7 (2020-04-04)


  • print_history: add pretty print flag (#38) (4cf6255)

0.7.6 (2020-04-02)

Bug Fixes

  • pypi: optional swarm install with mathy[fragile] (b6203fd)

0.7.5 (2020-04-02)


  • fragile: add swarm agent as untrained solver (8515273)

0.7.4 (2020-03-30)


  • ci: publish github releases with changelog (be502a1)

0.7.3 (2020-03-17)


  • env: add print_history helper (41b3a0f)

0.7.2 (2020-03-16)

Bug Fixes

  • gym: return node ids and action mask for np observations (d04366e)

0.7.1 (2020-03-15)


  • Add support for integrating with Fragile library (be3ab58)

0.7.0 (2020-03-08)

Bug Fixes

  • a3c: remove root noise from action selector (16f86ff)
  • a3c: use episode outcome for log coloring (910bcd6)
  • cli: use greedy selector during inference (15cc58a)
  • env: clamp episode win signal to 2.0 max (3d2d78b)
  • env: remove reentrant state reward scaling (0849e3c)
  • get_terms_ex: support negated implicit coefficients (f763e20)
  • parser: memory leak in cache (6b7a847)
  • rewards: restore reentrant state scaling (1361d74)
  • rules: make commutative swap choose the closest sibling (f32600e)


  • drop time feature from embedding (f5740ad)

Code Refactoring

  • model: remove episode long RNN state tracking (11095ab)


  • a3c: add bahdanau attention layer (daba776)
  • a3c: add exponential decay to learning rate (684191d)
  • a3c: add self-attention over sequences (b750bfc)
  • a3c: use stepped learning rate decay (e9cd8f5)
  • embedding: use bilstm for node sequences (ad23139)
  • embedding: use LSTMs for batch and time axes (a8f0d54)
  • mathy_alpha_sm: more stable recurrent model (02e63e2)
  • training: add yellow output to weak wins (fd9998a)


  • this removes a model feature that makes previous pretrained models incompatible
  • model: this removes long-term RNN state tracking across episodes. Tracking the state was a significant amount of code and it wasn't clear that it made the model substantially better at any given task.

The overhead associated with keeping lots of hidden states in memory and calculating state histories was not insignificant on CPU training setups as well.

0.6.7 (2020-02-10)


  • mathy_pydoc: fix formatting of str defaults (b4f6fde)

0.6.6 (2020-02-10)


  • build: deploy mathy_pydoc package to pypi (e2d5775)
  • mathy_pydoc: cleanup return type annotations (186be77)
  • mathy_pydoc: preserve Optional types in docs (830c949)
  • mathy_pydoc: unwrap ForwardRef types (4e172c4)

0.6.5 (2020-01-27)

Bug Fixes

  • build: really fix typing extensions (7f15bca)

0.6.4 (2020-01-26)

Bug Fixes

  • package: require typing_extensions (55b0bc9)

0.6.3 (2020-01-26)

Bug Fixes

  • commutative_swap: don't transform commute chains in ways that cause inner-nesting (ed662e3)
  • model: remove second LSTM from recurent model (0241070)
  • model: when trasnferring weights from another model, copy the config file too (401da56)
  • policy_value_model: value head was not learning from hidden state (ee77ae5)
  • sleep: use smaller worker_wait defaults (460f80c)
  • training: use n-step windows during a3c training (02b11ee)


  • a3c: replace set_weights/get_weights with thinc from_bytes/to_bytes (b04fbce)
  • a3c: set update frequency so multiple updates happen per episode (1a28a9d)
  • build: add tools/ (e3c2308)
  • cli: add --lr for setting adam learning rate (427352f)
  • config: add prediction_window_size (d4095c5)
  • envs: rebalance poly/complex difficulties (88a9b30)
  • mathy_alpha_sm: add pretrained model with simplified architecture (5365a26)
  • add mathy.example helper for generating inputs (92695d6)
  • MathyWindowObservation: add option to return inputs using numpy instead of tf.Tensor (0c76609)
  • tensorflow: update to 2.1.0 (95e764e)

0.6.2 (2020-01-25)

Bug Fixes

  • types: don't shadow mathy with a py file (a7c558c)


  • add py.typed file to manifest (3f955b1)

0.6.1 (2020-01-13)


  • config: add print_model_call_times option (47ad597)

0.6.0 (2020-01-05)

Bug Fixes

  • colab: force upgrade mathy in snippets to avoid outdated dependency issues (a902a8c)
  • envs: use uniform random range for complex/binomial params (8534239)
  • zero: default to non-recurrent architecture (38690c2)


  • embedding: add optional non-recurrent DenseNet+Attention architecture --use-lstm=False (8b97e9d)
  • zero: add --profile support for num_workers=1 (622cdfd)
  • zero: support --show argument for worker 0 (82b3f66)


  • zero: use old-style batch training (4d5fd37)

0.5.3 (2020-01-03)

Bug Fixes

  • zero: error on second set of training eps if model didn't train (57513a6)

0.5.2 (2020-01-03)

Performance Improvements

  • mathy_alpha_sm: slightly more trained multi-task model (0f16d61)

0.5.1 (2020-01-03)

Bug Fixes

  • models: update default mathy version string to use range (53292ac)

0.5.0 (2020-01-02)

Bug Fixes

  • docs: don't generate api docs for .DS_Store (cb24977)
  • mathy_alpha_sm: set more liberal mathy range (3a4e59c)


  • expressions: better type hints (ff8bd65)

0.4.0 (2020-01-02)

Bug Fixes

  • mathy_alpha_sm: revert defaults to last known good model (fc27522)
  • poly_simplify: set default ops to + (0ad2f5c)


  • mathy_alpha_sm: updated multi-task model (a8f47a4)

0.3.5 (2020-01-02)

Bug Fixes

  • mathy_alpha_sm: add long_description to setup (cd68ff0)

0.3.4 (2020-01-02)

Bug Fixes

  • deploy: sync mathy/mathy_alpha_sm versions (cbee0fb)
  • mathy_alpha_sm: include model data and readme (13db587)

0.3.3 (2020-01-02)

Bug Fixes

  • readme: use absolute image path for logo (0fb137f)

0.3.2 (2020-01-02)

Bug Fixes

  • mathy_alpha_sm: typo in deploy script (5911ed2)

0.3.1 (2020-01-02)

Bug Fixes

  • ci: replace mathy/mathy_alpha_sm readmes during build (c9d53ee)
  • ci: setup/build mathy_alpha_sm model before deploy (a990a24)

0.3.0 (2020-01-02)

Bug Fixes

  • mathy: add long desc content type to (ca8fa39)


  • mathy_alpha_sm: add deploy for small model (11e63d5)

0.2.3 (2020-01-02)

Bug Fixes

  • ci: use tag filter workaround (bc3cac6)

0.2.2 (2020-01-02)

Bug Fixes

  • ci: add mathy/ to git changes from release (ff411dd)
  • ci: don't add skip-ci to release commits (c666d93)

0.2.1 (2020-01-02)

Bug Fixes

0.2.0 (2020-01-02)

The initial public packaging and release of Mathy!


  • Mathy: Initial mathy python package
  • Models: Initial mathy_alpha_sm python package
  • Website: Initial website with runnable tests/examples

Last update: October 10, 2022