I need to create a 3 by 3 real orthonormal symbolic matrix in Mathematica. How can I do so?
We construct an orthogonal matrix in the following way. First, construct four random 4-vectors, v1, v2, v3, v4. Then apply the Gram-Schmidt process to these vectors to form an orthogonal set of vectors. Then normalize each vector in the set, and make these vectors the columns of A.
A square matrix with real numbers or values is termed as an orthogonal matrix if its transpose is equal to the inverse matrix of it. In other words, the product of a square orthogonal matrix and its transpose will always give an identity matrix. Suppose A is the square matrix with real values, of order n × n.
Orthonormal (orthogonal) matrices are matrices in which the columns vectors form an orthonormal set (each column vector has length one and is orthogonal to all the other colum vectors). For square orthonormal matrices, the inverse is simply the transpose, Q-1 = QT.
A square n×n matrix A is called diagonalizable if it has n linearly independent eigenvectors. For such matrices, there exists a nonsingular (meaning its determinant is not zero) matrix S such that S−1AS=Λ, the diagonal matrix. Then we can define a function of diagonalizable matrix A as f(A)=Sf(Λ)S−1.
Not that I recommend this, but...
m = Array[a, {3, 3}];
{q, r} = QRDecomposition[m];
q2 = Simplify[q /. Conjugate -> Identity]
So q2 is a symbolic orthogonal matrix (assuming we work over reals).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With