- Usage:
`isComplete X`

- Function: isComplete
- Inputs:
`X`, a normal toric variety

- Outputs:
- a Boolean value, that is true if the normal toric variety is complete

A normal toric variety is complete if any of the following equivalent conditions hold:

- the associated complex variety is compact in its classical topology,
- the constant map from the normal toric variety to space consisting of a single point is proper,
- every one-parameter subgroup of the torus has a limit in the toric variety,
- the union of all the cones in the associated fan equals the entire vector space containing it,
- every torus-invariant curve lying in the normal toric variety is projective.

Affine varieties are not complete.

i1 : AA1 = affineSpace 1 o1 = normalToricVariety((({{1}}(,({{0}} ))))) o1 : NormalToricVariety |

i2 : assert (not isComplete AA1 and isSmooth AA1 and # max AA1 === 1) |

i3 : AA3 = affineSpace 3 o3 = normalToricVariety((({{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}(,({{0, 1, 2}} ))))) o3 : NormalToricVariety |

i4 : assert (not isComplete AA3 and isSmooth AA3 and # max AA3 === 1) |

i5 : U = normalToricVariety ({{4,-1,0},{0,1,0}},{{0,1}}); |

i6 : assert (not isComplete U and isDegenerate U and # max U === 1) |

i7 : Q = normalToricVariety ({{1,0,0},{0,1,0},{0,0,1},{1,1,-1}},{{0,1,2,3}}) o7 = normalToricVariety((({{1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {1, 1, -1}}(,({{0, 1, 2, 3}} ))))) o7 : NormalToricVariety |

i8 : assert (not isComplete Q and not isSmooth Q and # max Q === 1) |

Projective varieties are complete.

i9 : PP1 = toricProjectiveSpace 1; |

i10 : assert (isComplete PP1 and isProjective PP1 and isSmooth PP1) |

i11 : FF7 = hirzebruchSurface 7; |

i12 : assert (isComplete FF7 and isProjective FF7 and isSmooth FF7 and not isFano FF7) |

i13 : X = smoothFanoToricVariety (4,120); |

i14 : assert (isComplete X and isProjective X and isSmooth X and isFano X) |

i15 : P12234 = weightedProjectiveSpace {1,2,2,3,4}; |

i16 : assert (isComplete P12234 and isProjective P12234 and not isSmooth P12234 and isSimplicial P12234) |

i17 : Y = normalToricVariety ( id_(ZZ^3) | - id_(ZZ^3)); |

i18 : assert (isComplete Y and isProjective Y and not isSmooth Y and not isSimplicial Y) |

There are also complete non-projective normal toric varieties.

i19 : X1 = normalToricVariety ({{1,0,0},{0,1,0},{0,0,1},{0,-1,-1},{-1,0,-1},{-2,-1,0}},{{0,1,2},{0,1,3},{1,3,4},{1,2,4},{2,4,5},{0,2,5},{0,3,5},{3,4,5}}); |

i20 : assert (isComplete X1 and not isProjective X1 and not isSmooth X1 and isWellDefined X1) |

i21 : X2 = normalToricVariety ({{1,0,0},{0,1,0},{0,0,1},{0,-1,2},{0,0,-1},{-1,1,-1},{-1,0,-1},{-1,-1,0}},{{0,1,2},{0,2,3},{0,3,4},{0,4,5},{0,1,5},{1,2,7},{2,3,7},{3,4,7},{4,5,6},{4,6,7},{5,6,7},{1,5,7}}); |

i22 : assert (isComplete X2 and not isProjective X2 and isSmooth X2 and isWellDefined X2) |

i23 : X3 = normalToricVariety ({{-1,2,0},{0,-1,0},{1,-1,0},{-1,0,-1},{0,0,-1},{0,1,0},{0,0,1},{1,0,-2}},{{0,1,3},{1,2,3},{2,3,4},{3,4,5},{0,3,5},{0,5,6},{0,1,6},{1,2,6},{2,4,7},{4,5,7},{2,6,7},{5,6,7}}); |

i24 : assert (isComplete X3 and not isProjective X3 and isSmooth X3 and isWellDefined X3) |

The nonprojective examples are taken from [Osamu Fujino and Sam Payne, Smooth complete toric threefolds with non nontrivial nef line bundles, *Proc. Japan Acad. Ser. A Math. Sci.* **81** (2005), no. 10, 174-179].

- Basic invariants and properties of normal toric varieties
- isProjective(NormalToricVariety) -- whether a toric variety is projective