products/Sources/formale Sprachen/GAP/pkg/nconvex/doc/chap5.html
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd " >
<html xmlns="http://www.w3.org/1999/xhtml " xml:lang="en" >
<head >
<title >GAP (NConvex) - Chapter 5: Fans</title >
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript" ></script >
<script type="text/javascript" >overwriteStyle();</script >
</head >
<body class="chap5" onload="jscontent()" >
<div class="chlinktop" ><span class="chlink1" >Goto Chapter: </span ><a href="chap0.html" >Top</a> <a href="chap1.html" >1</a> <a href="chap2.html" >2</a> <a href="chap3.html" >3</a> <a href="chap4.html" >4</a> <a href="chap5.html" >5</a> <a href="chap6.html" >6</a> <a href="chap7.html" >7</a> <a href="chapInd.html" >Ind</a> </div >
<div class="chlinkprevnexttop" > <a href="chap0.html" >[Top of Book]</a> <a href="chap0.html#contents" >[Contents]</a> <a href="chap4.html" >[Previous Chapter]</a> <a href="chap6.html" >[Next Chapter]</a> </div >
<p id="mathjaxlink" class="pcenter" ><a href="chap5_mj.html" >[MathJax on]</a></p>
<p><a id="X7EB0337A86DDD2F1" name="X7EB0337A86DDD2F1" ></a></p>
<div class="ChapSects" ><a href="chap5.html#X7EB0337A86DDD2F1" >5 <span class="Heading" >Fans</span ></a>
<div class="ContSect" ><span class="tocline" ><span class="nocss" > </span ><a href="chap5.html#X86EC0F0A78ECBC10" >5.1 <span class="Heading" >Constructors</span ></a>
</span >
<div class="ContSSBlock" >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7F5B09727CD79D17" >5.1-1 Fan</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7FB87B4983087091" >5.1-2 Fan</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7A1FD0BD845E3588" >5.1-3 Fan</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7D5DE7F08555C8E8" >5.1-4 FansFromTriangulation</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X853CC6BB854AA139" >5.1-5 FanFromTriangulation</a></span >
</div ></div >
<div class="ContSect" ><span class="tocline" ><span class="nocss" > </span ><a href="chap5.html#X7C701DBF7BAE649A" >5.2 <span class="Heading" >Attributes</span ></a>
</span >
<div class="ContSSBlock" >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X789156E3828930D2" >5.2-1 RayGenerators</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X86CB98CC80E9C36E" >5.2-2 GivenRayGenerators</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7B0FAF0A8246F5AE" >5.2-3 RaysInMaximalCones</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7D586B547A8DB803" >5.2-4 MaximalCones</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7E5274F987E8FFC5" >5.2-5 FVector</a></span >
</div ></div >
<div class="ContSect" ><span class="tocline" ><span class="nocss" > </span ><a href="chap5.html#X871597447BB998A1" >5.3 <span class="Heading" >Properties</span ></a>
</span >
<div class="ContSSBlock" >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X81189D5287FFBEDF" >5.3-1 IsWellDefinedFan</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X87963F4C84C9EA21" >5.3-2 IsComplete</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7BE6F87D7BB9A6CD" >5.3-3 IsPointed</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7C694ECC81F4DECF" >5.3-4 IsSmooth</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X78A031D8848E0FF8" >5.3-5 IsSimplicial</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X85C533997DC6B46A" >5.3-6 IsNormalFan</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X7A2AE62C86CE72B8" >5.3-7 IsRegularFan</a></span >
<span class="ContSS" ><br /><span class="nocss" > </span ><a href="chap5.html#X81D74C107DBB7C21" >5.3-8 IsFanoFan</a></span >
</div ></div >
<div class="ContSect" ><span class="tocline" ><span class="nocss" > </span ><a href="chap5.html#X86BC038782EFD451" >5.4 <span class="Heading" >Operations on fans</span ></a>
</span >
</div >
</div >
<h3>5 <span class="Heading" >Fans</span ></h3>
<p><a id="X86EC0F0A78ECBC10" name="X86EC0F0A78ECBC10" ></a></p>
<h4>5.1 <span class="Heading" >Constructors</span ></h4>
<p><a id="X7F5B09727CD79D17" name="X7F5B09727CD79D17" ></a></p>
<h5>5.1-1 Fan</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ Fan</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( operation )</td ></tr ></table ></div >
<p>Returns: a fan object </p>
<p>If the input <var class="Arg" >F</var > is fan then return <var class="Arg" >F</var >.</p>
<p><a id="X7FB87B4983087091" name="X7FB87B4983087091" ></a></p>
<h5>5.1-2 Fan</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ Fan</code >( <var class="Arg" >C</var > )</td ><td class="tdright" >( operation )</td ></tr ></table ></div >
<p>Returns: a fan object </p>
<p>The input is a list of list <span class="Math" >C</span >. the output is the fan defined by the cones <span class="Math" >\{\mathrm{Cone}_i(C_i )\}_{C_i\in C}</span >.</p>
<p><a id="X7A1FD0BD845E3588" name="X7A1FD0BD845E3588" ></a></p>
<h5>5.1-3 Fan</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ Fan</code >( <var class="Arg" >R</var >, <var class="Arg" >C</var > )</td ><td class="tdright" >( operation )</td ></tr ></table ></div >
<p>Returns: a fan object </p>
<p>The input is two lists, <span class="Math" >R</span > that indicates the rays and <span class="Math" >C</span > that indicates the cones. The output is the fan defined by the cones <span class="Math" >\{\mathrm{Cone}_i(\{ R_j, j\in C_i\} )\}_{C_i\in C}</span >.</p>
<p>Below we define the same fan in two different ways:</p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >F1 := Fan( [ [ [ 2, 1 ], [ 1, 2 ] ], [ [ 2, 1 ], [ 1, -1 ] ],</span >
<span class="GAPprompt" >></span > <span class="GAPinput" > [ [ -3, 1 ], [ -1, -3 ] ] ] );</span >
<A fan in |R^2>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >F2 := Fan( [ [ 2, 1 ], [ 1, 2 ], [ -3, 1 ], [ -1, -3 ], [ 1, -1 ] ], </span >
<span class="GAPprompt" >></span > <span class="GAPinput" > [ [ 1, 2 ], [ 1, 5 ], [ 3, 4 ] ] );</span >
<A fan in |R^2>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >rays1 := RayGenerators( F1 );</span >
[ [ -3, 1 ], [ -1, -3 ], [ 1, -1 ], [ 1, 2 ], [ 2, 1 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >rays2 := RayGenerators( F2 );</span >
[ [ -3, 1 ], [ -1, -3 ], [ 1, -1 ], [ 1, 2 ], [ 2, 1 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >RaysInMaximalCones( F1 );</span >
[ [ 0, 0, 0, 1, 1 ], [ 0, 0, 1, 0, 1 ], [ 1, 1, 0, 0, 0 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >RaysInMaximalCones( F2 );</span >
[ [ 0, 0, 0, 1, 1 ], [ 0, 0, 1, 0, 1 ], [ 1, 1, 0, 0, 0 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >RaysInAllCones( F1 );</span >
[ [ 0, 0, 0, 0, 0 ], [ 0, 0, 0, 1, 1 ], [ 0, 0, 0, 0, 1 ],
[ 0, 0, 0, 1, 0 ], [ 0, 0, 1, 0, 1 ], [ 0, 0, 1, 0, 0 ],
[ 1, 1, 0, 0, 0 ], [ 0, 1, 0, 0, 0 ], [ 1, 0, 0, 0, 0 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >FVector( F1 );</span >
[ 5, 3 ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsComplete( F1 );</span >
false
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsSimplicial( F1 );</span >
true
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsNormalFan( F1 );</span >
false
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsRegularFan( F1 );</span >
false
<span class="GAPprompt" >gap></span > <span class="GAPinput" >P1 := Polytope( [ [ 1 ], [ -1 ] ] );</span >
<A polytope in |R^1>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >P1 := NormalFan( P1 );</span >
<A complete fan in |R^1>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >RayGenerators( P1 );</span >
[ [ -1 ], [ 1 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >P3 := P1 * P1 * P1;</span >
<A fan in |R^3>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >RayGenerators( P3 );</span >
[ [ -1, 0, 0 ], [ 0, -1, 0 ], [ 0, 0, -1 ], [ 0, 0, 1 ], [ 0, 1, 0 ],
[ 1, 0, 0 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >RaysInMaximalCones( P3 );</span >
[ [ 0, 0, 0, 1, 1, 1 ], [ 0, 0, 1, 0, 1, 1 ], [ 0, 1, 0, 1, 0, 1 ],
[ 0, 1, 1, 0, 0, 1 ], [ 1, 0, 0, 1, 1, 0 ], [ 1, 0, 1, 0, 1, 0 ],
[ 1, 1, 0, 1, 0, 0 ], [ 1, 1, 1, 0, 0, 0 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >RaysInAllCones( P3 );</span >
[ [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 1, 1, 1 ], [ 0, 0, 0, 1, 1, 0 ],
[ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 1, 0, 1 ],
[ 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 1, 1 ], [ 0, 0, 1, 0, 1, 1 ],
[ 0, 0, 1, 0, 1, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 1 ],
[ 0, 1, 0, 1, 0, 1 ], [ 0, 1, 0, 1, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ],
[ 0, 1, 0, 0, 0, 1 ], [ 0, 1, 1, 0, 0, 1 ], [ 0, 1, 1, 0, 0, 0 ],
[ 1, 0, 0, 1, 1, 0 ], [ 1, 0, 0, 1, 0, 0 ], [ 1, 0, 0, 0, 0, 0 ],
[ 1, 0, 0, 0, 1, 0 ], [ 1, 0, 1, 0, 1, 0 ], [ 1, 0, 1, 0, 0, 0 ],
[ 1, 1, 0, 1, 0, 0 ], [ 1, 1, 0, 0, 0, 0 ], [ 1, 1, 1, 0, 0, 0 ] ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsNormalFan( P3 );</span >
true
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Dimension( P3 );</span >
3
<span class="GAPprompt" >gap></span > <span class="GAPinput" >PrimitiveCollections( P3 );</span >
[ [ 4, 3 ], [ 5, 2 ], [ 6, 1 ] ]
</pre ></div >
<p>The following is an example for a fan that is complete but not normal.</p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >rays := [ [ 1, 0, 0 ], [ -1, 0, 0 ], [ 0, 1, 0 ], [ 0, -1, 0 ], </span >
<span class="GAPprompt" >></span > <span class="GAPinput" >[ 0, 0, 1 ], [ 0, 0, -1 ], [ 2, 1, 1 ], [ 1, 2, 1 ], [ 1, 1, 2 ], </span >
<span class="GAPprompt" >></span > <span class="GAPinput" >[ 1, 1, 1 ] ];;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >cones := [ [ 1, 3, 6 ], [ 1, 4, 6 ], [ 1, 4, 5 ], [ 2, 3, 6 ], </span >
<span class="GAPprompt" >></span > <span class="GAPinput" >[ 2, 4, 6 ], [ 2, 3, 5 ], [ 2, 4, 5 ], [ 1, 5, 9 ], [ 3, 5, 8 ], </span >
<span class="GAPprompt" >></span > <span class="GAPinput" >[ 1, 3, 7 ], [ 1, 7, 9 ], [ 5, 8, 9 ], [ 3, 7, 8 ], [ 7, 9, 10 ], </span >
<span class="GAPprompt" >></span > <span class="GAPinput" >[ 8, 9, 10 ], [ 7, 8, 10 ] ];;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >F := Fan( rays, cones );</span >
<A fan in |R^3>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsComplete( F );</span >
true
<span class="GAPprompt" >gap></span > <span class="GAPinput" >IsNormalFan( F );</span >
false
<span class="GAPprompt" >gap></span > <span class="GAPinput" >PrimitiveCollections( F );</span >
[ [ 7, 1 ], [ 7, 2 ], [ 7, 3 ], [ 7, 4 ], [ 7, 5 ], [ 7, 6 ],
[ 9, 1 ], [ 9, 2 ], [ 9, 3 ], [ 9, 6 ], [ 10, 1 ], [ 10, 2 ],
[ 10, 3 ], [ 10, 4 ], [ 8, 1 ], [ 8, 2 ], [ 8, 3 ], [ 8, 5 ],
[ 6, 1 ], [ 5, 2 ], [ 4, 3 ], [ 9, 10, 8 ], [ 5, 6, 4 ] ]
</pre ></div >
<p><a id="X7D5DE7F08555C8E8" name="X7D5DE7F08555C8E8" ></a></p>
<h5>5.1-4 FansFromTriangulation</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ FansFromTriangulation</code >( <var class="Arg" >R</var > )</td ><td class="tdright" >( operation )</td ></tr ></table ></div >
<p>Returns: a list of fans</p>
<p>The input is a list of ray generators <span class="Math" >R</span >. Provided that the package TopcomInterface is available, this function computes the list of all fine and regular triangulations of these ray generators. It then returns the list of the associated fans of these triangulations.</p>
<p><a id="X853CC6BB854AA139" name="X853CC6BB854AA139" ></a></p>
<h5>5.1-5 FanFromTriangulation</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ FanFromTriangulation</code >( <var class="Arg" >R</var > )</td ><td class="tdright" >( operation )</td ></tr ></table ></div >
<p>Returns: a fan</p>
<p>The input is a list of ray generators <span class="Math" >R</span >. Provided that the package TopcomInterface is available, this function computes a fine and regular triangulation of these ray generators and returns the associated fan.</p>
<p>The above methods construct fans from so-called triangulations. For a given list <span class="Math" >R</span > of lists of integers, a triangulation is a fan whose ray generators are contained in the given list <span class="Math" >R</span >.</p>
<p>A regular triangulation is such a fan, for which all cones are strictly convex. It is called a fine triangulation, iff all elements of <span class="Math" >R</span > are ray generators of this fan.</p>
<p>Above we present two method which make this approach available in NConvex via the package TopcomInterface, which in turn rests on the program Topcom. Consequently, these methods are only available if the package TopcomInterface is available. They compute either all of the fine and regular triangulations or merely just a single such triangulation.</p>
<p>As an example inspired from toric geometry, let us use the ray generators of the fan of the resolved conifold (i.e. the total space of the bundle ). This space is known to allow for two different triangulations. The code below reproduces this feature.</p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >rays := [ [ 1, 0, 1 ], [ 1, 1, 0 ], [ 0, 0, -1 ], [ 0, -1, 0 ] ];;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >all_triangulations := FansFromTriangulation( rays );</span >
[ <A fan in |R^3>, <A fan in |R^3> ]
<span class="GAPprompt" >gap></span > <span class="GAPinput" >one_triangulation := FanFromTriangulation( rays );</span >
<A fan in |R^3>
</pre ></div >
<p><a id="X7C701DBF7BAE649A" name="X7C701DBF7BAE649A" ></a></p>
<h4>5.2 <span class="Heading" >Attributes</span ></h4>
<p><a id="X789156E3828930D2" name="X789156E3828930D2" ></a></p>
<h5>5.2-1 RayGenerators</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ RayGenerators</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( attribute )</td ></tr ></table ></div >
<p>Returns: a list</p>
<p>The input is a fan <var class="Arg" >F</var >. The output is the set of all ray generators of the maximal cones in the fan.</p>
<p><a id="X86CB98CC80E9C36E" name="X86CB98CC80E9C36E" ></a></p>
<h5>5.2-2 GivenRayGenerators</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ GivenRayGenerators</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( attribute )</td ></tr ></table ></div >
<p>Returns: a list</p>
<p>The input is a fan <var class="Arg" >F</var >. The output is the given or defining set of ray generators of the maximal cones in the fan.</p>
<p><a id="X7B0FAF0A8246F5AE" name="X7B0FAF0A8246F5AE" ></a></p>
<h5>5.2-3 RaysInMaximalCones</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ RaysInMaximalCones</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( attribute )</td ></tr ></table ></div >
<p>Returns: a list</p>
<p>The input is a fan <var class="Arg" >F</var >. The output is a list of lists. which represent an incidence matrix for the correspondence of the rays and the maximal cones of the fan <var class="Arg" >F</var >. The i'th list in the result represents the i' th maximal cone of <var class="Arg" >F</var >. In such a list, the j'th entry is 1 if the j' th ray is in the cone, 0 otherwise.</p>
<p><a id="X7D586B547A8DB803" name="X7D586B547A8DB803" ></a></p>
<h5>5.2-4 MaximalCones</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ MaximalCones</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( attribute )</td ></tr ></table ></div >
<p>Returns: a list</p>
<p>The input is a fan <var class="Arg" >F</var >. The output is a list of the maximal cones of <var class="Arg" >F</var >.</p>
<p><a id="X7E5274F987E8FFC5" name="X7E5274F987E8FFC5" ></a></p>
<h5>5.2-5 FVector</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ FVector</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( attribute )</td ></tr ></table ></div >
<p>Returns: a list</p>
<p>Description</p>
<p><a id="X871597447BB998A1" name="X871597447BB998A1" ></a></p>
<h4>5.3 <span class="Heading" >Properties</span ></h4>
<p><a id="X81189D5287FFBEDF" name="X81189D5287FFBEDF" ></a></p>
<h5>5.3-1 IsWellDefinedFan</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsWellDefinedFan</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: a true or false</p>
<p>It checks whether the constructed fan is well defined or not.</p>
<p><a id="X87963F4C84C9EA21" name="X87963F4C84C9EA21" ></a></p>
<h5>5.3-2 IsComplete</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsComplete</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: a true or false</p>
<p>Checks whether the fan is complete, i.e. if its support is the whole space.</p>
<p><a id="X7BE6F87D7BB9A6CD" name="X7BE6F87D7BB9A6CD" ></a></p>
<h5>5.3-3 IsPointed</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsPointed</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: a true or false</p>
<p>Checks whether the fan is pointed, i.e., that every cone it contains is pointed.</p>
<p><a id="X7C694ECC81F4DECF" name="X7C694ECC81F4DECF" ></a></p>
<h5>5.3-4 IsSmooth</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsSmooth</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: a true or false</p>
<p>Checks if the fan is smooth, i.e. if every cone in the fan is smooth.</p>
<p><a id="X78A031D8848E0FF8" name="X78A031D8848E0FF8" ></a></p>
<h5>5.3-5 IsSimplicial</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsSimplicial</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: a true or false</p>
<p>Checks if the fan is simplicial, i.e. if every cone in the fan is simplicial.</p>
<p><a id="X85C533997DC6B46A" name="X85C533997DC6B46A" ></a></p>
<h5>5.3-6 IsNormalFan</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsNormalFan</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: a true or false</p>
<p>Checks if the fan is normal as described in (Theorem 4.7, Combinatorial convexity and algebraic geometry, Ewald, Guenter).</p>
<p><a id="X7A2AE62C86CE72B8" name="X7A2AE62C86CE72B8" ></a></p>
<h5>5.3-7 IsRegularFan</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsRegularFan</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: a true or false</p>
<p>Synonyme to <code class="code" >IsNormalFan</code ></p>
<p><a id="X81D74C107DBB7C21" name="X81D74C107DBB7C21" ></a></p>
<h5>5.3-8 IsFanoFan</h5>
<div class="func" ><table class="func" width="100%" ><tr ><td class="tdleft" ><code class="func" >‣ IsFanoFan</code >( <var class="Arg" >F</var > )</td ><td class="tdright" >( property )</td ></tr ></table ></div >
<p>Returns: a true or false</p>
<p>Checks whether the fan is a fano fan.</p>
<p><a id="X86BC038782EFD451" name="X86BC038782EFD451" ></a></p>
<h4>5.4 <span class="Heading" >Operations on fans</span ></h4>
<p>A star subdivision is a certain way of extending a fan. In toric geometry, its applications include blowups of varieties. The following examples correspond to blowups of the origin of the 2-dimensional and 3-dimensional affine space, respectively.</p>
<div class="example" ><pre >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >rays := [ [ 1,0 ], [ 0,1 ] ];;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >max_cones := [ [1,2] ];;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >fan_affine2 := Fan( rays, max_cones );;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >fan_blowup_affine2 := StarSubdivisionOfIthMaximalCone( fan_affine2, 1 );</span >
<A fan in |R^2>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Length( RaysInMaximalCones( fan_blowup_affine2 ) );</span >
2
<span class="GAPprompt" >gap></span > <span class="GAPinput" >rays := [ [ 1,0,0 ], [ 0,1,0 ], [0,0,1] ];;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >max_cones := [ [1,2,3] ];;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >fan_affine3 := Fan( rays, max_cones );;</span >
<span class="GAPprompt" >gap></span > <span class="GAPinput" >fan_blowup_affine3 := StarSubdivisionOfIthMaximalCone( fan_affine3, 1 );</span >
<A fan in |R^3>
<span class="GAPprompt" >gap></span > <span class="GAPinput" >Length( RaysInMaximalCones( fan_blowup_affine3 ) );</span >
3
</pre ></div >
<div class="chlinkprevnextbot" > <a href="chap0.html" >[Top of Book]</a> <a href="chap0.html#contents" >[Contents]</a> <a href="chap4.html" >[Previous Chapter]</a> <a href="chap6.html" >[Next Chapter]</a> </div >
<div class="chlinkbot" ><span class="chlink1" >Goto Chapter: </span ><a href="chap0.html" >Top</a> <a href="chap1.html" >1</a> <a href="chap2.html" >2</a> <a href="chap3.html" >3</a> <a href="chap4.html" >4</a> <a href="chap5.html" >5</a> <a href="chap6.html" >6</a> <a href="chap7.html" >7</a> <a href="chapInd.html" >Ind</a> </div >
<hr />
<p class="foot" >generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc " >GAPDoc2HTML</a></p>
</body >
</html >
quality 98%
¤ Dauer der Verarbeitung: 0.29 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland