Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Project a vector onto a subspace
ResourceFunction["ProjectOnSubspace"][u,v] finds the projection of the vector u onto the vector v. | |
ResourceFunction["ProjectOnSubspace"][u,v,ip] finds the projection using the inner product ip. | |
ResourceFunction["ProjectOnSubspace"][u,{v1,v2,…}] finds the projection of u onto the subspace spanned by {v1,v2,…}. | |
ResourceFunction["ProjectOnSubspace"][u,{v1,v2,…},ip] finds the projection onto the subspace using the inner product ip. |
The projection of one vector onto a 1D subspace:
In[1]:= | ![]() |
Out[1]= | ![]() |
This is the same as Mathematica’s Projection command, which projects one vector onto another:
In[2]:= | ![]() |
Out[2]= | ![]() |
The projection of a vector onto a subspace spanned by a list of vectors:
In[3]:= | ![]() |
Out[3]= | ![]() |
The projection using a weighted inner product:
In[4]:= | ![]() |
Out[4]= | ![]() |
Vectors with symbolic entries are assumed to represent complex numbers:
In[5]:= | ![]() |
Out[5]= | ![]() |
By using Dot as the inner product, Mathematica will assume all symbolic entries are real:
In[6]:= | ![]() |
Out[6]= | ![]() |
Project a vector in onto a subspace of
:
In[7]:= | ![]() |
Out[7]= | ![]() |
Project a vector in onto a subspace of
having an orthogonal basis:
In[8]:= | ![]() |
Out[8]= | ![]() |
Verify that the basis is orthonormal:
In[9]:= | ![]() |
Out[9]= | ![]() |
Since the basis is orthonormal, the projection is the sum of the projections of the vector onto the orthonormal basis vectors:
In[10]:= | ![]() |
Out[10]= | ![]() |
The projection of one matrix onto another using the standard matrix inner product:
In[11]:= | ![]() |
Out[11]= | ![]() |
The projection of a matrix onto a subspace of the space of 2×2 symmetric matrices using the standard matrix inner product:
In[12]:= | ![]() |
Out[12]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License