# polarDegrees -- Computes the polar degrees of a projective toric variety

## Synopsis

• Usage:
polarDegrees(A)
• Inputs:
• A, , a full rank integer matrix with the vector (1,1,...,1) in its row space defining a projective toric variety XA
• Optional inputs:
• ForceAmat => , default value false, if A defines a codimension two toric variety a faster method will be used by default, setting this to true forces the general purpose method
• Output => a list, default value List, this can be set to HashTable to return a HashTable with all computed values
• TextOutput => ... (missing documentation),
• Outputs:
• pd, a list, the polar degrees of the projective toric variety XA.

## Description

This function computes the polar degrees of the projective toric variety XA, we do not assume that XA is normal. The default output is a list of polar degrees; other values of interest computed by the program are also output. To suppress text output use the option Output =>HashTable.

 ```i1 : A=matrix{{0, 0, 0, 1, 1,5}, {7,0, 1, 3, 0, -2},{1,1, 1, 1, 1, 1}} o1 = | 0 0 0 1 1 5 | | 7 0 1 3 0 -2 | | 1 1 1 1 1 1 | 3 6 o1 : Matrix ZZ <--- ZZ``` ```i2 : polarDegrees(A) The toric variety has degree = 35 The dual variety has degree = 53, and codimension = 1 Chern-Mather Volumes: (V_0,..,V_(d-1)) = {-12, 20, 35} Polar Degrees: {53, 85, 35} ED Degree = 173 5 4 3 Chern-Mather Class: - 12h + 20h + 35h o2 = {53, 85, 35} o2 : List``` ```i3 : A=matrix{{3, 0, 0, 1, 1,2},{3,5,0,2,1,3},{0, 1, 2, 0, 2,0},{1, 1, 1, 1, 1,1}} o3 = | 3 0 0 1 1 2 | | 3 5 0 2 1 3 | | 0 1 2 0 2 0 | | 1 1 1 1 1 1 | 4 6 o3 : Matrix ZZ <--- ZZ``` `i4 : pdh=polarDegrees(A,Output=>HashTable);` ```i5 : pdh#"polar degrees" o5 = {45, 98, 81, 28} o5 : List``` ```i6 : pdh#"dual degree" o6 = 45 o6 : QQ``` ```i7 : pdh#"dual codim" o7 = 1``` ```i8 : pdh#"ED" o8 = 252 o8 : QQ``` ```i9 : pdh#"degree" o9 = 28 o9 : QQ```

## Ways to use polarDegrees :

• polarDegrees(Matrix)
• polarDegrees(Matrix,QuotientRing) (missing documentation)