This function returns the indices of the diagonal elements of a quadratic matrix.
See also
Other matrix helpers:
check_correlation_matrix()
,
check_covariance_matrix()
,
check_transition_probability_matrix()
,
cov_to_chol()
,
diff_cov()
,
insert_matrix_column()
,
matrix_indices()
,
sample_correlation_matrix()
,
sample_covariance_matrix()
,
sample_transition_probability_matrix()
,
stationary_distribution()
Examples
# indices of diagonal elements
n <- 3
matrix(1:n^2, n, n)
#> [,1] [,2] [,3]
#> [1,] 1 4 7
#> [2,] 2 5 8
#> [3,] 3 6 9
matrix_diagonal_indices(n)
#> [1] 1 5 9
# indices of diagonal elements of lower-triangular matrix
L <- matrix(0, n, n)
L[lower.tri(L, diag=TRUE)] <- 1:((n * (n + 1)) / 2)
L
#> [,1] [,2] [,3]
#> [1,] 1 0 0
#> [2,] 2 4 0
#> [3,] 3 5 6
matrix_diagonal_indices(n, triangular = "lower")
#> [1] 1 4 6
# indices of diagonal elements of upper-triangular matrix
U <- matrix(0, n, n)
U[upper.tri(U, diag=TRUE)] <- 1:((n * (n + 1)) / 2)
U
#> [,1] [,2] [,3]
#> [1,] 1 2 4
#> [2,] 0 3 5
#> [3,] 0 0 6
matrix_diagonal_indices(n, triangular = "upper")
#> [1] 1 3 6