Macaulay2 » Documentation
Packages » NumericalAlgebraicGeometry :: parametricSegmentHomotopy
next | previous | forward | backward | up | index | toc

# parametricSegmentHomotopy -- creates an ansatz for a segment homotopy

- Usage:
    `PH = parametricSegmentHomotopy F`
- Inputs:
  - F, an instance of the type System, either a GateSystem or a PolySystem
- Outputs:
  - PH, an instance of the type GateParameterHomotopy,

## 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 a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/NumericalAlgebraicGeometry/doc.m2:1456:0.