Since we started exploring PCFs, we later defined the conservativematrixfield (CMF), a structure that unites many PCF formulas. We want to add database support for CMFs.
The SQL implementation should consist of three tables:
cmf: only consists of a cmf_id UUID column, works in tandem with
cmf_direction: describes a single direction in a CMF. Has a cmf_id foreign key column that relates to a cmf, and four columns that correspond to each matrix entry in the direction, as stringified sympy expressions. Optionally also add a direction_name column.
cmf_constant: an extension table to constant that describes a numeric value as a direction in a CMF. Has a cmf_id foreign key that relates to a cmf, start a column of lists of integers that is the starting point in the CMF, and direction a column of lists of integers that describe the direction in which one should go in the CMF. (TODO also implement rational shifts?)
The end goal is to replace and upgrade ResearchTools' known_cmfs, to catalogue all our known CMFs, the PCFs that come up from them, and to update these over time as new CMFs are defined.
Since we started exploring PCFs, we later defined the conservative matrix field (CMF), a structure that unites many PCF formulas. We want to add database support for CMFs.
The SQL implementation should consist of three tables:
cmf
: only consists of acmf_id
UUID column, works in tandem withcmf_direction
: describes a single direction in a CMF. Has acmf_id
foreign key column that relates to acmf
, and four columns that correspond to each matrix entry in the direction, as stringifiedsympy
expressions. Optionally also add adirection_name
column.cmf_constant
: an extension table toconstant
that describes a numeric value as a direction in a CMF. Has acmf_id
foreign key that relates to acmf
,start
a column of lists of integers that is the starting point in the CMF, anddirection
a column of lists of integers that describe the direction in which one should go in the CMF. (TODO also implement rational shifts?)The end goal is to replace and upgrade ResearchTools' known_cmfs, to catalogue all our known CMFs, the PCFs that come up from them, and to update these over time as new CMFs are defined.