+++ /dev/null
-"""
-The Schur cone, as described in the "Critical angles..." papers by
-Seeger and Sossa.
-"""
-
-from sage.all import *
-
-def is_pointed(P,Q):
- newP = Cone([ list(p) for p in P ])
- newQ = Cone([ list(q) for q in Q ])
- return newP.intersection(-newQ).is_trivial()
-
-def ext_angles(P,Q):
- angles = []
- for p in P:
- for q in Q:
- p = vector(SR, p)
- q = vector(SR, q)
- p = p/p.norm()
- q = q/q.norm()
- angles.append(arccos(p.inner_product(q)))
-
- return angles
-
-def schur(n):
- r"""
- Return the Schur cone in ``n`` dimensions.
-
- INPUT:
-
- - ``n`` -- the ambient dimension of the Schur cone and its ambient space.
-
- OUTPUT:
-
- A rational closed convex Schur cone of dimension ``n``.
- """
-
- hs = []
- for i in range(1,n):
- h_i = [0]*n
- h_i[i-1] = QQ(1)
- h_i[i] = -QQ(1)
- hs.append(vector(QQ,n,h_i))
-
- return Cone(hs)