Algorithm for the intersection of a vector subspace with a cone of non-negative vectors Hi,
I would like to know whether there is some more effective way of how to compute an intersection of a vector subspace of $\mathbb{R}^{n}$ with a cone of vectors with non-negative entries than the following one:
Let $W$ be a subspace of $\mathbb{R}^{n}$ and $(e_1,\dots,e_n)$ be the standard basis of $\mathbb{R}^{n}$. Find all $F\subseteq\{1,\dots,n\}$ such that $W_{F}:=W\cap \left\langle e_{i}|i\in F\right\rangle$ is 1-dimensional and intersects non-trivially the cone of vectors with non-negative entries (let $u_{F}$ be such non-trivial vector). Then our desired set is generated (as a cone) by all such $u_{F}$ 's for appropriate $F$ 's.
Thanks.
 A: This is essentially the vertex enumeration problem in convex geometry. Let $A$ be an $n \times m$ matrix whose columns form a basis the vector space $W$. Then the vectors you're looking for are exactly the products $Av$, where $v \in \mathbb R^m$ generates a ray of the polyhedron defined by $Ay \geq 0$. Thus, up to a linear map, this is the problem of converting from an H-representation to a V-representation of the polyhedron. By duality for convex polyhedra, this is the same as enumerating the defining hyperplanes given the vertex set.
I'm not an expert in the algorithms for this problem, but there seems to be a good discussion of the complexity of some algorithms at https://people.inf.ethz.ch/fukudak/polyfaq/node18.html and some further information at other pages on that site.
A: Projection Algorithms. See 
H. H. Bauschke and J. M. Borwein, On projection algorithms for solving convex feasibility problems, SIAM Review, 38
(1996), pp. 367–426.
EDIT: From Drik's comments, it is easy make the method iterative so that at each iteration it is included in the orthogonal set the previously obtained vector. At the end you get an orthogonal basis yet in the intersection.
EDIT2: For a more appealing and engineering-like explanation about the projection algorithm, see Theorodiris's talk slides: ewh.ieee.org/sb/tunisia/enis/dl/Theodoridis_AdaptiveKernel_talk.pdf
A: The algorithm you describe is essential best possible complexity-wise as this is a hard problem.
You may wish to try and use 4ti2 (www.4ti2.de) or Polymake (www.polymake.org/)
