HOPS
HOPS class reference
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
MHO_LinearAlgebraUtilities.hh File Reference
#include <cmath>
#include <complex>
#include <cstddef>
#include <functional>
#include <limits>
#include <sstream>
#include <string>
#include <vector>
#include "MHO_Message.hh"

Go to the source code of this file.

Classes

class  hops::MHO_linalg_matrix< XValueType >
 
class  hops::MHO_linalg_vector< XValueType >
 

Namespaces

 hops
 

Macros

#define MHO_CHECK_ARRAY_OVERRUN
 
#define MHO_LINALG_PRINT_ERROR
 

Typedefs

using hops::MHO_linalg_error_handler = std::function< void(MHO_linalg_error, const std::string &) >
 

Enumerations

enum class  hops::MHO_linalg_error {
  hops::Success = 0 , hops::DomainError , hops::Overflow , hops::Underflow ,
  hops::MismatchedDimension , hops::DivideByZero , hops::FailedToConverge , hops::ArrayOverrun ,
  hops::Unknown
}
 

Functions

MHO_linalg_error hops::get_last_error () noexcept
 
const std::string & hops::get_last_error_message () noexcept
 
template<typename XValueType >
MHO_linalg_matrix< XValueType > hops::MHO_linalg_diag_matrix (const MHO_linalg_vector< XValueType > &s)
 
template<typename XValueType = double>
MHO_linalg_matrix< XValueType > hops::MHO_linalg_matrix_multiply (const MHO_linalg_matrix< XValueType > &A, const MHO_linalg_matrix< XValueType > &B)
 
template<typename XValueType = double>
void hops::MHO_linalg_matrix_multiply (const MHO_linalg_matrix< XValueType > &A, const MHO_linalg_matrix< XValueType > &B, MHO_linalg_matrix< XValueType > &C)
 
template<typename XValueType = double>
MHO_linalg_matrix< XValueType > hops::MHO_linalg_matrix_multiply_with_transpose (bool transposeA, bool transposeB, const MHO_linalg_matrix< XValueType > &A, const MHO_linalg_matrix< XValueType > &B)
 
template<typename XValueType = double>
void hops::MHO_linalg_matrix_multiply_with_transpose (bool transposeA, bool transposeB, const MHO_linalg_matrix< XValueType > &A, const MHO_linalg_matrix< XValueType > &B, MHO_linalg_matrix< XValueType > &C)
 
template<typename XValueType = double>
void hops::MHO_linalg_matrix_print (const MHO_linalg_matrix< XValueType > &m)
 
template<typename XValueType = double>
void hops::MHO_linalg_matrix_svd (const MHO_linalg_matrix< XValueType > &A, MHO_linalg_matrix< XValueType > &U, MHO_linalg_vector< XValueType > &S, MHO_linalg_matrix< XValueType > &V)
 
template<typename XValueType = double>
void hops::MHO_linalg_matrix_svd_solve (const MHO_linalg_matrix< XValueType > &U, const MHO_linalg_vector< XValueType > &S, const MHO_linalg_matrix< XValueType > &V, const MHO_linalg_vector< XValueType > &b, MHO_linalg_vector< XValueType > &x)
 
template<typename XValueType = double>
void hops::MHO_linalg_matrix_transpose (const MHO_linalg_matrix< XValueType > &in, MHO_linalg_matrix< XValueType > &out)
 
template<typename XValueType = double>
void hops::MHO_linalg_matrix_transpose_vector_product (const MHO_linalg_matrix< XValueType > &m, const MHO_linalg_vector< XValueType > &in, MHO_linalg_vector< XValueType > &out)
 
template<typename XValueType = double>
void hops::MHO_linalg_matrix_vector_product (const MHO_linalg_matrix< XValueType > &m, const MHO_linalg_vector< XValueType > &in, MHO_linalg_vector< XValueType > &out)
 
template<typename XValueType >
MHO_linalg_matrix< XValueType > hops::MHO_linalg_transpose_matrix (const MHO_linalg_matrix< XValueType > &A)
 
template<typename XValueType = double>
void hops::MHO_linalg_vector_outer_product (const MHO_linalg_vector< XValueType > &a, const MHO_linalg_vector< XValueType > &b, MHO_linalg_matrix< XValueType > &p)
 
template<typename XValueType = double>
void hops::MHO_linalg_vector_print (const MHO_linalg_vector< XValueType > &m)
 
void hops::report_error (MHO_linalg_error code, const std::string &msg)
 
void hops::set_error_handler (MHO_linalg_error_handler handler)
 

Variables

thread_local MHO_linalg_error_handler hops::error_handler = nullptr
 
thread_local MHO_linalg_error hops::last_error = MHO_linalg_error::Success
 
thread_local std::string hops::last_error_msg
 

Macro Definition Documentation

◆ MHO_CHECK_ARRAY_OVERRUN

#define MHO_CHECK_ARRAY_OVERRUN

◆ MHO_LINALG_PRINT_ERROR

#define MHO_LINALG_PRINT_ERROR