This function computes the ideal of the join by constructing the abstract join and then projecting with elimination.
Setting the optional argument DegreeLimit to \{d\} will produce only the generators of the join ideal up to degree d.
This method is general and will work for arbitrary polynomial ideals, not just phylogenetic ideals.
i1 : R = QQ[a,b,c,d] o1 = R o1 : PolynomialRing |
i2 : I = ideal {a-d,b^2-c*d} 2 o2 = ideal (a - d, b - c*d) o2 : Ideal of R |
i3 : J = ideal {a,b,c} o3 = ideal (a, b, c) o3 : Ideal of R |
i4 : joinIdeal(I,J) 2 o4 = ideal(b - a*c) o4 : Ideal of R |
The object joinIdeal is a method function with options.