#include <float.h>
#include "CmplxSCHUR.h"
#include "fCmplxSCHUR.h"
#include "lo-ieee.h"
#include "lo-mappers.h"
#include "oct-norm.h"
#include "defun-dld.h"
#include "error.h"
#include "gripes.h"
#include "utils.h"
#include "xnorm.h"
Go to the source code of this file.
Functions | |
DEFUN_DLD (sqrtm, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Loadable Function} {@var{s} =} sqrtm (@var{A})\n\ @deftypefnx {Loadable Function} {[@var{s}, @var{error_estimate}] =} sqrtm (@var{A})\n\ Compute the matrix square root of the square matrix @var{A}.\n\ \n\ Ref: N.J. Higham. @cite{A New sqrtm for @sc{matlab}}. Numerical\n\ Analysis Report No. 336, Manchester @nospell{Centre} for Computational\n\ Mathematics, Manchester, England, January 1999.\n\ @seealso{expm, logm}\n\ @end deftypefn") | |
template<class Matrix , class ComplexMatrix , class ComplexSCHUR > | |
static octave_value | do_sqrtm (const octave_value &arg) |
template<class Matrix > | |
static void | sqrtm_utri_inplace (Matrix &T) |
DEFUN_DLD | ( | sqrtm | , | |
args | , | |||
nargout | ||||
) |
Definition at line 202 of file sqrtm.cc.
References arg(), octave_value::columns(), error_state, gripe_square_matrix_required(), octave_value::is_diag_matrix(), octave_value::is_numeric_type(), octave_value::is_single_type(), octave_value::ndims(), print_usage(), octave_value_list::resize(), octave_value::rows(), and xfrobnorm().
static octave_value do_sqrtm | ( | const octave_value & | arg | ) | [static] |
Definition at line 93 of file sqrtm.cc.
References Matrix::any_element_is_negative(), blas_conj_trans, blas_no_trans, Matrix::diag(), MatrixType::Diagonal, imag(), octave_value::is_complex_type(), MatrixType::is_unknown(), MatrixType::Lower, octave_value::matrix_type(), real, Array< T >::rows(), ComplexSCHUR::schur_matrix(), sqrtm_utri_inplace(), ComplexMatrix::transpose(), Matrix::transpose(), MatrixType::type(), ComplexSCHUR::unitary_matrix(), MatrixType::Upper, x, xgemm(), and xnorm().
static void sqrtm_utri_inplace | ( | Matrix & | T | ) | [static] |
Definition at line 44 of file sqrtm.cc.
References Array< T >::fortran_vec(), Array< T >::rows(), singular(), and warning_with_id().
Referenced by do_sqrtm().