Added extra functionality to Point class( an iterator ) and PersistenceDiagram( dimension property and __len__ func ).
persistence-diagram.h:
Added a new read-only dimension member and member function to access it.
With a new constructor that that takes in an int type to initialize dimension.
persistence-diagram.cpp:
Added new bp::init constructor. Takes in an integer type to initialize the dimension. Exposed the dimension property. Exposed the size property via a __len__ method.
__init__.py:
Added an iterator for Point objects. This iterates over the coords and then the data( if present ).
#ifndef __LINALG_H__
#define __LINALG_H__
#include <vector>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/lu.hpp>
#include <boost/numeric/ublas/io.hpp>
template<class ValueType_>
class LinearAlgebra
{
public:
typedef ValueType_ ValueType;
typedef boost::numeric::ublas::matrix<ValueType> MatrixType;
typedef boost::numeric::ublas::vector<ValueType> VectorType;
/* Currently don't need any of this */
static ValueType determinant(const MatrixType& a);
static void solve(const MatrixType& a, const VectorType& b, VectorType& x);
private:
template<class TriangularType_>
static ValueType determinant(const boost::numeric::ublas::triangular_adaptor<MatrixType, TriangularType_>& t);
};
#include "linalg.hpp"
#endif