# cascade -- runs a cascade of homotopies to get witness sets for the variety

## Synopsis

• Usage:
• Inputs:
• L, a list, of polynomials
• Optional inputs:
• StartDimension => ..., -- Option to specify the dimension to begin searching for positive dimensional components
• Verbose => ..., -- option to specify whether additional output is wanted
• Outputs:
• , containing the witness sets for each pure-dimensional variety contained in zero set of L.
• Consequences:
• Writes the system to temporary file

• Invokes the command phc -c (with option 0)

• Stores output of phc in temporary file

• Parses and outputs the solutions.

## Description

Given a list of generators of an ideal I, this function creates an embedding and then runs a cascade of homotopies. The output is a NumericalVariety that contains a WitnessSet for each pure dimensional variety contained in V(I).

 `i1 : R = CC[x,y,z];` `i2 : L = { z*(x+y), z*(x-y) };` ```i3 : WitSets = cascade(L) o3 = WitSets o3 : NumericalVariety``` ```i4 : W=first WitSets#2 o4 = W o4 : WitnessSet```

The function cascade extends the ring of the inputted system with slack variables beginning with zz. Each witness set in contains the equations, points, and slices of the embedded system.

 ```i5 : W#Equations o5 = ideal ((- .380139 + .924929*ii)zz1 + (.547606 + .836736*ii)zz2 - x*z - y*z, (.45571 - .890128*ii)zz1 + (- .663772 - .747935*ii)zz2 - x*z + y*z, - zz1 + (.537862 + .843033*ii)zz2) o5 : Ideal of CC {x, y, z, zz1, zz2} 53``` ```i6 : W#Points o6 = {{.148619-.161802*ii, .45886-1.03272*ii, 3.21921e-32+7.65273e-33*ii, -2.28184e-32-4.87389e-33*ii, -1.6382e-32+1.66152e-32*ii}} o6 : VerticalList``` ```i7 : W#Slice o7 = | .205377+.978683ii .673112+.739541ii .943327-.331864ii -.911067-.412259ii .497812+.867285ii -.883724+.468009ii | | -.759495+.650513ii -.89022-.45553ii -.972487+.232959ii -.595572-.803302ii -.236638-.971598ii .871298-.490754ii | 2 6 o7 : Matrix CC <--- CC 53 53```

## Caveat

Coefficient ring of the polynomial system must be of type ComplexField.