# QRing -- Optional argument to specify Fourier coordinate ring

## Description

For any of the functions that produce phylogenetic invariants in the ring of Fourier coordinates, the Ring can be specified with this optional argument. If null is passed then a new ring of Fourier coordinates will be created.

The ring passed can be any polynomial ring with sufficiently many variables. The sufficient number is k = |G|n-1 where G is the group of labels used by the model, and n is the number of leaves of the phylogenetic tree. The ring may have more than k variables, in which case only the first k will be used.

 ```i1 : T = leafTree(4,{{0,1}}) o1 = {{0, 1, 2, 3}, {set {0, 1}, set {0}, set {1}, set {2}, set {3}}} o1 : LeafTree``` ```i2 : phyloToricFP(T,CFNmodel) o2 = ideal (- q q + q q , q q - 0,0,1,1 1,1,0,0 0,0,0,0 1,1,1,1 0,0,1,1 1,1,0,0 ------------------------------------------------------------------------ q q , q q - q q , - 0,0,0,0 1,1,1,1 0,0,1,1 1,1,0,0 0,0,0,0 1,1,1,1 ------------------------------------------------------------------------ q q + q q , - q q + 0,0,1,1 1,1,0,0 0,0,0,0 1,1,1,1 0,1,1,0 1,0,0,1 ------------------------------------------------------------------------ q q , q q - q q , q q 0,1,0,1 1,0,1,0 0,1,1,0 1,0,0,1 0,1,0,1 1,0,1,0 0,1,1,0 1,0,0,1 ------------------------------------------------------------------------ - q q , - q q + q q ) 0,1,0,1 1,0,1,0 0,1,1,0 1,0,0,1 0,1,0,1 1,0,1,0 o2 : Ideal of QQ[q , q , q , q , q , q , q , q ] 0,0,0,0 0,0,1,1 0,1,0,1 0,1,1,0 1,0,0,1 1,0,1,0 1,1,0,0 1,1,1,1``` ```i3 : S = QQ[a..h] o3 = S o3 : PolynomialRing``` ```i4 : phyloToricFP(T,CFNmodel,QRing=>S) o4 = ideal (- b*g + a*h, b*g - a*h, b*g - a*h, - b*g + a*h, - d*e + c*f, d*e ------------------------------------------------------------------------ - c*f, d*e - c*f, - d*e + c*f) o4 : Ideal of S```

## Functions with optional argument named QRing :

• phyloToric42(..., QRing => ...)
• phyloToricFP(..., QRing => ...)
• phyloToricLinears(..., QRing => ...)