phc[intersectWitnessSets]  - intersect two solution sets represented by witness sets

W3 = intersectWitnessSets(W1,W2)

Parameters

W1, W2 - witness sets

Return value

W3 - a witness set for the intesection

• The function intersectWitnessSets(W1,W2)  applies the diagonal homotopy technique to find a witness set W3  for the intersection of the solution sets represented by the witness sets W1  and W2.

 > with(phc): setPHCloc("C:\\PHCmaple"):

 > S := makeSystem([x,y,z],[],[x^2+y^2+z^2-4]):

 > eS := embed(S,2):

 > sols := solve(eS):

 > W1 := makeWitnessSet(eS, sols):

 > C := makeSystem([x,y,z],[],[9*x^2+9*y^2+(z+1)^2-9]):

 > eC := embed(C,2):

 > sols := solve(eC): printSolutions(eC,sols):

`(1) [x = 1.2257+.46996e-1*I, y = -.26918e-1+.80538*I, z = .18498-.27285*I, zz1 = 0., zz2 = 0.]`

`(2) [x = .13387-.95875e-1*I, y = -.87197-.27648e-3*I, z = .44383+.78500e-1*I, zz1 = 0., zz2 = 0.]`

 > W2 := makeWitnessSet(eC, sols):

 > W3 := intersectWitnessSets(W1,W2):

 > printSystem(comp[1]:-system);

`(1) 9*x^2+9*y^2+z^2+2*z+.287714760234765*zz1+.957716146226559*I*zz1-8`

`(2) x^2+y^2+z^2+.657734479394017*zz1-.753249862008804*I*zz1-4`

`(3) zz1`

`(4) -.220618184424173*x+.461639293274689*I*x-.639742018307134*y-1.35295644212202*I*y+z+zz1-.294408883451769+.733843356740222*I`

 > printSolutions(comp[1]:-system, comp[1]:-points);

`(1) [x = 2.1540-.38190*I, y = .42551+1.9332*I, z = -1.7500-.12212e-14*I, zz1 = 0.]`

`(2) [x = .50842+.82221*I, y = .82221-.50842*I, z = 2.0-.38858e-15*I, zz1 = 0.]`

`(3) [x = -1.3837-.27074*I, y = -.36754+1.0193*I, z = -1.75-.11102e-15*I, zz1 = 0.]`

`(4) [x = -1.3704-.86363*I, y = .86363-1.3704*I, z = 2.0+.15543e-14*I, zz1 = 0.]`

phc .

Maple TM is a registered trademark of Waterloo Maple Inc.
Math rendered by WebEQ