Question: what does fsolve command do exactly?

Dear guys! I have an equation as

> eq := z-> H*(1-m*h^2*H^(-2)*(1+z)^(3))-2*e*sqrt(1-c^2)*sqrt(r)*h=0:

where

> m := 0.211: h := 0.741: c := 0.80: r := 0.338: e := 1:

At this equation H is an unknown function of z, h is the value of H at z=0 and I want to obtain H(z) actually(for example the graph of H(z) for z=-1..5). So I did as following

> Y := z-> fsolve(eq(z), H=h):    **

plot(eval(H, H='Y(z)'), z=-1 .. 5);

I thought I am right, but there is a paradox. If I eval Y(0) I obtain something different from the value of h (the value of H at z=0). Now my question is: "what is the "Y" I obtained exactly?". I thought that's H(z) but it seems to me that I'm wrong. Can anyone explain to me the problem? Also, can anybody tell me what does the line ** do exactly?

Please Wait...