This is ToricTopology.info, produced by Macaulay2, version 1.25.11

ToricTopology -- homological computations in toric topology
***********************************************************

Description
===========

ToricTopology is a package for computing with quasitoric manifolds, small
covers and moment-angle complexes.

A quasitoric manifold (or small cover) is entirely determined by a pair
consisting of a simplicial complex K and a matrix lambda which is
characteristic for K.

If K has n vertices, we can think of its k-faces as sets of integers between 1
and n. A matrix lambda is characteristic for K if all maximal minors of lambda
indexed by the facets of  K have determinant equal to 1 or -1.

Authors
=======

  * Alvise Trevisan (see http://www.enpicom.com ) <a.trevisan@enpicom.com>
  * Alexander I. Suciu <a.suciu@neu.edu>
  * Kumar Sannidhya Shukla <kshukla5@uwo.ca>

Version
=======

This documentation describes version 1.1 of ToricTopology, released November 7,
2025.

Citation
========

If you have used this package in your research, please cite it as follows:

+-----------------------------------------------------------------------------+
|@misc{ToricTopologySource,                                                   |
|  title = {{ToricTopology: A \emph{Macaulay2} package. Version~1.1}},        |
|  author = {Alvise Trevisan and Alexander I. Suciu and Kumar Sannidhya Shukla|
|  howpublished = {A \emph{Macaulay2} package available at                    |
|    \url{https://github.com/Macaulay2/M2/tree/stable/M2/Macaulay2/packages}} |
|}                                                                            |
|-----------------------------------------------------------------------------|
|},                                                                           |
+-----------------------------------------------------------------------------+

Exports
=======

  * Types
      * MomentAngleComplex -- the class of all
        moment-angle complexes
      * QuasiToricManifold -- the class of all
        quasitoric manifolds
      * SmallCover -- the class of all small covers
  * Functions and commands
      * bettiMAC -- compute the Betti numbers of a
        moment-angle complex
      * bettiQTM -- compute the Betti numbers of a quasitoric
        manifold
      * bettiSmallCover -- compute the Betti numbers of
        a small cover
      * chern -- compute the Chern classes of a quasitoric
        manifold
      * cohomologyRing -- compute the cohomology ring of
        a small cover or quasitoric manifold
      * complexProjectiveSpace -- complex
        projective space of dimension n
      * equivariantCohomology -- compute the
        equivariant cohomology of a moment-angle complex
      * eulerMAC -- compute the Euler characteristic of a
        moment-angle complex
      * hessenbergVariety -- Hessenberg variety
        asscoiated to the n-permutahedron
      * isValidChar -- whether a matrix is characteristic
        for a simplicial complex
      * momentAngleComplex -- create a moment-angle
        complex
      * quasiToricManifold -- create a quasitoric
        manifold
      * realProjectiveSpace -- real projective
        space of dimension n
      * smallCover -- create a small cover
      * stiefelWhitney -- compute the Stiefel-Whitney
        classes of a small cover
  * Methods
      * "bettiMAC(MomentAngleComplex)" -- see bettiMAC, --
        compute the Betti numbers of a moment-angle complex
      * "bettiMAC(ZZ,MomentAngleComplex)" -- see bettiMAC, --
        compute the Betti numbers of a moment-angle complex
      * "bettiQTM(QuasiToricManifold)" -- see bettiQTM, --
        compute the Betti numbers of a quasitoric manifold
      * "bettiQTM(ZZ,QuasiToricManifold)" -- see bettiQTM, --
        compute the Betti numbers of a quasitoric manifold
      * "bettiSmallCover(SmallCover)" -- see bettiSmallCover,
        -- compute the Betti numbers of a small cover
      * "bettiSmallCover(ZZ,SmallCover)" -- see bettiSmallCover,
        -- compute the Betti numbers of a small cover
      * "chern(QuasiToricManifold)" -- see chern, -- compute the
        Chern classes of a quasitoric manifold
      * "cohomologyRing(QuasiToricManifold)" -- see cohomologyRing,
        -- compute the cohomology ring of a small cover or
        quasitoric manifold
      * "cohomologyRing(SmallCover)" -- see cohomologyRing,
        -- compute the cohomology ring of a small cover or
        quasitoric manifold
      * "complexProjectiveSpace(ZZ)" -- see complexProjectiveSpace,
        -- complex projective space of dimension n
      * "equivariantCohomology(MomentAngleComplex)" -- see
        equivariantCohomology, -- compute the
        equivariant cohomology of a moment-angle complex
      * "eulerMAC(MomentAngleComplex)" -- see eulerMAC, --
        compute the Euler characteristic of a moment-angle complex
      * "hessenbergVariety(ZZ)" -- see hessenbergVariety,
        -- Hessenberg variety asscoiated to the
        n-permutahedron
      * "realProjectiveSpace(ZZ)" -- see realProjectiveSpace,
        -- real projective space of dimension n
      * "stiefelWhitney(SmallCover)" -- see stiefelWhitney,
        -- compute the Stiefel-Whitney classes of a small cover
  * Symbols
      * QTMCharacteristicMatrix (missing documentation)
      * QTMDimension (missing documentation)
      * QTMSimplicialComplex (missing documentation)

For the programmer
==================

The object ToricTopology, is a package (Macaulay2Doc),
defined in ToricTopology.m2.

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:408:0.

bettiMAC -- compute the Betti numbers of a moment-angle complex
***************************************************************

  * Usage:
        bettiMAC(k,Z)
        bettiMAC(Z)
  * Inputs:
      * k, an integer (Macaulay2Doc), (optional)
      * Z, a moment-angle complex,
  * Outputs:
      * an integer (Macaulay2Doc), the k-th Betti number of the
        moment angle complex (if k is provided)
      * a list (Macaulay2Doc), of all Betti numbers

Description
===========

This method computes the Betti numbers of a moment-angle complex using the
theorem of Baskakov-Buchstaber-Panov. If a dimension k is specified, then only
the k-th Betti number of Z is computed. If no dimension is specified, all the
Betti numbers between 0 and 2m are computed (where m is the number of vertices
in the underlying simplicial complex).

The moment-angle complex corresponding to the simplicial complex consisting of
two disjoint vertices is homeomorphic to $S^3$, the 3-sphere as indicated by
its Betti numbers.

+--------------------------------------------------------------------------+
|i1 : needsPackage "SimplicialComplexes"                                   |
|                                                                          |
|o1 = SimplicialComplexes                                                  |
|                                                                          |
|o1 : Package                                                              |
+--------------------------------------------------------------------------+
|i2 : R = QQ[x,y]                                                          |
|                                                                          |
|o2 = R                                                                    |
|                                                                          |
|o2 : PolynomialRing                                                       |
+--------------------------------------------------------------------------+
|i3 : K = simplicialComplex {x, y}                                         |
|                                                                          |
|o3 = simplicialComplex | y x |                                            |
|                                                                          |
|o3 : SimplicialComplex                                                    |
+--------------------------------------------------------------------------+
|i4 : Z = momentAngleComplex K                                             |
|                                                                          |
|o4 = MomentAngleComplex{MACSimplicialComplex => simplicialComplex | y x |}|
|                                                                          |
|o4 : MomentAngleComplex                                                   |
+--------------------------------------------------------------------------+
|i5 : bettiMAC Z                                                           |
|                                                                          |
|o5 = {1, 0, 0, 1, 0}                                                      |
|                                                                          |
|o5 : List                                                                 |
+--------------------------------------------------------------------------+

Let $\mathcal{Z}_K$ be the moment-angle corresponding to the simplicial complex
consisting on 3 vertices, with an edge and a disjoint vertex. By Hochster's
formula, its third cohomology $H^3(\mathcal{Z}_K)$ will have rank $2$. We can
verify this as follows,

+---------------------------------------------------------------------------+
|i6 : needsPackage "SimplicialComplexes"                                    |
|                                                                           |
|o6 = SimplicialComplexes                                                   |
|                                                                           |
|o6 : Package                                                               |
+---------------------------------------------------------------------------+
|i7 : R = QQ[x..z]                                                          |
|                                                                           |
|o7 = R                                                                     |
|                                                                           |
|o7 : PolynomialRing                                                        |
+---------------------------------------------------------------------------+
|i8 : K = simplicialComplex {x, y*z}                                        |
|                                                                           |
|o8 = simplicialComplex | x yz |                                            |
|                                                                           |
|o8 : SimplicialComplex                                                     |
+---------------------------------------------------------------------------+
|i9 : Z = momentAngleComplex K                                              |
|                                                                           |
|o9 = MomentAngleComplex{MACSimplicialComplex => simplicialComplex | x yz |}|
|                                                                           |
|o9 : MomentAngleComplex                                                    |
+---------------------------------------------------------------------------+
|i10 : bettiMAC (3, Z)                                                      |
|                                                                           |
|o10 = 2                                                                    |
+---------------------------------------------------------------------------+

The moment-angle corresponding to the boundary $\partial \Delta^2$ of the
2-simplex is homeomorphic to $S^5$, as reflected by its Betti numbers.

+-----------------------------------------------------------------------------+
|i11 : needsPackage "SimplicialComplexes"                                     |
|                                                                             |
|o11 = SimplicialComplexes                                                    |
|                                                                             |
|o11 : Package                                                                |
+-----------------------------------------------------------------------------+
|i12 : R = QQ[x..z]                                                           |
|                                                                             |
|o12 = R                                                                      |
|                                                                             |
|o12 : PolynomialRing                                                         |
+-----------------------------------------------------------------------------+
|i13 : K = simplicialComplex {x*y, y*z, x*z}                                  |
|                                                                             |
|o13 = simplicialComplex | yz xz xy |                                         |
|                                                                             |
|o13 : SimplicialComplex                                                      |
+-----------------------------------------------------------------------------+
|i14 : Z = momentAngleComplex K                                               |
|                                                                             |
|o14 = MomentAngleComplex{MACSimplicialComplex => simplicialComplex | yz xz xy|
|                                                                             |
|o14 : MomentAngleComplex                                                     |
|-----------------------------------------------------------------------------|
||}                                                                           |
+-----------------------------------------------------------------------------+
|i15 : bettiMAC Z                                                             |
|                                                                             |
|o15 = {1, 0, 0, 0, 0, 1, 0}                                                  |
|                                                                             |
|o15 : List                                                                   |
+-----------------------------------------------------------------------------+

Ways to use bettiMAC:
=====================

  * "bettiMAC(MomentAngleComplex)"
  * "bettiMAC(ZZ,MomentAngleComplex)"

For the programmer
==================

The object bettiMAC, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:783:0.

bettiQTM -- compute the Betti numbers of a quasitoric manifold
**************************************************************

  * Usage:
        bettiQTM(k,M)
        bettiQTM(M)
  * Inputs:
      * k, an integer (Macaulay2Doc),
      * M, a quasitoric manifold,
  * Outputs:
      * an integer (Macaulay2Doc),
      * a list (Macaulay2Doc),

Description
===========

Compute the Betti numbers of a quasitoric manifold.  If a dimension k is
specified, then only the k-th Betti number of M is computed.  If no dimension
is specified, all the Betti numbers between 0 and the dimension of M are
computed.

Ways to use bettiQTM:
=====================

  * "bettiQTM(QuasiToricManifold)"
  * "bettiQTM(ZZ,QuasiToricManifold)"

For the programmer
==================

The object bettiQTM, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:722:0.

bettiSmallCover -- compute the Betti numbers of a small cover
*************************************************************

  * Usage:
        bettiSmallCover(k,N)
        bettiSmallCover(N)
  * Inputs:
      * k, an integer (Macaulay2Doc),
      * N, a small cover,
  * Outputs:
      * an integer (Macaulay2Doc),
      * a list (Macaulay2Doc),

Description
===========

Compute the rational Betti numbers of a small cover.  If a dimension k is
specified, then only the k-th Betti number of N is computed.  If no dimension
is specified, all the Betti numbers between 0 and the dimension of N are
computed.

Ways to use bettiSmallCover:
============================

  * "bettiSmallCover(SmallCover)"
  * "bettiSmallCover(ZZ,SmallCover)"

For the programmer
==================

The object bettiSmallCover, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:697:0.

chern -- compute the Chern classes of a quasitoric manifold
***********************************************************

  * Usage:
        chern(M)
  * Inputs:
      * M, a quasitoric manifold,
  * Outputs:
      * a list (Macaulay2Doc),

Description
===========

Compute the Chern classes of a quasitoric manifold. The output is a list of
elements in the cohomology ring of M.

See also
========

  * cohomologyRing -- compute the cohomology ring of a
    small cover or quasitoric manifold

Ways to use chern:
==================

  * "chern(QuasiToricManifold)"

For the programmer
==================

The object chern, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:671:0.

cohomologyRing -- compute the cohomology ring of a small cover or quasitoric manifold
*************************************************************************************

  * Usage:
        cohomologyRing(N)
        cohomologyRing(M)
  * Inputs:
      * N, a small cover,
      * M, a quasitoric manifold,
  * Outputs:
      * a quotient ring (Macaulay2Doc),

Description
===========

Compute the cohomology ring of a small cover (over ZZ/2) or quasitoric manifold
(over ZZ).

Ways to use cohomologyRing:
===========================

  * "cohomologyRing(QuasiToricManifold)"
  * "cohomologyRing(SmallCover)"

For the programmer
==================

The object cohomologyRing, is a method function with options (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:631:0.

complexProjectiveSpace -- complex projective space of dimension n
*****************************************************************

  * Usage:
        complexProjectiveSpace(n)
  * Inputs:
      * n, an integer (Macaulay2Doc),
  * Outputs:
      * a quasitoric manifold,

Description
===========

Complex projective space of dimension n, as a quasitoric manifold.

See also
========

  * realProjectiveSpace -- real projective space of
    dimension n

Ways to use complexProjectiveSpace:
===================================

  * "complexProjectiveSpace(ZZ)"

For the programmer
==================

The object complexProjectiveSpace, is a
method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:852:0.

equivariantCohomology -- compute the equivariant cohomology of a moment-angle complex
*************************************************************************************

  * Usage:
        equivariantCohomology(Z)
  * Inputs:
      * Z, a moment-angle complex,
  * Outputs:
      * a module (Macaulay2Doc), the torus equivariant cohomology
        of Z, as a module over polynomial ring

Description
===========

Compute the equivariant cohomology of a moment-angle complex over the
polynomial ring k[x_1, ..., x_m] where k is the coefficient ring of the
polynomial ring over which the underlying simplicial complex was created.

The equivariant cohomology of a moment-angle complex is free over the
polynomial ring when the simplicial complex is a full simplex.

+--------------------------------------------------------------------------+
|i1 : needsPackage "SimplicialComplexes"                                   |
|                                                                          |
|o1 = SimplicialComplexes                                                  |
|                                                                          |
|o1 : Package                                                              |
+--------------------------------------------------------------------------+
|i2 : R = QQ[x,y,z]                                                        |
|                                                                          |
|o2 = R                                                                    |
|                                                                          |
|o2 : PolynomialRing                                                       |
+--------------------------------------------------------------------------+
|i3 : K = simplicialComplex {x*y*z}                                        |
|                                                                          |
|o3 = simplicialComplex | xyz |                                            |
|                                                                          |
|o3 : SimplicialComplex                                                    |
+--------------------------------------------------------------------------+
|i4 : Z = momentAngleComplex K                                             |
|                                                                          |
|o4 = MomentAngleComplex{MACSimplicialComplex => simplicialComplex | xyz |}|
|                                                                          |
|o4 : MomentAngleComplex                                                   |
+--------------------------------------------------------------------------+
|i5 : M = equivariantCohomology Z                                          |
|                                                                          |
|               1                                                          |
|o5 = (QQ[x..z])                                                           |
|                                                                          |
|o5 : QQ[x..z]-module, free                                                |
+--------------------------------------------------------------------------+
|i6 : isFreeModule M                                                       |
|                                                                          |
|o6 = true                                                                 |
+--------------------------------------------------------------------------+

If there is any missing simplex, then the equivariant cohomology is not free.

+-----------------------------------------------------------------------------+
|i7 : needsPackage "SimplicialComplexes"                                      |
|                                                                             |
|o7 = SimplicialComplexes                                                     |
|                                                                             |
|o7 : Package                                                                 |
+-----------------------------------------------------------------------------+
|i8 : R = QQ[x,y,z]                                                           |
|                                                                             |
|o8 = R                                                                       |
|                                                                             |
|o8 : PolynomialRing                                                          |
+-----------------------------------------------------------------------------+
|i9 : K = simplicialComplex {x*y, y*z, x*z}                                   |
|                                                                             |
|o9 = simplicialComplex | yz xz xy |                                          |
|                                                                             |
|o9 : SimplicialComplex                                                       |
+-----------------------------------------------------------------------------+
|i10 : Z = momentAngleComplex K                                               |
|                                                                             |
|o10 = MomentAngleComplex{MACSimplicialComplex => simplicialComplex | yz xz xy|
|                                                                             |
|o10 : MomentAngleComplex                                                     |
|-----------------------------------------------------------------------------|
||}                                                                           |
+-----------------------------------------------------------------------------+
|i11 : M = equivariantCohomology Z                                            |
|                                                                             |
|o11 = cokernel | xyz |                                                       |
|                                                                             |
|                                             1                               |
|o11 : QQ[x..z]-module, quotient of (QQ[x..z])                                |
+-----------------------------------------------------------------------------+
|i12 : isFreeModule M                                                         |
|                                                                             |
|o12 = false                                                                  |
+-----------------------------------------------------------------------------+

Ways to use equivariantCohomology:
==================================

  * "equivariantCohomology(MomentAngleComplex)"

For the programmer
==================

The object equivariantCohomology, is a
method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:608:0.

eulerMAC -- compute the Euler characteristic of a moment-angle complex
**********************************************************************

  * Usage:
        eulerMAC(Z)
  * Inputs:
      * Z, a moment-angle complex,
  * Outputs:
      * an integer (Macaulay2Doc), the Euler characteristic of the
        moment-angle complex

Description
===========

This method computes the Euler characterisitc of moment-angle complexes.

The Euler characteristic of a moment-angle complex is $0$ if the underlying
simplicial complex is not a full simplex.

+-----------------------------------------------------------------------------+
|i1 : needsPackage "SimplicialComplexes"                                      |
|                                                                             |
|o1 = SimplicialComplexes                                                     |
|                                                                             |
|o1 : Package                                                                 |
+-----------------------------------------------------------------------------+
|i2 : R = QQ[a..d]                                                            |
|                                                                             |
|o2 = R                                                                       |
|                                                                             |
|o2 : PolynomialRing                                                          |
+-----------------------------------------------------------------------------+
|i3 : K0 = simplicialComplex {a*b, b*c, c*d, d*a}                             |
|                                                                             |
|o3 = simplicialComplex | cd ad bc ab |                                       |
|                                                                             |
|o3 : SimplicialComplex                                                       |
+-----------------------------------------------------------------------------+
|i4 : Z0 = momentAngleComplex K0                                              |
|                                                                             |
|o4 = MomentAngleComplex{MACSimplicialComplex => simplicialComplex | cd ad bc |
|                                                                             |
|o4 : MomentAngleComplex                                                      |
|-----------------------------------------------------------------------------|
|ab |}                                                                        |
+-----------------------------------------------------------------------------+
|i5 : eulerMAC Z0                                                             |
|                                                                             |
|o5 = 0                                                                       |
+-----------------------------------------------------------------------------+
|i6 : K1 = simplicialComplex {a*b*c*d}                                        |
|                                                                             |
|o6 = simplicialComplex | abcd |                                              |
|                                                                             |
|o6 : SimplicialComplex                                                       |
+-----------------------------------------------------------------------------+
|i7 : Z1 = momentAngleComplex K1                                              |
|                                                                             |
|o7 = MomentAngleComplex{MACSimplicialComplex => simplicialComplex | abcd |}  |
|                                                                             |
|o7 : MomentAngleComplex                                                      |
+-----------------------------------------------------------------------------+
|i8 : eulerMAC Z1                                                             |
|                                                                             |
|o8 = 1                                                                       |
+-----------------------------------------------------------------------------+

Ways to use eulerMAC:
=====================

  * "eulerMAC(MomentAngleComplex)"

For the programmer
==================

The object eulerMAC, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:814:0.

hessenbergVariety -- Hessenberg variety asscoiated to the n-permutahedron
*************************************************************************

  * Usage:
        hessenbergVariety(n)
  * Inputs:
      * n, an integer (Macaulay2Doc),
  * Outputs:
      * a small cover,

Description
===========

Hessenberg variety asscoiated to the n-permutahedron, as small cover.

Ways to use hessenbergVariety:
==============================

  * "hessenbergVariety(ZZ)"

For the programmer
==================

The object hessenbergVariety, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:871:0.

isValidChar -- whether a matrix is characteristic for a simplicial complex
**************************************************************************

  * Usage:
        isValidChar(K,lambda)
  * Inputs:
      * K, an abstract simplicial complex (SimplicialComplexes),
      * lambda, a matrix (Macaulay2Doc),
  * Outputs:
      * a Boolean value (Macaulay2Doc),

Description
===========

Checks whether lambda is characteristic for K.

For the programmer
==================

The object isValidChar, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:479:0.

MomentAngleComplex -- the class of all moment-angle complexes
*************************************************************

Description
===========

Given a simplicial complex $K$ on $m$ vertices, the moment-angle complex
$\mathcal{Z}_K$ is a cellular complex constructed as a union of certain
products of disks and circles: $$\mathcal{Z_K} = \bigcup_{\sigma \in K} \left(
(D^2)^\sigma \times (S^1)^{[m] \setminus \sigma} \right).$$ These spaces admit
a natural action of the torus $T^m = (S^1)^m$. Non-singular toric varieties
(not necessarily complete) are homotopy equivalent to partial quotients of
moment-angle complexes by freely acting subtori of $T^m$. Thus, moment-angle
complexes are an important class of spaces studied in Toric Topology. Their
topological properties can be determined from the combinatorics of the
underlying simplicial complex.  This package implements methods to determine
some of these properties. A moment-angle complex is a special case of
polyhedral products.

See also
========

  * QuasiToricManifold -- the class of all
    quasitoric manifolds
  * SmallCover -- the class of all small covers

Functions and methods returning a moment-angle complex:
=======================================================

  * momentAngleComplex -- create a moment-angle
    complex

Methods that use a moment-angle complex:
========================================

  * "bettiMAC(MomentAngleComplex)" -- see bettiMAC, -- compute
    the Betti numbers of a moment-angle complex
  * "bettiMAC(ZZ,MomentAngleComplex)" -- see bettiMAC, --
    compute the Betti numbers of a moment-angle complex
  * "equivariantCohomology(MomentAngleComplex)" -- see
    equivariantCohomology, -- compute the equivariant
    cohomology of a moment-angle complex
  * "eulerMAC(MomentAngleComplex)" -- see eulerMAC, -- compute
    the Euler characteristic of a moment-angle complex

For the programmer
==================

The object MomentAngleComplex, is a type (Macaulay2Doc),
with ancestor classes HashTable (Macaulay2Doc),
< Thing (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:460:0.

momentAngleComplex -- create a moment-angle complex
***************************************************

  * Usage:
        momentAngleComplex(K)
  * Inputs:
      * K, an abstract simplicial complex (SimplicialComplexes),
  * Outputs:
      * a moment-angle complex,

Description
===========

Create a moment-angle complex with simplicial complex K.

This example creates a moment-angle complex over the simplicial complex
consisting of two disjoint vertices.

+--------------------------------------------------------------------------+
|i1 : needsPackage "SimplicialComplexes"                                   |
|                                                                          |
|o1 = SimplicialComplexes                                                  |
|                                                                          |
|o1 : Package                                                              |
+--------------------------------------------------------------------------+
|i2 : R = QQ[x,y]                                                          |
|                                                                          |
|o2 = R                                                                    |
|                                                                          |
|o2 : PolynomialRing                                                       |
+--------------------------------------------------------------------------+
|i3 : K = simplicialComplex {x, y}                                         |
|                                                                          |
|o3 = simplicialComplex | y x |                                            |
|                                                                          |
|o3 : SimplicialComplex                                                    |
+--------------------------------------------------------------------------+
|i4 : Z = momentAngleComplex K                                             |
|                                                                          |
|o4 = MomentAngleComplex{MACSimplicialComplex => simplicialComplex | y x |}|
|                                                                          |
|o4 : MomentAngleComplex                                                   |
+--------------------------------------------------------------------------+

For the programmer
==================

The object momentAngleComplex, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:566:0.

QTMCharacteristicMatrix
***********************

For the programmer
==================

The object QTMCharacteristicMatrix (missing documentation) is a symbol (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in currentString:1:391.

QTMDimension
************

For the programmer
==================

The object QTMDimension (missing documentation) is a symbol (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in currentString:1:391.

QTMSimplicialComplex
********************

For the programmer
==================

The object QTMSimplicialComplex (missing documentation) is a symbol (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in currentString:1:391.

QuasiToricManifold -- the class of all quasitoric manifolds
***********************************************************

Description
===========

A quasitoric manifold is represented by a simplicial complex K and matrix which
is characteristic for K.

See also
========

  * SmallCover -- the class of all small covers

Functions and methods returning a quasitoric manifold:
======================================================

  * complexProjectiveSpace -- complex projective
    space of dimension n
  * "complexProjectiveSpace(ZZ)" -- see complexProjectiveSpace,
    -- complex projective space of dimension n
  * quasiToricManifold -- create a quasitoric
    manifold

Methods that use a quasitoric manifold:
=======================================

  * "bettiQTM(QuasiToricManifold)" -- see bettiQTM, -- compute
    the Betti numbers of a quasitoric manifold
  * "bettiQTM(ZZ,QuasiToricManifold)" -- see bettiQTM, --
    compute the Betti numbers of a quasitoric manifold
  * "chern(QuasiToricManifold)" -- see chern, -- compute the Chern
    classes of a quasitoric manifold
  * "cohomologyRing(QuasiToricManifold)" -- see cohomologyRing,
    -- compute the cohomology ring of a small cover or
    quasitoric manifold

For the programmer
==================

The object QuasiToricManifold, is a type (Macaulay2Doc),
with ancestor classes HashTable (Macaulay2Doc),
< Thing (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:434:0.

quasiToricManifold -- create a quasitoric manifold
**************************************************

  * Usage:
        quasiToricManifold(K,lambda)
  * Inputs:
      * K, an abstract simplicial complex (SimplicialComplexes),
      * lambda, a matrix (Macaulay2Doc),
  * Outputs:
      * a quasitoric manifold,

Description
===========

Create a quasitoric manifold over K with characteristic matrix lambda.  If
lambda is not characteristic for K, an error is returned.

The following example creates the 2-dimensional complex projective space as a
quasitoric manifold.

+-----------------------------------------------------------------------------+
|i1 : needsPackage "SimplicialComplexes"                                      |
|                                                                             |
|o1 = SimplicialComplexes                                                     |
|                                                                             |
|o1 : Package                                                                 |
+-----------------------------------------------------------------------------+
|i2 : R = QQ[a..c]                                                            |
|                                                                             |
|o2 = R                                                                       |
|                                                                             |
|o2 : PolynomialRing                                                          |
+-----------------------------------------------------------------------------+
|i3 : K = simplicialComplex {a*b, b*c, c*a}                                   |
|                                                                             |
|o3 = simplicialComplex | bc ac ab |                                          |
|                                                                             |
|o3 : SimplicialComplex                                                       |
+-----------------------------------------------------------------------------+
|i4 : lambda = matrix{{1, 0, -1}, {0, 1, -1}}                                 |
|                                                                             |
|o4 = | 1 0 -1 |                                                              |
|     | 0 1 -1 |                                                              |
|                                                                             |
|              2       3                                                      |
|o4 : Matrix ZZ  <-- ZZ                                                       |
+-----------------------------------------------------------------------------+
|i5 : X = quasiToricManifold(K, lambda)                                       |
|                                                                             |
|o5 = QuasiToricManifold{QTMCharacteristicMatrix => | 1 0 -1 |                |
|                                                   | 0 1 -1 |                |
|                        QTMDimension => 4                                    |
|                        QTMSimplicialComplex => simplicialComplex | bc ac ab |
|                                                                             |
|o5 : QuasiToricManifold                                                      |
|-----------------------------------------------------------------------------|
| }                                                                           |
|                                                                             |
|                                                                             |
||                                                                            |
+-----------------------------------------------------------------------------+

For the programmer
==================

The object quasiToricManifold, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:540:0.

realProjectiveSpace -- real projective space of dimension n
***********************************************************

  * Usage:
        realProjectiveSpace(n)
  * Inputs:
      * n, an integer (Macaulay2Doc),
  * Outputs:
      * a small cover,

Description
===========

Real projective space of dimension n, as a small cover.

See also
========

  * complexProjectiveSpace -- complex projective
    space of dimension n

Ways to use realProjectiveSpace:
================================

  * "realProjectiveSpace(ZZ)"

For the programmer
==================

The object realProjectiveSpace, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:833:0.

SmallCover -- the class of all small covers
*******************************************

Description
===========

A small cover is represented by a simplicial complex K and matrix which is
characteristic for K.

See also
========

  * QuasiToricManifold -- the class of all
    quasitoric manifolds

Functions and methods returning a small cover:
==============================================

  * hessenbergVariety -- Hessenberg variety
    asscoiated to the n-permutahedron
  * "hessenbergVariety(ZZ)" -- see hessenbergVariety,
    -- Hessenberg variety asscoiated to the n-permutahedron
  * realProjectiveSpace -- real projective space of
    dimension n
  * "realProjectiveSpace(ZZ)" -- see realProjectiveSpace,
    -- real projective space of dimension n
  * smallCover -- create a small cover

Methods that use a small cover:
===============================

  * "bettiSmallCover(SmallCover)" -- see bettiSmallCover,
    -- compute the Betti numbers of a small cover
  * "bettiSmallCover(ZZ,SmallCover)" -- see bettiSmallCover,
    -- compute the Betti numbers of a small cover
  * "cohomologyRing(SmallCover)" -- see cohomologyRing,
    -- compute the cohomology ring of a small cover or quasitoric manifold
  * "stiefelWhitney(SmallCover)" -- see stiefelWhitney,
    -- compute the Stiefel-Whitney classes of a small cover

For the programmer
==================

The object SmallCover, is a type (Macaulay2Doc),
with ancestor classes HashTable (Macaulay2Doc), < Thing (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:421:0.

smallCover -- create a small cover
**********************************

  * Usage:
        smallCover(K,lambda)
  * Inputs:
      * K, an abstract simplicial complex (SimplicialComplexes),
      * lambda, a matrix (Macaulay2Doc),
  * Outputs:
      * a small cover,

Description
===========

Create a small cover over K with characteristic matrix lambda.  If lambda is
not characteristic for K, then an error is returned.  The entries of lambda are
automatically converted to ZZ/2 entries, if they not already so.

The following example illustrates creating the 2-torus as a small cover over
the unit square.

+--------------------------------------------------------------------------+
|i1 : needsPackage "SimplicialComplexes"                                   |
|                                                                          |
|o1 = SimplicialComplexes                                                  |
|                                                                          |
|o1 : Package                                                              |
+--------------------------------------------------------------------------+
|i2 : R = QQ[a..d]                                                         |
|                                                                          |
|o2 = R                                                                    |
|                                                                          |
|o2 : PolynomialRing                                                       |
+--------------------------------------------------------------------------+
|i3 : K = simplicialComplex {a*b, b*c, c*d, d*a}                           |
|                                                                          |
|o3 = simplicialComplex | cd ad bc ab |                                    |
|                                                                          |
|o3 : SimplicialComplex                                                    |
+--------------------------------------------------------------------------+
|i4 : lambda = matrix{{1, 0, 1, 0}, {0, 1, 0, 1}}                          |
|                                                                          |
|o4 = | 1 0 1 0 |                                                          |
|     | 0 1 0 1 |                                                          |
|                                                                          |
|              2       4                                                   |
|o4 : Matrix ZZ  <-- ZZ                                                    |
+--------------------------------------------------------------------------+
|i5 : X = smallCover(K, lambda)                                            |
|                                                                          |
|o5 = SmallCover{QTMCharacteristicMatrix => | 1 0 1 0 |                   }|
|                                           | 0 1 0 1 |                    |
|                QTMDimension => 2                                         |
|                QTMSimplicialComplex => simplicialComplex | cd ad bc ab | |
|                                                                          |
|o5 : SmallCover                                                           |
+--------------------------------------------------------------------------+

For the programmer
==================

The object smallCover, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:510:0.

stiefelWhitney -- compute the Stiefel-Whitney classes of a small cover
**********************************************************************

  * Usage:
        stiefelWhitney(N)
  * Inputs:
      * N, a small cover,
  * Outputs:
      * a list (Macaulay2Doc),

Description
===========

Compute the Stiefel-Whitney classes of a small cover. The output is a list of
elements in the cohomology ring of N.

See also
========

  * cohomologyRing -- compute the cohomology ring of a
    small cover or quasitoric manifold

Ways to use stiefelWhitney:
===========================

  * "stiefelWhitney(SmallCover)"

For the programmer
==================

The object stiefelWhitney, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in ToricTopology.m2:651:0.