ASTRO 735 - Problem Set Solutions

Set 1



(a) Self check.

(b) The Schecter function: Typical values for the parameters for the Schecter function approximating the total field galaxy luminosity function (LF; integrated over all types) in the B band (A0V zeropoint) are:

M* = -21. + 5 log h +/- 0.5 mag
phi* = 1-2 x 10-2 h3 mag-1 Mpc-3
alpha = -0.9 to -1.6

where as usual

h = H0 / 100 km s-1 Mpc-1.

There is currently no consensus on phi* and alpha; the precise value of M* is coupled to these values. In reality there is no single Schecter function that fits the total field LF, but here's what they look like schematically for phi* = 1. Note that at M = M*, phi(M) does not equal phi*:

phi(M*) = 0.4 ln(10) e-1 phi* = 0.34 phi*.

Also note that phi(M) converges to 0.4 ln(10) = 0.921 for alpha = -1, as it should.

The integrated light -- analytic solutions: The integral of phi(L') L' dL' from L' = -infinity to L is equal to phi* L* Gamma[alpha+2,L/L*], where Gamma[a,x] is the incomplete gamma function. For a = alpha+2 > 0, Gamma[a,x] does not converge. Hence alpha < -2 is equivalent to infinite integrated luminosity. Taking the limit x = L/L* goes to 0 yields Gamma[a], the gamma function. Both Gamma[a] and Gamma[a,x] can be found via tabulations in standard mathematical references or via numerical integration (e.g. GAMMLN, GAMMP or GAMMQ respectively, in NUMREC). Note that this 'analytic' solution ultimately is numerical, but is different than the brute force integration below; here, a series approximation is used. In this particular situation, the GAMMxx routines are the most elegant, accurate, and computationally efficient way to proceed.

The integrated light -- numerical solutions: There are times when you can't be elegant. While this isn't one of them, it is a good opportunity to check our results. A brute force approach is to simply integrate phi(L) L dL using some numerical method. Note that when I did this on my SGI O2, I got bogus results using QROMB and TRAPZD from NUMREC. On my old Sun 5 the results were better (albeit much slower), but on neither machine did the integral converge towards L/L* goes to -infinity. (The fact that there is any difference is an indication that the code is being pushed to limits it can't handle.) Indeed, a check of integrating exp(-x) on my SGI O2 showed this too did not converge as x went to -infinity, regardless of whether all aspects of the integration were done as real or double precision, or if I modified the convergence accuracy. (I could successfully integrate this function on my Sun.) QSIMP did converge on both machines, but for L/L* 1e2 to 1e3 the number of calls became prohibitive (> 220), so in general practice this is no good.

This is a good example of how you can get in trouble with numerical integration. The basic fact is that you still have the THINK about what you are doing. The most effective way to proceed is to integrate

phi(M) L dM

instead of

phi(L) L dL

since then the integration is linearized (same as choosing logarithmic steps when integrating phi(L) L dL, which could be accomplished with modification of QROMB, etc.). What you really integrate is

phi(x) exp[ -0.4 ln(10) x ] dx

where x = M - M*. This converges nicely at the bright end using QROMB for x > 1e3. Using x = 1e4 as the upper limit of integration, the following table contains the integrated light in units of L* assuming Schecter LF parameters of alpha, phi* = 1, and with faint end integration limits xlim = Mfaint-M*. A plot of the integral is here. Note that alpha = -0.5 represents a minimum value for the integral (for fixed M* and phi*), the reason for which is evident from inspection of the bright end of the LF in the previous plot.


xlim alpha = -0.75 alpha = -0.5 alpha = -0.25 alpha = -1. alpha = -1.25 alpha = -1.5 alpha = -1.75
2.5 0.864 0.866 0.910 0.905 0.998 1.16 1.42
5.0 0.904 0.886 0.919 0.990 0.118 1.57 2.36
10.0 0.906 0.886 0.919 1.00 1.22 1.75 3.23
infinity 0.906 0.886 0.919 1.00 0.123 1.77 3.62



last update: Sep 27, 2000

Back to the show.