I have a vector of complex numbers (the result of a FFT) and I would like to scale only the real part of the complex numbers by factors in another vector.
Example
cplxarr= np.array([1+2j, 3+1j, 7-2j])
factarr= np.array([.5, .6, .2])
# desired result of cplxarr * factarr :
# np.array([.5+2j 1.8+1j 1.4-2j])
(Yes, it's about human-hearing frequency response in a very specific setting.)
Obviously the multiplication with the vectors as above scales the imaginary parts too.
How do I set up factarr and what operation do I have to do in order to achieve the desired result? If it's possible at all, that is, without separating the real and imaginary parts, scaling the real parts and reassembling as a new complex vector.