next | previous | forward | backward | up | index | toc

# parametricSegmentHomotopy -- creates an ansatz for a segment homotopy

## Description

This method returns a homotopy that after specialization of parameters is akin to the output of segmentHomotopy. There are 2 m parameters inPH where m is the number of parameters in F. The first m parameters correspond to the starting point A in the parameter space. The last m parameters correspond to the end point B in the parameter space.

 i1 : variables = declareVariable \ {x,y} o1 = {x, y} o1 : List i2 : params = declareVariable \ {a,b} o2 = {a, b} o2 : List i3 : F = gateSystem(matrix{params}, matrix{variables}, matrix{{a*x*y-1},{x^3+y^2-b}}) o3 = gate system: 2 input(s) ---> 2 output(s) (with 2 parameters) o3 : GateSystem i4 : PH = parametricSegmentHomotopy F; i5 : parameters PH o5 = {{A , A , B , B }} a b a b o5 : GateMatrix i6 : (a0,b0) = (1,2); startSolution = point{{1,1}}; i8 : (a1,b1) = (2,1); i9 : H01 = specialize(PH, matrix{{a0,b0,a1,b1}}); i10 : targetSolution = first trackHomotopy(H01,{startSolution}) o10 = targetSolution o10 : Point i11 : assert(norm evaluate(F,matrix{{a1,b1}},matrix targetSolution) < 0.0001)

## Ways to use parametricSegmentHomotopy :

• parametricSegmentHomotopy(GateSystem)
• parametricSegmentHomotopy(PolySystem)

## For the programmer

The object parametricSegmentHomotopy is .