# bertiniPosDimSolve -- a main method that is used to produce witness sets

## Synopsis

• Usage:
V = bertiniPosDimSolve I
V = bertiniPosDimSolve F
• Inputs:
• F, a list, a list of ring elements defining a variety
• Optional inputs:
• BertiniInputConfiguration (missing documentation) => ..., default value {},
• IsProjective => ..., default value -1, optional argument to specify whether to use homogeneous coordinates
• Verbose => ..., default value false, Option to silence additional output
• Outputs:
• V, , a numerical irreducible decomposition of the variety defined by F

## Description

The method bertiniPosDimSolve calls Bertini to find a numerical irreducible decomposition of the zero-set of F. The decomposition is returned as the NumericalVariety NV. Witness sets of NV contain approximations to solutions of the system F=0. Bertini (1) writes the system to temporary files, (2) invokes Bertini's solver with TrackType => 1, (3) Bertini uses a cascade homotopy to find witness supersets in each dimension, (4) removes extra points using a membership test or local dimension test, (5) deflates singular witness points, and finally (6) decomposes using a combination of monodromy and a linear trace test

 i1 : R = QQ[x,y,z] o1 = R o1 : PolynomialRing i2 : F = {(y^2+x^2+z^2-1)*x,(y^2+x^2+z^2-1)*y} 3 2 2 2 3 2 o2 = {x + x*y + x*z - x, x y + y + y*z - y} o2 : List i3 : S = bertiniPosDimSolve F o3 = S o3 : NumericalVariety i4 : S#1_0#Points -- 1_0 chooses the first witness set in dimension 1 o4 = {{-1.10806e-63-6.72876e-63*ii, 7.72046e-63-5.95645e-64*ii, .397346+.0700853*ii}} o4 : VerticalList

Each WitnessSet is accessed by dimension and then list position.

 i5 : S#1 --first specify dimension o5 = {(dim=1,deg=1)} o5 : List i6 : peek oo_0 --then list position o6 = WitnessSet{cache => CacheTable{...3...} } Equations => {-3} | x3+xy2+xz2-x | {-3} | x2y+y3+yz2-y | Points => {{-1.10806e-63-6.72876e-63*ii, 7.72046e-63-5.95645e-64*ii, .397346+.0700853*ii}} Slice => | -1.51179-2.7846ii -.654837-3.31013ii 4.905-1.2379ii -2.03574+.148105ii |

In the example, we find two components, one component has dimension 1 and degree 1 and the other has dimension 2 and degree 2. We get the same results using symbolic methods.

 i7 : PD=primaryDecomposition( ideal F) 2 2 2 o7 = {ideal(x + y + z - 1), ideal (y, x)} o7 : List i8 : dim PD_0 o8 = 2 i9 : degree PD_0 o9 = 2 i10 : dim PD_1 o10 = 1 i11 : degree PD_1 o11 = 1

## Ways to use bertiniPosDimSolve :

• "bertiniPosDimSolve(Ideal)"
• "bertiniPosDimSolve(List)"

## For the programmer

The object bertiniPosDimSolve is .