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

GateParameterHomotopy -- a homotopy that involves parameters and is implemented via straight line programs

Description

An object of this type specializes to a Homotopy given values of the parameters. It is related to GateHomotopy.

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

o4 = GateParameterHomotopy{...2...}

o4 : GateParameterHomotopy

From a specific parameter values, it can be specialized by specialize to output a type SpecializedParameterHomotopy, which can be passed to trackHomotopy.

i5 : (a0,b0) = (1,2); startSolution = point{{1,1}};
i7 : (a1,b1) = (2,1);
i8 : H01 = specialize(PH, matrix{{a0,b0,a1,b1}});
i9 : targetSolution = first trackHomotopy(H01,{startSolution})

o9 = targetSolution

o9 : Point
i10 : assert(norm evaluate(F,matrix{{a1,b1}},matrix targetSolution) < 0.0001)

Methods that use an object of class GateParameterHomotopy:

For the programmer

The object GateParameterHomotopy is a type, with ancestor classes ParameterHomotopy < MutableHashTable < HashTable < Thing.


The source of this document is in /build/reproducible-path/macaulay2-1.26.06+ds/M2/Macaulay2/packages/NumericalAlgebraicGeometry/doc.m2:1467:0.