A control apparatus for a synchronous motor comprising: a current detector operable to detect a current (i u, i v) of a synchronous motor; a first coordinate converter operable to coordinate-convert the current (i u, i v) obtained from the current detector into a current on rotational biaxial coordinate axes (d-axis; q-axis) rotated at an angular frequency based on a rotational position; a current controller operable to output a voltage command (vd*, vq*) on the rotational biaxial coordinate axes (d-axis; q-axis) such that a current (id, iq) on the rotational biaxial coordinate axes (d-axis; q-axis) follows a current command (id*, iq*) on the rotational biaxial coordinate axes (d-axis; q-axis); a second coordinate converter operable to coordinate-convert the voltage command on the rotational biaxial coordinate axes (d-axis; q-axis) obtained from the current controller into three-phase voltage commands (vu*, vv*, vw*) based on the rotational position; an adaptive observer (9a, 9b, 9c) operable to calculate the angular frequency (w), an estimated current of the synchronous motor, an estimated rotor magnetic flux, and an estimated rotational speed based on the current on the rotational biaxial coordinate axes (d-axis; q-axis) and the voltage command on the rotational biaxial coordinate axes (d-axis; q-axis); an integrator operable to integrate the angular frequency obtained from the adaptive observer (9a, 9b, 9c) and to output the rotational position; and an inverter operable to apply a voltage to the synchronous motor based on the voltage command (vu*, vv*, vw*), wherein the adaptive observer is operable to calculate the angular frequency (w) such that a q-axis component of the estimated rotor magnetic flux is zero. a current detector operable to detect a current (i u, i v) of a synchronous motor; a first coordinate converter operable to coordinate-convert the current (i u, i v) obtained from the current detector into a current on rotational biaxial coordinate axes (d-axis; q-axis) rotated at an angular frequency based on a rotational position; a current controller operable to output a voltage command (vd*, vq*) on the rotational biaxial coordinate axes (d-axis; q-axis) such that a current (id, iq) on the rotational biaxial coordinate axes (d-axis; q-axis) follows a current command (id*, iq*) on the rotational biaxial coordinate axes (d-axis; q-axis); a second coordinate converter operable to coordinate-convert the voltage command on the rotational biaxial coordinate axes (d-axis; q-axis) obtained from the current controller into three-phase voltage commands (vu*, vv*, vw*) based on the rotational position; an adaptive observer (9a, 9b, 9c) operable to calculate the angular frequency (w), an estimated current of the synchronous motor, an estimated rotor magnetic flux, and an estimated rotational speed based on the current on the rotational biaxial coordinate axes (d-axis; q-axis) and the voltage command on the rotational biaxial coordinate axes (d-axis; q-axis); an integrator operable to integrate the angular frequency obtained from the adaptive observer (9a, 9b, 9c) and to output the rotational position; and an inverter operable to apply a voltage to the synchronous motor based on the voltage command (vu*, vv*, vw*),