Suppose that a lattice $L$ in $\mathbb{R}^3$ is given with a basis $B = \mathbf{ \{ v_1, v_2, v_3 \} }$. Is there an algorithm that would help me obtain a new basis $B' = \mathbf{ \{ v_1', v_2', v_3' \} }$ for the same lattice $L$ such that $\mathbf{v_1'}$ is constrained to be along a certain lattice direction (smallest vector along the direction $\mathbf{v_1}'$).
I would also like to mention that this is not a homework problem and I am a researcher in engineering. It is possible that a solution already exists but I am not aware of all the terminology in the field of lattice problems. Any help is appreciated.
Thank you!
Edit: After Simon's answer, I would like to edit the question such that the volume occupied by the parallelepiped formed by the vectors of the basis $\mathbf{B'}$ to be the smallest possible volume in lattice $L$.
For example, one might consider $\mathbb{Z}^3$ with $\mathbf{v_1}=[1,0,0]^T$, $\mathbf{v_2}=[0,1,0]^T$ and $\mathbf{v_3}=[0,0,1]^T$ forming the basis $B$. This has volume 1 and while other bases are possible, one cannot find a basis of volume less than 1. Now the new basis $\mathbf{B'}$ should also have the same volume=1 in $\mathbb{Z}^3$.
It's worth noting that there are infinitely many possible solutions, even in a particularly basic case: Consider if you have constrained not just $\vec{v_1} = (1,0,0)^T$, but also $\vec{v_2} = (0,1,0)^T$. Then you could pick $\vec{v_3}$ to be any vector of the form $(0,n,1)^T$ for any integer $n$ (or even more generally, any of the form $(m,n,1)^T$). So even if you have constrained the first two, there are infinitely many possibilities for the third.