The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

pds.db - small database with planar difference set samples

VERSION

This is version 3.0 of the database, created on Oct 10, 2022.

DESCRIPTION

This file is the default database distributed with the Perl 5 module Math::DifferenceSet::Planar.

It contains 604 cyclic planar difference set planes with orders ranging from 2 to 4096. The planes include std, lex and gap reference sets. For the definition of std reference sets, consult the documentation of Math::DifferenceSet::Planar. Lex reference sets are minimal by lexicographic ordering with priority on small over large elements, so that {0, 1, 3, 9} ranks before {0, 1, 4, 6}. Gap reference sets are minimal by lexicographic ordering with priority on large over small elements, so that {2, 3, 5} ranks before {0, 4, 5}. The database also contains planar difference set space data for the same range of orders. The radices are chosen with the algorithm given in the example program pds_find_space.

FILE FORMAT

SQLite 3.x database.

SCHEMA

  CREATE TABLE difference_set (
    order_      integer NOT NULL PRIMARY KEY,
    base        integer NOT NULL,
    ref_std     integer NOT NULL,
    ref_lex     integer NOT NULL,
    ref_gap     integer NOT NULL,
    delta_main  blob    NOT NULL
  );

  CREATE TABLE difference_set_space (
    order_      integer NOT NULL PRIMARY KEY,
    mul_radix   integer NOT NULL,
    mul_depth   integer NOT NULL,
    rot_radices blob    NOT NULL,
    rot_depths  blob    NOT NULL
  );

  CREATE TABLE database_version (
    table_name varchar NOT NULL PRIMARY KEY,
    major      integer NOT NULL,
    minor      integer NOT NULL
  );

DATA REPRESENTATION

If D = { d_1, d_2, ..., d_k } (mod m) is a canonical cyclic planar difference set of order k - 1 with d_1 ≡ 0 and d_2 ≡ 1 (mod m), and M = { m_1, m_2, ..., m_n } (mod m) is the set of main elements of its plane, delta_main is a sequence of m numeric values packed in 'w*' format, calculated as differences of consecutive residue values of M starting with m_1, m_2 - m_1, m_3 - m_2, ... up to m_n - m_(n-1). D can be recovered from M by adding derived and fill elements.

In addition to an arbitrary sample the database can hold various types of reference sets for each order. They are encoded by a rotation value with respect to the sample set. If a standard set, a lexically minimal set, or a top-to-bottom lexically minimal set are known, nonzero ref_std, ref_lex, or ref_gap values refer to them, otherwise zero values indicate their respective lack.

If a multiplier set of the form {b^k | 0 ≤ k < e} with a radix b and depth e, and a rotator base of the form {r_1^j_1·r_2^j_2·...·r_n^j_n | 0 ≤ j_k < e_k, 1 ≤ k ≤ n} with n radices r_k and n depths e_k describe the multiplicative space of difference set planes of a given order, rot_radices and rot_depths are vectors of rotation radices and depths packed in 'w*' format.

For both difference set data tables, the database_version table contains schema version information to facilitate quick compatibility checks. A schema version of x.y is represented as major = x and minor = y.

PROVIDER

Martin Becker, <becker-cpan-mp at cozap.com>

COPYRIGHT AND LICENSE

Copyright (c) 2019-2024 by Martin Becker, Blaubeuren.

This library is free software; you can distribute it and/or modify it under the terms of the Artistic License 2.0 (see the LICENSE file).

The licence grants freedom for related software development but does not cover incorporating code or documentation into AI training material. Please contact the copyright holder if you want to use the library whole or in part for other purposes than stated in the licence.

The contents of this database are mathematically defined entities. The provider believes mathematical constants not to be proprietary or subject to copyright legislation, although the software used to calculate them and the accompanying documentation certainly are.