gives an orthonormal basis found by orthogonalizing the vectors vi.


gives an orthonormal basis found by orthogonalizing the elements ei with respect to the inner product function f.

Details and Options

  • Orthogonalize[{v1,v2,}] uses the ordinary scalar product as an inner product.
  • The output from Orthogonalize always contains the same number of vectors as the input. If some of the input vectors are not linearly independent, the output will contain zero vectors.
  • All nonzero vectors in the output are normalized to unit length.
  • The inner product function f is applied to pairs of linear combinations of the ei.
  • The ei can be any expressions for which f always yields real results.
  • Orthogonalize[{v1,v2,},Dot] effectively assumes that all elements of the vi are real.
  • Orthogonalize by default generates a GramSchmidt basis.
  • Other bases can be obtained by giving alternative settings for the Method option. Possible settings include: "GramSchmidt", "ModifiedGramSchmidt", "Reorthogonalization", and "Householder".
  • Orthogonalize[list,Tolerance->t] sets to zero elements whose relative norm falls below t.


open allclose all

Basic Examples  (1)

Find an orthonormal basis for two 3D vectors:

Click for copyable input

Find the coefficients of a general vector with respect to this basis:

Click for copyable input

Scope  (2)

Generalizations & Extensions  (2)

Options  (3)

Applications  (1)

Properties & Relations  (6)

See Also

OrthogonalMatrixQ  UnitaryMatrixQ  Projection  Normalize  Dot  Inner  QRDecomposition  LinearSolve


Introduced in 2007