The problem of computing the vertices of the convex hull of a given input set S = {v(i) is an element of R-m : i = 1,..., n} is a classic and fundamental problem, studied in the context of computational geometry, linear and convex programming, machine learning and more. In this article we present All Vertex Triangle Algorithm (AVTA), a robust and efficient algorithm for this problem. On the one hand, without any assumptions, AVTA computes approximation to the subset (S) over bar of all K vertices of the convex hull of S so that the convex hull of the approximate subset of vertices is as close to conv(S) as desired. On the other hand, assuming a known lower bound gamma on the ratio Gamma(*)/ R, where Gamma(*) the minimum of the distances from each vertex to the convex hull of the remaining vertices and R the diameter of S, AVTA can recover all of S. Furthermore, assuming that instead of S the input is an epsilon-perturbation of S, (S) over bar (epsilon), where parallel to v(i) - v(i)(epsilon)parallel to <= epsilon R, AVTA can compute approximation to conv(Se), to any prescribed accuracy. Also, given a lower bound to the ratio Sigma(*)/R, where Sigma(*) is the minimum of the distances from each vertex to the convex hull of the remaining point of S, AVTA can recover all of (S) over bar (epsilon). We show Sigma(*) >= rho(*) Gamma(*)/ R, where rho(*) is the minimum distance between distinct pair of points in S and prove the following main results: 1) Given any t is an element of (0, 1), AVTA computes a subset (S) over bar (t) of (S) over bar of cardinality K-(t) in O(nK((t))(m + t(-2))) operations so that for any p is an element of conv(S) its Euclidean distance to conv((S) over bar (t)) is at most t R. (2) Given gamma <= gamma* = Gamma(*)/ R, AVTA computes ($S) over bar in O(nK(m +gamma(-2))) operations. (3) If K is known, the complexity of AVTA is O(nK(m + gamma(-2)(*)) log(gamma(-1)(*))). Assuming instead of S, its epsilon-perturbation, S-epsilon is given, we prove i) Given any t is an element of (0, 1), AVTA computes a subset (S) over bar (t)(epsilon) subset of (S) over bar (epsilon) of cardinality K-epsilon((t)) in O(nK(epsilon)((t)) (m + t(-2))) operations so that for any p is an element of conv(S) its distance to conv((S) over bar (t)(epsilon)) is at most (t + epsilon) R. (ii) Given sigma is an element of [4 epsilon, sigma(*) = Gamma(*)/ R], AVTA computes (S) over bar (epsilon) in O(nK epsilon(epsilon)(m + sigma(-2))) operations, where K <= K-epsilon <= n. (iii) If gamma <= gamma* = Gamma*/R is known satisfying 4 epsilon <= gamma rho(*)/ R, AV T A computes (S) over bar (epsilon) in O(nK(epsilon)(m + (gamma rho(*))(-2))) operations. (iv) Given sigma is an element of [4 epsilon, sigma*], if K is known, AVTA computes (S) over bar (epsilon) in O(nK(m + sigma(-2)(*)) log(sigma(-1)(*))) operations. We also consider the application of AVTAin the recovery of vertices through the projection of S or Se under a Johnson-Lindenstrauss randomized linear projection L : R-m -> R-m'. Denoting U = L(S) and U-epsilon = L(S-epsilon), by relating the robustness parameters of conv(U) and conv(U-epsilon) to those of conv(S) and conv(S-epsilon), we derive analogous complexity bounds for probabilistic computation of the vertex set of conv(U) or those of conv(U-epsilon), or an approximation to them. Finally, we apply AVTA to design new practical algorithms for two popular machine learning problems: topic modeling and non-negative matrix factorization. For topic models, our new algorithm leads to significantly better reconstruction of the topicword matrix than state of the art approaches of Arora et al. (International conference on machine learning, pp 280-288, 2013) and Bansal et al. (Advances in neural information processing systems, pp 1997-2005, 2014). Additionally, we provide a robust analysis of AVTA and empirically demonstrate that it can handle larger amounts of noise than existing methods. For non-negative matrix factorization we show that AVTA is competitive with existing methods that are specialized for this task in Arora et al. (Proceedings of the fortyfourth annual ACM symposium on theory of computing, ACM, pp 145-162, 2012a). We also contrast AVTA with Blum et al. (Proceedings of the twenty-seventh annual ACM-SIAM symposium on discrete algorithms, Society for Industrial and Applied Mathematics, pp 548-557, 2016) Greedy Clustering coreset algorithm for computing approximation to the set of vertices and argue that not only there are regimes where AVTA outperforms that algorithm but it can also be used as a pre-processing step to their algorithm. Thus the two algorithms in fact complement each other.