I have a lot of matrices whose size is 16 x 512 (let´s called them $A_{k}$) and a matrix $B$ of size 16 x 512. I would like to write the matrices $A_{k}$ like $A_{k}=C_{k}*B$ where $C_{k}$ has size 16 x 16. I don't know how to get the matrices $C_{k}$ or if it is always possible for any matrix $B$.
If it is not possible for any matrix $B$, how can I choose a matrix $B$ so this factorization is posible?
Thank you very much
Depending on the matrices $A_k$ and on $B$, this can very well be impossible; for example it is impossible if $B=0$ and $A_j\neq 0$ for some $j$.
More generally, this will be possible if and only if all the rows of the matrices $A_k$ are in the subspace of $\mathbb{R}^{512}$ spanned by the $16$ rows of $B$; thus if the subspace $W$ spanned by the rows of the $A_k$'s has dimension bigger than $16$, it won't be possible, no matter the matrix $B$. If it has dimension $16$ or lower, you can just take $16$ rows in your $A_k$'s that span $W$ and define $B$ as the matrix formed by these rows.