9#ifndef __MATRIX_OPERATIONS_H_INCLUDED__
10#define __MATRIX_OPERATIONS_H_INCLUDED__
13#include <boost/numeric/ublas/io.hpp>
14#include <boost/numeric/ublas/matrix_sparse.hpp>
15#include <boost/numeric/ublas/operation.hpp>
16#include <boost/numeric/ublas/vector.hpp>
24template <
typename matrix_type>
auto divide_terms_by_row_sum(matrix_type
const &A)
26 using namespace boost::numeric::ublas;
27 auto v = prod(scalar_vector<double>(A.size2(), 1.0), trans(A));
28 vector<double> w(v.size());
29 for (
unsigned int i = 0; i < v.size(); ++i)
35 compressed_matrix<double> S(w.size(), w.size(), 0.0);
36 assert(S.size2() == A.size1());
37 for (
unsigned int i = 0; i < v.size(); ++i)
41 matrix_type M(A.size1(), A.size2());
Simulation of coalescence-based models of molecular evolution.
Definition coalescence.hpp:21