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.