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

## Synopsis

• Usage:
makeB'Slice(sliceType,variableGroups)
• Inputs:
• sliceType, a list, A list of integers or integer.
• variableGroups, a list, A list of list of variables or list of variables.
• Optional inputs:
• B'Homogenization => ..., default value {}, makeB'Section creates a hash table that represents a hyperplane.
• B'NumberCoefficients => ..., default value {}
• ContainsMultiProjectivePoint => ..., default value {}
• ContainsPoint => ..., default value {}
• NameB'Slice => ..., default value null
• RandomCoefficientGenerator => ..., default value -*Function*-

## 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 :

• "makeB'Slice(Thing,List)"

## For the programmer

The object makeB'Slice is .