Git Product home page Git Product logo

groups-ekr's Introduction

Installation

Assuming working SageMath and Gurobi installations:

Clone the repository or copy all files (except perhaps the data folder) into a common directory.

Gurobi installation: follow the instructions for the free Academic Named-User License.

Running the script

To call the script with default parameters:

  • sage --python generate.py --out export/EKR_data.json for MathDataHub JSON,
  • sage --python generate.py --no-mdh --out Data to save data in the old format to the directory Data.

Example: compute EKR properties for groups up to order 100 for degrees from 3 to 10 and save them in MDH format to the file export/EKR_data.json.

sage --python generate.py --max-order 100 --max-degree 10 --out export/EKR_data.json

Parameters

usage: generate.py [-h] [--max-order MAX_ORDER] [--min-degree MIN_DEGREE] [--max-degree MAX_DEGREE] --out OUT [--no-mdh] [--verbose]

optional arguments:
  -h, --help            show this help message and exit
  --max-order MAX_ORDER
                        Compute EKR properties for groups of at most this order (the default is 10)
  --min-degree MIN_DEGREE
                        Compute EKR properties for groups of at least this degree (the default is 3)
  --max-degree MAX_DEGREE
                        Compute EKR properties for groups of at most this degree (the default is 5)
  --out OUT             Output file for MDH, output directory for files by degree (required)
  --no-mdh              Export in MathDataHub JSON format
  --verbose             Print everything

Notes

I was not able to figure out how to conver this into a pure Python script that just uses Sage as a library. The current solution uses the (mostly) original Sage files. The file generate.py was obtained from a Sage script and can be run by calling sage --python generate.py with parameters.

It may be beneficial to look at the _solve_lp() function in the EKR Determiner.sage file. It calls the command needed to run Gurobi. The exact command needed may change based on your system, so if any errors with Gurobi occur, this is the place to check.

groups-ekr's People

Contributors

katjabercic avatar cody-antal 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.