Added code to expose the persistence_diagram class, the bottleneck_distance function and the point class to python.
Most of the commonly used methods for each class have been exported.
The constructor for point now requires that a data argument be provided along with x and y coord. This needs to be made optional.
The constructor for persistence_diagram could possibly be rewritten as well.
template<class ValueType_>typename LinearAlgebra<ValueType_>::ValueType LinearAlgebra<ValueType_>::determinant(const MatrixType& a){ using namespace boost::numeric::ublas; MatrixType m = a; lu_factorize(m); return determinant(triangular_adaptor<MatrixType, upper>(m));}template<class ValueType_>voidLinearAlgebra<ValueType_>::solve(const MatrixType& a, const VectorType& b, VectorType& x){ using namespace boost::numeric::ublas; MatrixType m = a; x = b; lu_factorize(m); //lu_substitute(m, x); inplace_solve(m,x,unit_lower_tag()); inplace_solve(m,x,upper_tag());}/* Private */template<class ValueType_>template<class TriangularType_>typename LinearAlgebra<ValueType_>::ValueType LinearAlgebra<ValueType_>::determinant(const boost::numeric::ublas::triangular_adaptor<MatrixType, TriangularType_>& t){ ValueType res = ValueType(1); for (typename MatrixType::size_type i = 0; i < t.size1(); ++i) res *= t(i,i); return res;}