Contents

# Operators and functions for type FANCONE

As each FANCONE is also of type CONE, all functions for cones can be applied to fancones. The following list contains only functions which are new or behave differently if applied to fancones. There are other functions which use different algorithms if applied to fancones, but with the same result as described for cones. These functions are not listed.
&x
```&x(C1::FANCONE, ...)::FANCONE
C1::FANCONE &x C2::FANCONE
```

If all arguments are of type FANCONE, then so is the result. The domain of the result is the Cartesian product of the arguments' domains. See CONE[&x] and FAN[&x].

arecompatible
```arecompatible(C1::FANCONE, C2::FANCONE, C::name)::boolean
```

If C1 and C2 have the same domain F, then the (optional) third argument C receives a FANCONE whose domain is F. (In other words, C receives the minimum of C1 and C2.) See CONE[arecompatible] and minimum.

convert/CONE
If applied to a FANCONE, this functions removes the domain information. (That is, this function behaves exactly as for a CONE.)
convert/POLYHEDRON
```convert(C::FANCONE, POLYHEDRON)::CELL
```

If applied to a FANCONE, this function returns a CELL whose domain is the conversion the domain of C to a PCOMPLEX. See FAN[convert/PCOMPLEX].

convert/affine
```convert(C::FANCONE, affine, v::vec)::CELL
```

If applied to a FANCONE, this function returns a CELL whose domain is the conversion the domain of C to a PCOMPLEX representing the same fan in affine space (and, if v is given, with origin translated to v). See FAN[convert/affine].

domain
```domain(C::FANCONE)::FAN
```

The domain of C. This is the fan to which it belongs.

maximum
```maximum(C1::FANCONE, ...)::{FANCONE, 'FAIL'}
```

The maximum of the given arguments, i.e., the smallest fancone containing them all. If no such cone exists, the functions returns FAIL. All arguments must have the same domain; at least one argument must be given.

minimum
```minimum(C1::FANCONE, ...)::FANCONE
```

The minimum of the given arguments, i.e., the largest fancone contained in all of them. All arguments must have the same domain; at least one argument must be given. Note that the minimum is just the intersection of the arguments (but with the additional domain information).

preimage
```preimage(C::FANCONE, A::{mat, rational, real_infinity})::FANCONE
```

The result is a FANCONE whose domain is the preimage of the domain of C. See CONE[preimage] and FAN[preimage].

transversalfan
```tranversalfan(C::FANCONE, A::name)::FAN
```

The fan "transversal" to C in domain(C). The optional argument A receives the mat associated with the projection onto the quotient lattice.

The name "transversal fan" was suggested by Gottfried Barthel. In W. Fulton, Introduction to Toric Varieties, Princeton 1993, it is called the "star", and in fact the elements of the transversal fan of C correspond bijectively to the elements of the star of C.