Suppose we have a fixed, real $m \times n$ matrix $A$, where $m < n$ and $\mathrm{rank}(A) = m$, e.g. $A$ has full row-rank. I find myself needing to repeatedly solve equations of the form $$ ADA^T \vec{x} = \vec{b} $$ for varying matrices $D$, though $D$ will always be diagonal and possess strictly positive entries. Thus, it makes sense to do some up-front work on $A$ to make subsequent solves faster.
Currently, the best thing to do seems to be the Cholesky decomposition for each product $ADA^T=L_DL_D^T$; though I was wondering if either
there was some nice way to parameterize the factorization in terms of $D$ explicitly (e.g. $L_D = L(D)$) and reuse prior work, or
if another matrix decomposition was available and made more sense?