This directory contains samples for Rexl and RexlScript. It comtains the directories
The notebooks directory contains Jupyter notebook files. To run the notebooks, ensure that Jupyter is properly installed and that the Rexl kernel is built and registered.
The Jupyter notebook files include:
- NFL.ipynb: demonstrates some tabular data manipulation using NFL game data.
- Comma.ipynb: discusses the implicit lambda pattern and why Rexl doesn't
need an analog of Excel's
SUMPRODUCT
function. - ImageAsTensor.ipynb: Illustrates representing images as tensors and performing some basic transformation.
- ImageClassification.ipynb: Illustrates using some ONNX models from Rexl to classify images.
- ProteinFolding.ipynb: Illustrates a protein folding optimization problem formulated as a Rexl module. Solves using three integrated MIP solvers, Gurobi (requires license), HiGHS, and GLPK.
- EssentialMedicines.ipynb: Uses Rexl module functionality to formulate an essential medicines optimization problem. Rexl dispatches to the Gurobi solver (requires license from Gurobi) to perfom the optimization.
- HexagonalPuzzleSat.ipynb: Illustrates using the SAT (boolean satisfiability) solver to find solutions to a tricky geometric puzzle.
- SudokuSat.ipynb: Uses the Rexl SAT solver to solve Sudoku puzzles.
- SudokuMip.ipynb and SudokuMipEq.ipynb: These use Rexl module functionality and MIP solver integration to solve Sudoku puzzles.
The data directory contains data files of various forms used in sample notebooks and scripts. Some of the files are Rexl scripts that define one or more global symbols. Other files may be binary data files (such as parquet or rbin files) or images (jpg, png) or just about anything.
The data files include:
- NFL-2010-Games.rexl:
A RexlScript file that defines a global named
Games
containing data for the NFL games played during the 2010 regular season. - Orders.rexl: A RexlScript file
that defines a global named
Orders
containing (fictitious) data for customer orders. - ChemNodes.rbin and ReacNodes.rbin: These are the tables needed for the EssentialMedicines.ipynb notebook.
- HexagonalPuzzlePieces.jpeg and HexagonalPuzzleSolution.jpeg: These are images used in the HexagonalPuzzleSat.ipynb notebook.
- HexagonalPuzzleSlns.rbin: This contais the solutions generated by the HexagonalPuzzleSat.ipynb notebook.
Note: when adding a new kind of data file that should use LFS, ensure that the
.gitattributes
file has an entry for the extension.