I'm trying to develop a method for representing my symmetric matrix A as a composition of two matrices such as: A = t(B)*B.
We know that
t(P)АР = D
where
P - matrix of eigenvectors
D - diagonal matrix of eigenvalues λi
Therefore
t(S)DS = E
where
S - diagonal matrix of 1/sqrt(λi)
t(S)*t(P)AP*S = E
t(P*S)A(PS) = E
Given P*S = inv(B):
t(inv(B))Аinv(B) = E
inv(t(B))Аinv(B) = E
А*inv(B) = t(B)
A = t(B)*B
That's what we wanted. Thus, to obtain a matrix B we need to find eigenvectors and eigenvalues, construct matrix S, multiply it by P and then find an inverse matrix.
However, I tried to do this and found out that t(B)*B != A at all. Where did it go wrong?
Using your notation, the whole idea is
$$P^TAP=D=S^{-1}S^{-1}$$
then
$$A=\left(PS^{-1}\right) (S^{-1}P^T)=(S^{-1}P^T)^T(S^{-1}P^T)$$
and hence $B=S^{-1}P^T$ which is more commonly written as $B=D^{\frac12}P^T$.
Your derivation is correct. Without showing your computation, it's hard to know what went wrong.
A common mistake that I see is forgetting to make the $P$ an orthogonal matrix.