ublas_matrixutil.h.html |
mathcode2html
|
Source file: ublas_matrixutil.h
|
Converted: Tue Apr 17 2012 at 11:03:39
|
This documentation file will
not reflect any later changes in the source file.
|
$$\phantom{******** If you see this on the webpage then the
browser could not locate *********}$$
$$\phantom{******** jsMath/easy/load.js or the variable root
is set wrong in this file *********}$$
$$\newcommand{\vector}[1]{\left[\begin{array}{c} #1 \end{array}\right]}$$
$$\newenvironment{matrix}{\left[\begin{array}{cccccccccc}} {\end{array}\right]}$$
$$\newcommand{\A}{{\cal A}}$$
$$\newcommand{\W}{{\cal W}}$$
/* Copyright 2008-2011 Research Foundation State University of New York */
/* This file is part of QUB Express. */
/* QUB Express is free software; you can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation, either version 3 of the License, or */
/* (at your option) any later version. */
/* QUB Express is distributed in the hope that it will be useful, */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
/* GNU General Public License for more details. */
/* You should have received a copy of the GNU General Public License, */
/* named LICENSE.txt, in the QUB Express program directory. If not, see */
/* <http://www.gnu.org/licenses/>. */
/*
*/
#ifndef UBLAS_MATRIXUTIL_H
#define UBLAS_MATRIXUTIL_H
// This unit has eigen and svd math for boost::ublas matrices.
// They are wrappers around classic qub fortran-style functions in matrixutil.
#include <iostream>
#include "matrixutil.h"
QUBFAST_API void invm(matrix<double>& Q_in, matrix<double>& Q_out);
QUBFAST_API bool eigen_vals_vecs(matrix<double>& Q_in, double *rvalues, double *ivalues, matrix<double>& vectors_out, matrix<double>& vectors_inv, std::ostream& output);
QUBFAST_API void expm_eig(double *rvalues, matrix<double>& vectors, matrix<double>& vectors_inv, double t, matrix<double>& tmp_nxn_diag, matrix<double>& tmp_nxn, matrix<double>& Q_out);
QUBFAST_API void expm(matrix<double>& Q_in, double t, matrix<double>& Q_out);
QUBFAST_API bool sv_decomp(matrix<double>& A, matrix<double>& U, matrix<double>& W, matrix<double>& Vi);
QUBFAST_API bool sv_decomp(double** A, int Nr, int Nc, matrix<double>& U, matrix<double>& W, matrix<double>& Vi);
QUBFAST_API bool sv_invm(double** A, int n, double** Ai);
#endif