Blaze 3.9
Matrix.h File Reference

Header file for all basic Matrix functionality. More...

#include <iomanip>
#include <iosfwd>
#include <utility>
#include <blaze/math/Aliases.h>
#include <blaze/math/Exception.h>
#include <blaze/math/expressions/Matrix.h>
#include <blaze/math/shims/Add.h>
#include <blaze/math/shims/Div.h>
#include <blaze/math/shims/Mult.h>
#include <blaze/math/shims/Sub.h>
#include <blaze/math/ReductionFlag.h>
#include <blaze/math/views/Band.h>
#include <blaze/math/views/Elements.h>
#include <blaze/util/EnableIf.h>

Go to the source code of this file.

Functions

Matrix functions
template<typename MT , bool SO>
bool blaze::isSymmetric (const Matrix< MT, SO > &m)
 Checks if the given matrix is symmetric. More...
 
template<typename MT , bool SO>
bool blaze::isHermitian (const Matrix< MT, SO > &m)
 Checks if the given matrix is Hermitian. More...
 
template<typename MT , bool SO>
bool blaze::isUniform (const Matrix< MT, SO > &m)
 Checks if the given matrix is a uniform matrix. More...
 
template<typename MT , bool SO>
bool blaze::isLower (const Matrix< MT, SO > &m)
 Checks if the given matrix is a lower triangular matrix. More...
 
template<typename MT , bool SO>
bool blaze::isUniLower (const Matrix< MT, SO > &m)
 Checks if the given matrix is a lower unitriangular matrix. More...
 
template<typename MT , bool SO>
bool blaze::isStrictlyLower (const Matrix< MT, SO > &m)
 Checks if the given matrix is a strictly lower triangular matrix. More...
 
template<typename MT , bool SO>
bool blaze::isUpper (const Matrix< MT, SO > &m)
 Checks if the given matrix is an upper triangular matrix. More...
 
template<typename MT , bool SO>
bool blaze::isUniUpper (const Matrix< MT, SO > &m)
 Checks if the given matrix is an upper unitriangular matrix. More...
 
template<typename MT , bool SO>
bool blaze::isStrictlyUpper (const Matrix< MT, SO > &m)
 Checks if the given matrix is a strictly upper triangular matrix. More...
 
template<typename MT , bool SO>
bool blaze::isDiagonal (const Matrix< MT, SO > &m)
 Checks if the give matrix is diagonal. More...
 
template<typename MT , bool SO>
bool blaze::isIdentity (const Matrix< MT, SO > &m)
 Checks if the give matrix is an identity matrix. More...
 
template<typename MT , bool SO>
decltype(auto) blaze::pow2 (const Matrix< MT, SO > &m)
 Computes the square for each single element of the matrix m. More...
 
template<typename MT , bool SO>
decltype(auto) blaze::pow3 (const Matrix< MT, SO > &m)
 Computes the cube for each single element of the matrix m. More...
 
template<typename MT , bool SO>
decltype(auto) blaze::pow4 (const Matrix< MT, SO > &m)
 Computes the quadruple for each single element of the matrix m. More...
 
template<typename MT1 , bool SO1, typename MT2 , bool SO2>
decltype(auto) blaze::schur (const Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs)
 Schur product of two matrices ( $ A=B \circ C $). More...
 
template<typename MT , bool SO>
auto blaze::trace (const Matrix< MT, SO > &m)
 Computes the trace of the given square matrix. More...
 
template<bool RF, typename MT >
decltype(auto) blaze::reverse (MT &&m)
 Reverse the rows or columns of a matrix. More...
 
Matrix operators
template<typename MT , bool SO>
std::ostream & blaze::operator<< (std::ostream &os, const Matrix< MT, SO > &m)
 Global output operator for dense and sparse matrices. More...
 

Detailed Description

Header file for all basic Matrix functionality.

Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved

This file is part of the Blaze library. You can redistribute it and/or modify it under the terms of the New (Revised) BSD License. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the names of the Blaze development group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.