Main Content

issymmetric

Determine if matrix is symmetric or skew-symmetric

Description

tf = issymmetric(A) returns logical 1 (true) if A is a symmetric matrix. Otherwise, it returns logical 0 (false).

example

tf = issymmetric(A,skewOption) specifies the type of the test. Specify skewOption as "skew" to determine if A is skew-symmetric.

example

Examples

collapse all

Create a 3-by-3 matrix.

A = [1 0 1i; 0 1 0;-1i 0 1]
A = 3×3 complex

   1.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 1.0000i
   0.0000 + 0.0000i   1.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 - 1.0000i   0.0000 + 0.0000i   1.0000 + 0.0000i

The matrix is Hermitian and has a real-valued diagonal.

Test if the matrix is symmetric.

tf = issymmetric(A)
tf = logical
   0

The matrix A is not symmetric because it is equal to its complex conjugate transpose, A', but not its nonconjugate transpose, A.'.

Change the element in A(3,1) to 1i.

A(3,1) = 1i;

Test if the modified matrix is symmetric.

tf = issymmetric(A)
tf = logical
   1

The matrix A is now symmetric because it is equal to its nonconjugate transpose, A.'.

Create a 4-by-4 matrix.

A = [0 1 -2 5; -1 0 3 -4; 2 -3 0 6; -5 4 -6 0]
A = 4×4

     0     1    -2     5
    -1     0     3    -4
     2    -3     0     6
    -5     4    -6     0

The matrix is real and has a diagonal of zeros.

Test if the matrix is skew-symmetric by specifying the test type as "skew".

tf = issymmetric(A,"skew")
tf = logical
   1

The matrix A is skew-symmetric because it is equal to the negation of its nonconjugate transpose, -A.'.

Input Arguments

collapse all

Input array. If A is not a square matrix, then issymmetric returns logical 0 (false).

Data Types: single | double | logical
Complex Number Support: Yes

Test type, specified as "nonskew" or "skew". Specify "skew" to test if A is skew-symmetric.

More About

collapse all

Symmetric Matrix

  • A square matrix, A, is symmetric if it is equal to its nonconjugate transpose, A = A.'.

    In terms of the matrix elements, this means that

    ai,j=aj,i.

  • Since real matrices are unaffected by complex conjugation, a real matrix that is symmetric is also Hermitian. For example, the matrix

    A=[100210101]

    is both symmetric and Hermitian.

Skew-Symmetric Matrix

  • A square matrix, A, is skew-symmetric if it is equal to the negation of its nonconjugate transpose, A = -A.'.

    In terms of the matrix elements, this means that

    ai,j=aj,i.

  • Since real matrices are unaffected by complex conjugation, a real matrix that is skew-symmetric is also skew-Hermitian. For example, the matrix

    A=[0110]

    is both skew-symmetric and skew-Hermitian.

Extended Capabilities

Version History

Introduced in R2014a