matrix_analyze
    
    
    
      matrix_analyze,
      a MATLAB code which
      accepts a matrix and reports on whether it has various properties.
    
    
      Licensing:
    
    
      The information on this web page is distributed under the MIT license.
    
    
      Languages:
    
    
      matrix_analyze is available in
      a MATLAB version and
      an Octave version.
    
    
      Related Programs:
    
    
      
      matrix_analyze_test
    
    
      
      r8lib,
      a MATLAB code which
      contains many utility routines 
      using double precision real (r8) arithmetic.
    
    
      
      test_matrix,
      a MATLAB code which
      defines test matrices for which the condition number, determinant,
      eigenvalues, eigenvectors, inverse, null vectors, P*L*U factorization
      or linear system solution are known.  Examples include the 
      Fibonacci, Hilbert, Redheffer, Vandermonde, Wathen and Wilkinson 
      matrices.
    
    
      Source Code:
    
    
      
        - 
          i4_modp.m,
          returns the nonnegative remainder of integer division;
        
 
        - 
          r8mat_analyze.m,
          analyzes an R8MAT.
        
 
        - 
          
          r8mat_cholesky_factor.m,
          computes the Cholesky factor L*L' of a symmetric positive definite R8MAT;
        
 
        - 
          
          r8mat_identity.m,
          sets an R8MAT to the MxN identity matrix;
        
 
        - 
          r8mat_is_adjacency.m, 
          is TRUE if an R8MAT is an adjacency matrix.
        
 
        - 
          r8mat_is_anticirculant.m, 
          is TRUE if an R8MAT is an anticirculant matrix.
        
 
        - 
          r8mat_is_antipersymmetric.m, 
          is TRUE if an R8MAT is an antipersymmetric matrix.
        
 
        - 
          r8mat_is_antisymmetric.m, 
          is TRUE if an R8MAT is an antisymmetric matrix.
        
 
        - 
          r8mat_is_banded_lower.m, 
          is TRUE if an R8MAT is a lower banded matrix.
        
 
        - 
          r8mat_is_banded_upper.m, 
          is TRUE if an R8MAT is an upper banded matrix.
        
 
        - 
          r8mat_is_centrosymmetric.m, 
          is TRUE if an R8MAT is a centrosymmetric matrix.
        
 
        - 
          r8mat_is_circulant.m, 
          is TRUE if an R8MAT is a circulant matrix.
        
 
        - 
          r8mat_is_cyclic_tridiagonal.m, 
          is TRUE if an R8MAT is a cyclic tridiagonal matrix.
        
 
        - 
          r8mat_is_diag2.m, 
          returns the number of nonzero diagonals.
        
 
        - 
          
          r8mat_is_diagonally_dominant.m, 
          is TRUE if an R8MAT is diagonally dominant.
        
 
        - 
          
          r8mat_is_diagonally_dominant_column.m, 
          is TRUE if an R8MAT is column diagonally dominant.
        
 
        - 
          
          r8mat_is_diagonally_dominant_row.m, 
          is TRUE if an R8MAT is row diagonally dominant.
        
 
        - 
          r8mat_is_hankel.m, 
          is TRUE if an R8MAT is a Hankel matrix.
        
 
        - 
          
          r8mat_is_identity.m, 
          determines if a matrix is the identity matrix.
        
 
        - 
          r8mat_is_integer.m, 
          is TRUE if an R8MAT is an integer matrix.
        
 
        - 
          r8mat_is_irreducible.m, 
          is TRUE if an R8MAT is an irreducible matrix.
        
 
        - 
          r8mat_is_l.m, 
          is TRUE if an R8MAT is an L matrix.
        
 
        - 
          r8mat_is_m.m, 
          is TRUE if an R8MAT is an M matrix.
        
 
        - 
          r8mat_is_negative.m, 
          is TRUE if an R8MAT is a negative matrix.
        
 
        - 
          r8mat_is_normal.m, 
          is TRUE if an R8MAT is a normal matrix.
        
 
        - 
          
          r8mat_is_orthogonal.m, 
          is TRUE if an R8MAT is orthogonal.
        
 
        - 
          
          r8mat_is_orthogonal_column.m, 
          is TRUE if an R8MAT is column orthogonal.
        
 
        - 
          
          r8mat_is_orthogonal_row.m, 
          is TRUE if an R8MAT is row orthogonal.
        
 
        - 
          r8mat_is_permutation.m, 
          is TRUE if an R8MAT is a permutation matrix.
        
 
        - 
          r8mat_is_persymmetric.m, 
          is TRUE if an R8MAT is a persymmetric matrix.
        
 
        - 
          r8mat_is_positive.m, 
          is TRUE if an R8MAT is a positive matrix.
        
 
        - 
          r8mat_is_propa.m, 
          is TRUE if an R8MAT is a property A matrix.
        
 
        - 
          r8mat_is_ref.m, 
          is TRUE if an R8MAT is a row echelon form matrix.
        
 
        - 
          r8mat_is_scalar.m, 
          is TRUE if an R8MAT is a scalar matrix.
        
 
        - 
          r8mat_is_scalar_antidiagonal.m, 
          is TRUE if an R8MAT is a scalar antidiagonal matrix.
        
 
        - 
          r8mat_is_scalar_column.m, 
          is TRUE if an R8MAT is a scalar column matrix.
        
 
        - 
          r8mat_is_scalar_diagonal.m, 
          is TRUE if an R8MAT is a scalar diagonal matrix.
        
 
        - 
          r8mat_is_scalar_row.m, 
          is TRUE if an R8MAT is a scalar row matrix.
        
 
        - 
          r8mat_is_sparse.m, 
          returns the relative sparseness of a matrix.
        
 
        - 
          r8mat_is_spd.m, 
          is TRUE if an R8MAT is a symmetric positive definite matrix.
        
 
        - 
          
          r8mat_is_square.m, 
          determines if an R8MAT is square.
        
 
        - 
          r8mat_is_stochastic.m, 
          is TRUE if an R8MAT is a stochastic matrix.
        
 
        - 
          r8mat_is_sum.m, 
          is TRUE if an R8MAT has constant row or column sums.
        
 
        - 
          r8mat_is_sum_column.m, 
          is TRUE if an R8MAT has constant column sums.
        
 
        - 
          r8mat_is_sum_magic.m, 
          is TRUE if an R8MAT is a magic matrix.
        
 
        - 
          r8mat_is_sum_magic_weak.m, 
          is TRUE if an R8MAT is a weakly magic matrix.
        
 
        - 
          r8mat_is_sum_row.m, 
          is TRUE if an R8MAT has constant row sums.
        
 
        - 
          
          r8mat_is_symmetric.m, 
          determines if an R8MAT is symmetric.
        
 
        - 
          r8mat_is_toeplitz.m, 
          is TRUE if an R8MAT is a Toeplitz matrix.
        
 
        - 
          r8mat_is_tournament.m, 
          is TRUE if an R8MAT is a tournament matrix.
        
 
        - 
          
          r8mat_is_transition.m, 
          determines if a matrix is a transition matrix.
        
 
        - 
          r8mat_is_triangular.m, 
          is TRUE if an R8MAT is a triangular matrix.
        
 
        - 
          r8mat_is_triangular_lower.m, 
          is TRUE if an R8MAT is a lower triangular matrix.
        
 
        - 
          r8mat_is_triangular_upper.m, 
          is TRUE if an R8MAT is an upper triangular matrix.
        
 
        - 
          r8mat_is_unit_column.m, 
          is TRUE if an R8MAT has columns of unit norm.
        
 
        - 
          r8mat_is_unit_row.m, 
          is TRUE if an R8MAT has rows of unit norm.
        
 
        - 
          r8mat_is_zero_one.m, 
          is TRUE if an R8MAT is a zero-one matrix.
        
 
        - 
          r8mat_print.m,
          prints an R8MAT;
        
 
        - 
          r8mat_print_some.m,
          prints some of an R8MAT;
        
 
        - 
          r8vec_norm_l2.m,
          returns the L2 norm of an R8VEC.
        
 
      
    
    
    
      Last revised on 14 December 2020.