Given a quantum register $q_{0},\dots, q_{n-1}$ composed of $n$ qubits, I wonder if there exists a general mathematical framework to generate the quantum circuit to put this quantum register in a particular state $\lvert\psi\rangle$ from the ground initial state $\lvert 0\dots 0\rangle$ and assuming the quantum circuit can only use a given set of universal gates or native ones, which depend on the qubit type.
Also, a similar problem is how to implement an observable with this same universal gate set, or how to decompose this observable into a sequence of Pauli gates, which means which quantum circuit will simulate this observable.
I ask these questions because I used to design quantum algorithms assuming I can reach relatively easily the initial step required for this algorithm and that I can implement also easily an observable from which to retrieve meaningful classic data.
So, understanding the complexity of both initial state and observable decomposition seems to me of prior importance.