isTriangular isTriangular() and isDiagonal() Checking if Matrix is Triangular or Diagonal
Description
isTriangular(M) returns a logical indicating if M is a triangular matrix. Analogously, isDiagonal(M) is true iff M is a diagonal matrix.
Contrary to isSymmetric(), these two functions are generically from package Matrix, and hence also define methods for traditional (class "matrix") matrices.
By our definition, triangular, diagonal and symmetric matrices are all square, i.e. have the same number of rows and columns.
Usage
isDiagonal(object) isTriangular(object, upper = NA, ...)
Arguments
object | any R object, typically a matrix (traditional or Matrix package). |
upper | logical, one of |
... | potentially further arguments for other methods. |
Value
a (“scalar”) logical, TRUE or FALSE, never NA. For isTriangular(), if the result is TRUE, it may contain an attribute (see attributes "kind", either "L" or "U" indicating if it is a lower or upper triangular matrix.
See Also
isSymmetric; formal class (and subclasses) "triangularMatrix" and "diagonalMatrix".
Examples
isTriangular(Diagonal(4)) ## is TRUE: a diagonal matrix is also (both upper and lower) triangular (M <- Matrix(c(1,2,0,1), 2,2)) isTriangular(M) # TRUE (*and* of formal class "dtrMatrix") isTriangular(as(M, "dgeMatrix")) # still triangular, even if not "formally" isTriangular(crossprod(M)) # FALSE isDiagonal(matrix(c(2,0,0,1), 2,2)) # TRUE
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.