[mlpack-git] master: use builtin diagmat (6b68009)

gitdub at big.cc.gt.atl.ga.us gitdub at big.cc.gt.atl.ga.us
Mon Feb 2 15:16:47 EST 2015


Repository : https://github.com/mlpack/mlpack

On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/bb6e5c56aab07e6449d86021246b52a9e323f3a0...bd6cb33f8d8270b02a84e81e38727679bb6c319a

>---------------------------------------------------------------

commit 6b680094b736cf524c8575277e32ce09a794bd4d
Author: Stephen Tu <tu.stephenl at gmail.com>
Date:   Wed Jan 28 18:27:44 2015 -0800

    use builtin diagmat


>---------------------------------------------------------------

6b680094b736cf524c8575277e32ce09a794bd4d
 src/mlpack/tests/sdp_primal_dual_test.cpp | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

diff --git a/src/mlpack/tests/sdp_primal_dual_test.cpp b/src/mlpack/tests/sdp_primal_dual_test.cpp
index 8b0d77c..9e6cab5 100644
--- a/src/mlpack/tests/sdp_primal_dual_test.cpp
+++ b/src/mlpack/tests/sdp_primal_dual_test.cpp
@@ -149,19 +149,6 @@ ConstructLovaszThetaSDPFromGraph(const UndirectedGraph& g)
   return sdp;
 }
 
-// TODO(stephentu): does arma have a builtin way to do this?
-static inline arma::mat
-Diag(const arma::vec& diag)
-{
-  arma::mat ret;
-  ret.zeros(diag.n_elem, diag.n_elem);
-  for (size_t i = 0; i < diag.n_elem; i++)
-  {
-    ret(i, i) = diag(i);
-  }
-  return ret;
-}
-
 static inline SDP<arma::sp_mat>
 ConstructMaxCutSDPFromLaplacian(const std::string& laplacianFilename)
 {
@@ -236,7 +223,7 @@ static void SolveMaxCutFeasibleSDP(const SDP<arma::sp_mat>& sdp)
   // strictly feasible starting point
   X0.eye(sdp.N(), sdp.N());
   ysparse0 = -1.1 * arma::vec(arma::sum(arma::abs(sdp.C()), 0).t());
-  Z0 = -Diag(ysparse0) + sdp.C();
+  Z0 = -arma::diagmat(ysparse0) + sdp.C();
 
   PrimalDualSolver<SDP<arma::sp_mat>> solver(sdp, X0, ysparse0, ydense0, Z0);
 



More information about the mlpack-git mailing list