({{, (RefLink[RealBlockDiagonalForm, paclet:ref/RealBlockDiagonalForm]) 
is an option for (RefLink[SchurDecomposition, paclet:ref/SchurDecomposition]) and related functions which specifies whether 2×2 blocks of real values should be used on matrix diagonals in place of complex values.}})

OpenersNotesSection(Spacer1)Details

With (RefLink[RealBlockDiagonalForm, paclet:ref/RealBlockDiagonalForm])->(RefLink[False, paclet:ref/False]), complex values can be generated on matrix diagonals from (RefLink[SchurDecomposition, paclet:ref/SchurDecomposition]) and related functions.

With the default setting (RefLink[RealBlockDiagonalForm, paclet:ref/RealBlockDiagonalForm])->(RefLink[True, paclet:ref/True]), complex values are replaced by 2×2 blocks of real values.

OpenersPrimaryExamplesSection(Spacer1)Examples  (1)

OpenersExampleSection0(Spacer1)Basic Examples  (1)

m is a matrix with two real and two complex eigenvalues:

m={{0,1,0,0},{0,0,-1,0},{0,0,0,1},{-1,0,0,0}};
Eigenvalues[m]

With (RefLink[RealBlockDiagonalForm, paclet:ref/RealBlockDiagonalForm])->(RefLink[False, paclet:ref/False]), the result is complex upper triangular:

{q,t}=SchurDecomposition[N[m],RealBlockDiagonalForm->False];

MatrixForm[Chop@t]

With (RefLink[RealBlockDiagonalForm, paclet:ref/RealBlockDiagonalForm])->(RefLink[True, paclet:ref/True]), there are real 2×2 blocks along the diagonal:

{q,t}=SchurDecomposition[N[m]];

MatrixForm[Chop@t]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[SchurDecomposition, paclet:ref/SchurDecomposition])  ▪  (RefLink[Eigensystem, paclet:ref/Eigensystem])}})}})