Is entanglement necessary for quantum computation? If there was no error in the computation,superposition of states would be sufficient for quantum computation to be carried out.Is this right?
Entanglement is a general example of superposition. An entangled state of objects $A,B$ is nothing else than a superposition of states $$|a_i\rangle \otimes|b_i\rangle $$ for at least two values of the index $i$ that can't be written as a single tensor product $|a_i\rangle \otimes|b_i\rangle$ – and most superpositions of the states of 2 subsystems cannot be factorized in this way much like most functions $f(x,y)$ can't be written in the form $g(x)h(y)$.
So yes, entanglement is essential for quantum computing and almost all states of the qubits in a quantum computer during a computation are and have to be entangled states. Entanglement is omnipresent and essential for quantum computation.
My answer is No. Since with mixed states with quantum discord (but no entanglement),we can also obtain super-classical computation capability. My understanding for this problem is that as far as the quantum algorithm can not be simulated efficiently but classical computers, then we obtain certain non-classical computation power. We know that for quantum computations where each step results in a state with 'limited' entanglement, there are efficient simulation methods with classical computer. Also for computation with mixed states with no quantum discord, this is also achievable. But it does not work for general mixed state with discord (even without entanglement).