Plane Tangent Vectors from Coplanar 3D Points via SVD, With and Without Gaussian Noise
Company: Voleon
Role: Quantitative Researcher
Category: Statistics & Math
Difficulty: medium
Interview Round: Technical Screen
You are given $N$ points $p_1, \dots, p_N$ in three-dimensional space and told that they all lie on one plane. Find tangent vectors of the plane, that is, vectors that span the set of directions lying in it. Explain how to compute them with the singular value decomposition (SVD). The follow-up adds independent, identically distributed Gaussian noise to the points and asks how you would find the tangent vectors then.
### Constraints and Clarifications
- Assume $N \ge 3$. The plane need not pass through the origin.
- The points are given as an $N \times 3$ array of real coordinates.
### Clarifying Questions
- Is any pair of linearly independent in-plane vectors acceptable, or should the two tangent vectors be orthonormal? Is the normal vector wanted as well?
- What should happen if the points are collinear or all coincide, so that the plane is not determined?
### Part 1 — Exactly coplanar points
The points lie exactly on the plane. Using the SVD, find two tangent vectors (and the normal, if useful). Explain why the method works, including any preprocessing of the points, and what it costs.
```hint Offsets matter
A plane that does not pass through the origin is not a linear subspace. Think about what to subtract from the points before you factorize.
```
```hint Count the dimensions
Ask what the rank of the preprocessed data matrix must be, and what that says about its singular values.
```
#### What This Part Should Cover
- Why the points are centered, and the role of the centroid
- The rank of the centered matrix, and which singular vectors span the plane and which gives its normal
- Non-uniqueness of the tangent vectors, and detection of degenerate inputs
### Part 2 — Points with i.i.d. Gaussian noise
Now each observed point is $q_i = p_i + \varepsilon_i$, where the noise vectors $\varepsilon_i$ are i.i.d. Gaussian and the true points $p_i$ lie on an unknown plane. How do you estimate the tangent vectors, and why is your estimate a good one?
```hint What is no longer exact
The centered matrix is no longer exactly rank deficient. Ask which plane is closest to the noisy points, and in what sense of distance.
```
#### Clarifying Questions for this Part
- Is the noise isotropic, with the same variance in every coordinate and no correlation between coordinates?
- Is the noise variance known, and is an uncertainty estimate for the plane also wanted?
#### What This Part Should Cover
- The fitting criterion that the SVD solution optimizes in the noisy case
- A statistical justification under Gaussian noise, and the assumption it relies on
- How the quality of the estimate depends on the number of points, the noise level and the spread of the points
### What a Strong Answer Covers
- Correct linear algebra: centering, the SVD, and which singular vectors are tangent and which is normal
- A geometric reading of the singular values as spread along each direction
- A real argument for the noisy case, not just the claim that the same method still works
- A contrast with regressing one coordinate on the other two
- Attention to degenerate geometry and numerical stability
### Follow-up Questions
- How would you quantify the uncertainty of the estimated normal direction?
- If the noise covariance is known but not isotropic, how does the procedure change?
- How would you make the fit robust if a few points are gross outliers?
- How does the method generalize to fitting a $k$-dimensional affine subspace to points in $d$ dimensions?
Overview: Given 3D points that all lie on one plane, find the plane's tangent vectors with the singular value decomposition, then handle the follow-up in which every point carries i.i.d. Gaussian noise. Tests centering, rank and singular-vector reasoning, and the statistical justification for the noisy fit.