Giter Site home page Giter Site logo

dangall / bipartitesusy Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 12.05 MB

A Mathematica package designed to perform calculations for physical theories based on bipartite graphs. The package employs the recently developed arsenal of techniques for N=4 and N=1 theories

Home Page: https://arxiv.org/abs/1702.03949

License: Apache License 2.0

Mathematica 100.00%

bipartitesusy's Introduction

BipartiteSUSY

BipartiteSUSY is a Mathematica package designed to perform calculations for physical theories based on bipartite graphs. In particular, the package can employ the recently developed arsenal of techniques surrounding on-shell diagrams in N=4 SYM scattering amplitudes, including those for non-planar diagrams, with particular attention to computational speed. It also contains a host of tools for computations in N=1 Bipartite Field Theories, which utilize the same bipartite graphs. Through the use of an interactive graphical tool, it is possible to draw the desired diagrams on the screen and compute commonly sought-after features. The package should be easily accessible to users with little or no previous experience in dealing with bipartite graphs and their combinatorial descriptions.

Documentation

The package has a full documentation complete with installation instructions, full list of functions, and how to use them, at the arXiv preprint server. The identifier is arXiv:1702.03949.

Install

Installation of Mathematica packages is not required. To use the package and its functionality, simply download the bipartiteSUSY.m file and place it in the working directory of the notebook you're working in. Then, to load the package with all its functionality, simply evaluate

<<bipartiteSUSY.m

in the first cell of the notebook.

The inclusion of the (uncompressed) file premadePluckerRelations.rar in the same folder will speed up the computation of Plucker relations. More complete instructions are found in the documentation.

Inventory of files

For simply using the package, the only required file is bipartiteSUSY.m. Here is a list of the additional files and what they are for:

  • .gitignore, LICENSE.txt and README.md are files added to GitHub in order to use git smoothly, specify what License the package is under (see below), and the readme file you are currently reading.
  • bipartiteSUSY.m is the Mathematica package to be used.
  • bipartiteSUSY.nb is a notebook version of the package, which is much easier to read than the .m file and is the most appropriate one in which to work when wanting to augment and improve the package.
  • packageDevelopment.nb is the notebook I use as a facility in which to develop new code. It contains a few handy examples to test new code on, but is by no means a requirement to use when developing the package.
  • packageFixingFacility.nb is the notebook I use to fix bugs, usually discovered by the testing facility notebook, below.
  • packageNEWTestingFacility.nb contains the tests I run on the functions before declaring them good for usage. It is important to use this notebook on new code developed for the package.
  • premadePluckerRelations.rar contains the compressed data file used to speed up the computation of Plucker relations.
  • racingmethods.nb is a handy notebook used to race against each other different methods of achieving an end goal. Since the package is designed for speed as well as ease of use, it is very helpful to test small bits of code to check which way they run fastest.
  • testingdata.rar contains the compressed files containing the Kasteleyn matrices used for preliminary tests. The full tests are many gigabytes in size and contain millions of examples, and are hence not included on GitHub.

Contributing

Contributions are very welcome and very actively encouraged, provided this package is quoted as the originating platform on which the improvements were made. Here I highlight some areas that would be particularly useful to contribute to:

  • It would be useful to have a function which uses squareMove to generate all square-move-equivalent phases of a diagram. This could be used to speed up the stratification functions, which currently perform the sub-stratification of multiple equivalent phases of a diagram.
  • Automate finding the integrand form associated to an on-shell diagram in N=4. Currently the fastest method known is explained in detail in arXiv:1502.02034. The challenge I identified in completely automating this method is that there are very many Plucker-relation-equivalent expressions that can result from this technique; these depend on the choices made when creating the T-matrix and M-matrix, and when taking residues around poles belonging to auxiliary edges. I did not find a satisfactory way of automating how to find the ideal, most concise expression for the integrand form, which has the correct little-group weights. However, I did not try very hard and it should be relatively easy to make good progress on this, since it is rather simple to perform the computations by hand for each individual on-shell diagram.
  • Expand on the drawGraph functionality, for example by including the ability to spit out the integrand form (see previous point), or by allowing it to perform the collapsing of bivalent nodes and square moves directly in the graph-drawing box. Another nice feature would be the ability to undo a certain number of steps.

Before declaring any changes to the package complete, please check that the changes haven't introduced bugs. This can be done by running the tests found in the "testing facility" notebook packageNEWTestingFacility.nb, using the Kasteleyn matrices found in the data files in testingdata.rar. Once the tests are complete, I can run the full set of tests, on millions of examples, to check much more subtle ways in which the code can fail. Once those tests are passed, the code can be incorporated into a new release version of the package!

License

This Mathematica package is covered under the Apache License 2.0.

bipartitesusy's People

Contributors

dangall avatar

Watchers

 avatar paper2code - bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.