Skip to main content
Correct typo
Source Link
mikado
  • 17.1k
  • 2
  • 21
  • 55

Starting with suitable definitions of unit vectors, Mathematica allows a fairly direct confirmation of ortogonalityorthogonality

u = {Cos[a] Cos[b], Sin[a] Cos[b], Sin[b]};
v = {Cos[c] Cos[d], Cos[d] Sin[c], Sin[d]};

Confirm that the vectors are indeed units

{u . u, v . v} // Simplify
(* {1, 1} *)

Define the matrix R

R = 
  u . v IdentityMatrix[3] + HodgeDual[Cross[u, v]] + 
     TensorProduct[Cross[u, v], Cross[u, v]]/(1 + u . v) // Normal // 
   Simplify;

Confirm orthogonality

R . Transpose[R] // Simplify
(* {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}} *)

Starting with suitable definitions of unit vectors, Mathematica allows a fairly direct confirmation of ortogonality

u = {Cos[a] Cos[b], Sin[a] Cos[b], Sin[b]};
v = {Cos[c] Cos[d], Cos[d] Sin[c], Sin[d]};

Confirm that the vectors are indeed units

{u . u, v . v} // Simplify
(* {1, 1} *)

Define the matrix R

R = 
  u . v IdentityMatrix[3] + HodgeDual[Cross[u, v]] + 
     TensorProduct[Cross[u, v], Cross[u, v]]/(1 + u . v) // Normal // 
   Simplify;

Confirm orthogonality

R . Transpose[R] // Simplify
(* {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}} *)

Starting with suitable definitions of unit vectors, Mathematica allows a fairly direct confirmation of orthogonality

u = {Cos[a] Cos[b], Sin[a] Cos[b], Sin[b]};
v = {Cos[c] Cos[d], Cos[d] Sin[c], Sin[d]};

Confirm that the vectors are indeed units

{u . u, v . v} // Simplify
(* {1, 1} *)

Define the matrix R

R = 
  u . v IdentityMatrix[3] + HodgeDual[Cross[u, v]] + 
     TensorProduct[Cross[u, v], Cross[u, v]]/(1 + u . v) // Normal // 
   Simplify;

Confirm orthogonality

R . Transpose[R] // Simplify
(* {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}} *)
Source Link
mikado
  • 17.1k
  • 2
  • 21
  • 55

Starting with suitable definitions of unit vectors, Mathematica allows a fairly direct confirmation of ortogonality

u = {Cos[a] Cos[b], Sin[a] Cos[b], Sin[b]};
v = {Cos[c] Cos[d], Cos[d] Sin[c], Sin[d]};

Confirm that the vectors are indeed units

{u . u, v . v} // Simplify
(* {1, 1} *)

Define the matrix R

R = 
  u . v IdentityMatrix[3] + HodgeDual[Cross[u, v]] + 
     TensorProduct[Cross[u, v], Cross[u, v]]/(1 + u . v) // Normal // 
   Simplify;

Confirm orthogonality

R . Transpose[R] // Simplify
(* {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}} *)