ipgmvq / semi_cyclic_pandiagonal_latin_squares_order_13

A new computational fast algorithm of constructing semi-cyclic pandiagonal Latin squares for an arbitrary order.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Overview

This repository is created to publish a new computational fast algorithm of constructing semi-cyclic (including cyclic) pandiagonal Latin squares for an arbitrary order and the datasets of such squares with most interesting orders for cross-verification with other researchers.

An environment to launch in

latin.exe — an exhaustive square generator

The first version is not multithreaded and designed for both the POSIX environments (Linux, macOS) and Windows. An additional version, which I will upload very soon, is going to be multithreaded, but suited for the POSIX environments only, because it employes POSIX threads.

latin_square_cyclicity_check.ipynb — a verifier and cyclicity counter for the square dataset generated by the previous programm

This is a file in Python 3 in the format for JupyterLab / Jupyter Notebook. It checks the generated squares for pandiagonality and counts the number of squares with cyclicity in each direction and combination thereof. It doesn't split the dataset, just counts and verifies. The name of the imported file should be updated inside the script. https://ipgmvq.github.io/semi_cyclic_pandiagonal_latin_squares_order_13/latin_square_cyclicity_check.html

Usage

After compilation (for which the attached Makefile can be used), it is best launched from the Linux/macOS terminal or Windows PowerShell/Command Prompt. The file computes (semi)cyclic pandiagonal Latin squares of the order of 5 by default. It has a minimum limit of 3 and a maximum limit of 19, inclusive. In order to compute the squares in this range with the order other than 5, one needs to supply the order as a first parameter after the program file name in the Linux/macOS terminal or Windows PowerShell/Command Prompt respectively.

Windows > latin.exe 13

Linux/macOS % ./latin.exe 13

The output is saved in a text file with the .txt extension, with semi-cyclic and (fully) cyclic squares mixed together.

About

A new computational fast algorithm of constructing semi-cyclic pandiagonal Latin squares for an arbitrary order.

License:GNU General Public License v3.0


Languages

Language:HTML 97.7%Language:Jupyter Notebook 1.2%Language:C 1.1%Language:Makefile 0.0%