[sdpb] 52/233: More old code elimination; next: read affineConstants from file

Tobias Hansen thansen at moszumanska.debian.org
Thu Mar 9 04:06:17 UTC 2017


This is an automated email from the git hooks/post-receive script.

thansen pushed a commit to branch master
in repository sdpb.

commit 32584afadd109924f363cc2b3f8a6670193fcf2e
Author: David Simmons-Duffin <dsd at minerva.sns.ias.edu>
Date:   Sun Aug 3 23:32:03 2014 -0400

    More old code elimination; next: read affineConstants from file
---
 main.cpp | 192 ---------------------------------------------------------------
 1 file changed, 192 deletions(-)

diff --git a/main.cpp b/main.cpp
index 8022d79..e53734c 100644
--- a/main.cpp
+++ b/main.cpp
@@ -951,162 +951,6 @@ ostream& operator<<(ostream& os, const SDP& sdp) {
   return os;
 }
 
-class Polynomial {
-public:
-  Vector coeffs;
-
-  Polynomial(): coeffs(1, 0) {}
-
-  int degree() const {
-    return coeffs.size() - 1;
-  };
-
-  Real operator()(const Real &x) const {
-    int deg = degree();
-    Real y = coeffs[deg];
-    for (int i = deg - 1; i >= 0; i--) {
-      y *= x;
-      y += coeffs[i];
-    }
-    return y;
-  }
-
-  friend ostream& operator<<(ostream& os, const Polynomial& p);
-
-};
-
-ostream& operator<<(ostream& os, const Polynomial& p) {
-  for (int i = p.degree(); i >= 0; i--) {
-    os << p.coeffs[i];
-    if (i > 1)
-      os << "x^" << i << " + ";
-    else if (i == 1)
-      os << "x + ";
-  }
-  return os;
-}
-
-class PolynomialVectorMatrix {
-public:
-  int rows;
-  int cols;
-  vector<vector<Polynomial> > elements;
-  
-  const vector<Polynomial>& elt(const int r, const int c) const {
-    return elements[r+c*rows];
-  }
-
-  int degree() const {
-    int d = 0;
-    for (vector<vector<Polynomial> >::const_iterator e = elements.begin(); e != elements.end(); e++)
-      for (vector<Polynomial>::const_iterator p = e->begin(); p != e->end(); p++)
-        d = max(p->degree(), d);
-    return d;
-  }
-
-};
-
-Matrix basisAtSamplePoints(int basisSize, int numPoints, bool withSqrt,
-                           const vector<Polynomial> &basisPols,
-                           const Vector &samplePoints) {
-  Matrix m(basisSize, numPoints);
-  for (int k = 0; k < numPoints; k++) {
-    Real x = samplePoints[k];
-    Real sqrtX = sqrt(x);
-
-    for (int n = 0; n < basisSize; n++) {
-      if (withSqrt)
-        m.elt(n, k) = basisPols[n](x)*sqrtX;
-      else
-        m.elt(n, k) = basisPols[n](x);
-    }
-  }
-
-  return m;
-}
-
-// SDP bootstrapSDP(const Vector &objective,
-//                  const Vector &normalization,
-//                  const vector<PolynomialVectorMatrix> &positiveMatrixPols,
-//                  const vector<Polynomial> &bilinearBasisPols,
-//                  const Vector &polynomialSamplePoints) {
-//   SDP sdp;
-//   sdp.objective = objective;
-
-//   int numConstraints = 0;
-//   for (vector<PolynomialVectorMatrix>::const_iterator m = positiveMatrixPols.begin();
-//        m != positiveMatrixPols.end();
-//        m++) {
-//     int dimension = m->cols;
-//     int degree    = m->degree();
-
-//     sdp.dimensions.push_back(dimension);
-//     sdp.degrees.push_back(degree);
-//     numConstraints += (degree+1)*dimension*(dimension+1)/2;
-//   }
-
-//   // For the normalization constraint
-//   // sdp.dimensions.push_back(1);
-//   // sdp.degrees.push_back(0);
-//   // numConstraints += 1;
-
-//   sdp.polMatrixValues = Matrix(numConstraints, sdp.objective.size());
-//   // THIS IS A HACK! REMOVE IT!!!
-//   sdp.affineConstants = Vector(numConstraints, 1);
-//   // sdp.affineConstants = Vector(numConstraints, 0);
-
-//   // normalization constraint
-//   // sdp.affineConstants[numConstraints-1] = 1;
-
-//   int p = 0;
-//   for (vector<PolynomialVectorMatrix>::const_iterator m = positiveMatrixPols.begin();
-//        m != positiveMatrixPols.end();
-//        m++) {
-
-//     int degree = m->degree();
-//     int delta1 = degree/2;
-//     int delta2 = (degree-1)/2;
-
-//     vector<int> blocks;
-
-//     blocks.push_back(sdp.bilinearBases.size());
-//     sdp.bilinearBases.push_back(basisAtSamplePoints(delta1+1, degree+1, false,
-//                                                     bilinearBasisPols,
-//                                                     polynomialSamplePoints));
-
-//     if (delta2 >= 0) {
-//       blocks.push_back(sdp.bilinearBases.size());
-//       sdp.bilinearBases.push_back(basisAtSamplePoints(delta2+1, degree+1, true,
-//                                                       bilinearBasisPols,
-//                                                       polynomialSamplePoints));
-//     }
-
-//     sdp.blocks.push_back(blocks);
-
-//     for (int s = 0; s < m->cols; s++) {
-//       for (int r = 0; r <= s; r++) {
-//         for (int k = 0; k <= degree; k++, p++) {
-//           const Real xk = polynomialSamplePoints[k];
-//           for (unsigned int n = 0; n < sdp.objective.size(); n++)
-//             sdp.polMatrixValues.elt(p, n) = -m->elt(r,s)[n](xk);
-//         }
-//       }
-//     }
-//   }
-//   // assert(p == numConstraints-1);
-//   assert(p == numConstraints);
-
-//   // normalization constraint
-//   // for (unsigned int n = 0; n < sdp.objective.size(); n++)
-//   //   sdp.polMatrixValues.elt(p, n) = normalization[n];
-//   // sdp.blocks.push_back(vector<int>());
-
-//   //sdp.rescale();
-//   // sdp.addSlack();
-//   sdp.initializeConstraintIndices();
-//   return sdp;
-// }
-
 template <class T>
 vector<T> parseMany(const char *name, T(*parse)(XMLElement *), XMLElement *elt) {
   XMLElement *e;
@@ -1229,35 +1073,6 @@ SDP parseBootstrapSDP2(XMLElement *sdpXml) {
                                  sdpXml->FirstChildElement("sampledPositiveMatrices")));
 }
 
-Polynomial parsePolynomial(XMLElement *polXml) {
-  Polynomial p;
-  p.coeffs = parseMany("coeff", parseReal, polXml);
-  return p;
-}
-
-vector<Polynomial> parsePolynomialVector(XMLElement *polVecXml) {
-  return parseMany("polynomial", parsePolynomial, polVecXml);
-}
-
-PolynomialVectorMatrix parsePolynomialVectorMatrix(XMLElement *polVecMatrixXml) {
-  PolynomialVectorMatrix m;
-  m.rows = parseInt(polVecMatrixXml->FirstChildElement("rows"));
-  m.cols = parseInt(polVecMatrixXml->FirstChildElement("cols"));
-  m.elements = parseMany("polynomialVector", parsePolynomialVector,
-                         polVecMatrixXml->FirstChildElement("elements"));
-  return m;
-}
-
-// SDP parseBootstrapSDP(XMLElement *sdpXml) {
-//   return bootstrapSDP(parseVector(sdpXml->FirstChildElement("objective")->FirstChildElement("vector")),
-//                       parseVector(sdpXml->FirstChildElement("normalization")->FirstChildElement("vector")),
-//                       parseMany("polynomialVectorMatrix",
-//                                 parsePolynomialVectorMatrix,
-//                                 sdpXml->FirstChildElement("positiveMatrixPols")),
-//                       parsePolynomialVector(sdpXml->FirstChildElement("bilinearBasisPols")->FirstChildElement("polynomialVector")),
-//                       parseVector(sdpXml->FirstChildElement("polynomialSamplePoints")->FirstChildElement("vector")));
-// }
-
 SDP readBootstrapSDP(const path sdpFile) {
   XMLDocument doc;
   doc.LoadFile(sdpFile.c_str());
@@ -1494,13 +1309,6 @@ void computeBilinearPairings(const BlockDiagonalMatrix &A,
     tensorMatrixCongruenceTranspose(A.blocks[b], bilinearBases[b], workspace[b], result.blocks[b]);
 }
            
-// result[i] = u[i] * v[i]
-//                
-void componentProduct(const Vector &u, const Vector &v, Vector &result) {
-  for (unsigned int i = 0; i < u.size(); i++)
-    result[i] = u[i] * v[i];
-}
-
 // result = V D V^T, where D=diag(d) is a diagonal matrix
 // Inputs:
 // - d        : pointer to beginning of a length-V.cols vector

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/sdpb.git



More information about the debian-science-commits mailing list