# makeB'Section -- makeB'Section creates a hash table that represents a hyperplane.

## Synopsis

• Usage:
makeB'Section(l)
• Inputs:
• l, a list, A list of variables.
• Optional inputs:
• B'Homogenization => ..., default value 1
• B'NumberCoefficients => ..., default value {}
• ContainsPoint => ..., default value {}
• NameB'Section => ..., default value null
• RandomCoefficientGenerator => ..., default value -*Function*-

## Description

makeB'Section allows for easy creation of equations that define hyperplanes. The default creates a hash table with two keys: B'NumberCoefficients and B'SectionString. The first key is a list of numbers in CC that are coefficients, and the second key is a string representing the linear polynomial. The option RandomCoefficientGenerator can be set to a function to generate random numbers for the coefficients.

To get affine linear equations include 1 in the input list.

To have an affine linear equation that contains a particular point we set the ContainsPoint option to a list of coordinates or a point. To get an homogeneous equation that contains a projective point we have to set the ContainsPoint option as well as the B'Homogenization option.

 i1 : s=makeB'Section({x,y,z}) o1 = B'Section{...2...} o1 : B'Section i2 : class s o2 = B'Section o2 : Type i3 : randomRealCoefficientGenerator=()->random(RR) o3 = randomRealCoefficientGenerator o3 : FunctionClosure i4 : sReal=makeB'Section({x,y,z},RandomCoefficientGenerator=>randomRealCoefficientGenerator) o4 = B'Section{...2...} o4 : B'Section i5 : sReal#B'NumberCoefficients o5 = {.0741835, .808694, .362835} o5 : List i6 : randomRationalCoefficientGenerator=()->random(QQ) o6 = randomRationalCoefficientGenerator o6 : FunctionClosure i7 : sRational=makeB'Section({x,y,z},RandomCoefficientGenerator=>randomRationalCoefficientGenerator) o7 = B'Section{...2...} o7 : B'Section i8 : sRational#B'NumberCoefficients 7 1 7 o8 = {--, -, --} 10 2 10 o8 : List
 i9 : affineSection=makeB'Section({x,y,z,1}) o9 = B'Section{...2...} o9 : B'Section
 i10 : X={x,y,z} o10 = {x, y, z} o10 : List i11 : P={1,2,3} o11 = {1, 2, 3} o11 : List i12 : affineContainingPoint=makeB'Section({x,y,z},ContainsPoint=>P) o12 = B'Section{...3...} o12 : B'Section i13 : r= affineContainingPoint#B'SectionString o13 = (1.18921+.849539*ii)*(x-(1)*(1))+(-.542371+.307137*ii)*(y-(1)*(2))+(1.36945+.015633*ii)*(z-(1)*(3)) i14 : print r (1.18921+.849539*ii)*(x-(1)*(1))+(-.542371+.307137*ii)*(y-(1)*(2))+(1.36945+.015633*ii)*(z-(1)*(3))
 i15 : rHomogeSection= makeB'Section({x,y,z},ContainsPoint=>P,B'Homogenization=>"x+y+z") o15 = B'Section{...3...} o15 : B'Section i16 : peek rHomogeSection o16 = B'Section{B'Homogenization => x+y+z } B'NumberCoefficients => {.534614-.175945*ii, .426704-.97539*ii, -.478803+.0416008*ii} B'SectionString => (.534614-.175945*ii)*(x-(x+y+z)*(1))+(.426704-.97539*ii)*(y-(x+y+z)*(2))+(-.478803+.0416008*ii)*(z-(x+y+z)*(3)) i17 : print rHomogeSection#B'SectionString (.534614-.175945*ii)*(x-(x+y+z)*(1))+(.426704-.97539*ii)*(y-(x+y+z)*(2))+(-.478803+.0416008*ii)*(z-(x+y+z)*(3))
 i18 : f="y^3-x*y+1" o18 = y^3-x*y+1 i19 : s1=makeB'Section({x,y,1}) o19 = B'Section{...2...} o19 : B'Section i20 : makeB'InputFile(storeBM2Files, AffVariableGroup=>{x,y}, B'Polynomials=>{f,s1}); i21 : runBertini(storeBM2Files) i22 : #importSolutionsFile(storeBM2Files)==3 o22 = true

## Ways to use makeB'Section :

• "makeB'Section(List)"

## For the programmer

The object makeB'Section is .