next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Bertini :: makeB'Slice

makeB'Slice -- makeB'Slice creates a hash table that represents a linear slice.

Synopsis

Description

makeB'Slice allows for easy creation of equations that define linear spaces, i.e. slices. The default creates a hash table with two keys: B'NumberCoefficients and B'SectionString. When we have a multiprojective variety we can different types of slices. To make a slice we need to specify the type of slice we want followed by variable groups.

i1 : sliceType={1,1}

o1 = {1, 1}

o1 : List
i2 : variableGroups={{x0,x1},{y0,y1,y2}}

o2 = {{x0, x1}, {y0, y1, y2}}

o2 : List
i3 : xySlice=makeB'Slice(sliceType,variableGroups)

o3 = B'Slice{...4...}

o3 : B'Slice
i4 : peek xySlice

o4 = B'Slice{B'NumberCoefficients => {{1.49144+.713846*ii, -.840113+1.1986*ii}, {.014842+1.23548*ii, -.214468+.911293*ii, -.486176+.400577*ii}}                       }
             B'SectionString => {(1.49144+.713846*ii)*(x0)+(-.840113+1.1986*ii)*(x1), (.014842+1.23548*ii)*(y0)+(-.214468+.911293*ii)*(y1)+(-.486176+.400577*ii)*(y2)}
             ListB'Sections => {B'Section{...2...}, B'Section{...2...}}
             NameB'Slice => null
i5 : for i in  xySlice#B'SectionString do print i
(1.49144+.713846*ii)*(x0)+(-.840113+1.1986*ii)*(x1)
(.014842+1.23548*ii)*(y0)+(-.214468+.911293*ii)*(y1)+(-.486176+.400577*ii)*(y2)
i6 : aSlice=makeB'Slice(3,{x,y,z,1},NameB'Slice=>"f");
i7 : aSlice#NameB'Slice

o7 = {f0, f1, f2}

o7 : List
i8 : makeB'InputFile(storeBM2Files,AffVariableGroup=>{x,y,z},B'Functions=>{aSlice},NamePolynomials=>{"f0","f1","f2"});
i9 : f1="x0*y0+x1*y0+x2*y2"

o9 = x0*y0+x1*y0+x2*y2
i10 : f2="x0*y0^2+x1*y1*y2+x2*y0*y2"

o10 = x0*y0^2+x1*y1*y2+x2*y0*y2
i11 : variableGroups={{x0,x1,x2},{y0,y1,y2}}

o11 = {{x0, x1, x2}, {y0, y1, y2}}

o11 : List
i12 : xxSlice=makeB'Slice({2,0},variableGroups)

o12 = B'Slice{...4...}

o12 : B'Slice
i13 : xySlice=makeB'Slice({1,1},variableGroups)

o13 = B'Slice{...4...}

o13 : B'Slice
i14 : yySlice=makeB'Slice({0,2},variableGroups)

o14 = B'Slice{...4...}

o14 : B'Slice
i15 : makeB'InputFile(storeBM2Files,
          HomVariableGroup=>variableGroups,
          B'Polynomials=>{f1,f2}|xxSlice#ListB'Sections);
i16 : runBertini(storeBM2Files)
i17 : xxDegree=#importSolutionsFile(storeBM2Files)

o17 = 2
i18 : makeB'InputFile(storeBM2Files,
          HomVariableGroup=>variableGroups,
          B'Polynomials=>{f1,f2}|xySlice#ListB'Sections);
i19 : runBertini(storeBM2Files)
i20 : xyDegree=#importSolutionsFile(storeBM2Files)

o20 = 3
i21 : makeB'InputFile(storeBM2Files,
          HomVariableGroup=>variableGroups,
          B'Polynomials=>{f1,f2}|yySlice#ListB'Sections);
i22 : runBertini(storeBM2Files)
i23 : yyDegree=#importSolutionsFile(storeBM2Files)

o23 = 1

Ways to use makeB'Slice :

For the programmer

The object makeB'Slice is a method function with options.