Generalized Curved Fitting for Refractive Index ----------------------------------------------- The error in fitting refractive indices and dispersions is assumed to be: E = SUM( w * ( f - n )^2 ) + SUM( w * ( (f1 - f2 ) - d )^2 ) r r r r s s s s s where: r spans the set of refractive index wavelengths n is the measured refractive index s spans the set of measured dispersion wavelength pairs d is the measured dispersion The estimator f of refractive index is assumed to be of the form: f = f( l; p1, p2,... pk) where l is the wavelength and the parameters p1, p2, ... pk represent the coefficients used in the calculation of f. The functions f1 and f2 represent the values of f at the two wavelengths of the wavelength pair. The weights w may be selected based upon confidence in the measured values. The minimal error is assumed to occur when: d E ------ = 0 d pi for i = 1, 2, ... k. The measured refractive indices and dispersions, as well as the weights can be assumed to be independent of the coefficients. For a given parameter pi, then: d f d E r -------- = SUM( 2 * w * ( f - n ) ( ----- ) ) + d pi r r r r d pi d f1 d f2 s s SUM( 2 * w * ( (f1 - f2 ) - d ) ( ----- - ----- ) ) s s s s s d pi d pi Given an initial set of estimates for p1, p2, ... pk, a correction to these values is then estimated by Newton-Raephson iteration: pj <--- pj + delta_pj where the differences delta_pj are calculated from: 2 d E d E SUM( --------- * delta_pj ) = - ----- j d pi d pj d pi for i,j in 1, 2, ... k. Now the second partial derivatives are given by: 2 d f d f d E r r ----------- = SUM( 2 * w * ----- * ----- ) + d pi d pj r r d pj d pi 2 d f r SUM( 2 * w * (f - n ) * --------- ) + r r r r d pi d pj d f1 d f2 s s SUM( 2 * w * ( ----- - ----- ) * s s d pj d pj d f1 d f2 s s ( ----- - ----- ) ) + d pi d pi SUM( 2 * w * ((f1 - f2 ) - d ) * s s s s s 2 2 d f1 d f2 s s ( --------- - --------- ) ) d pi d pj d pi d pj Some simplifying approximations are made here. It is assumed that: 2 d f --------- = 0 d pi d pj for all i and j. Thus, the second and fourth SUMs above are assumed to be zero, reducing the matrix coefficients to sums involving only the calculated values and their first partial derivatives. This is not exactly a random assumption; note that, for close approximations to a good fit, these terms contain the error terms: f - n r r or: (f1 - f2 ) - d s s s An Example (ignoring the simplifying assumptions) ------------------------------------------------- The 3-term Sellmeier form may be rewritten as: B1 B2 B3 n(l)^2 - 1 = ------------ + ------------ + ------------ 1 - C1 * k^2 1 - C2 * k^2 1 - C3 * k^2 where: k = 1 / l Now, using just B1 and C1 (the others are similar): d n 1 2 * n * --- = ------------ dB1 1 - C1 * k^2 or: d n 1 --- = ---------------------- dB1 2 * n * (1 - C1 * k^2) while: d n B1 * k^2 2 * n * --- = ---------------- dC1 (1 - C1 * k^2)^2 or: d n B1 * k^2 --- = ------------------------ dC1 2 * n * (1 - C1 * k^2)^2 The second derivatives equations are: 2 d n d n 2 * n * ----- + 2 * ( --- )^2 = 0 dB1^2 dB1 or: d n 2 ( --- )^2 d n dB1 ----- = --------- dB1^2 n and: 2 d n d n 2 * B1 * k^4 2 * n * ----- + 2 * ( --- )^2 = ---------------- dC1^2 dC1 (1 - C1 * k^2)^3 or: B1 * k^4 d n 2 ---------------- - ( --- )^2 d n (1 - C1 * k^2)^3 dC1 ----- = ----------------------------- dC1^2 n and, lastly: 2 d n d n d n k^2 2 * n * ------- + 2 * --- * --- = ---------------- dB1 dC1 dB1 dC1 (1 - C1 * k^2)^2 or: k^2 d n d n 2 ---------------- - 2 * --- * --- d n (1 - C1 * k^2)^2 dB1 dC1 ------- = -------------------------------- dB1 dC1 2 * n while noting that: 2 2 d n d n ------- = ------- dC1 dB1 dB1 dC1 The other second derivatives are: 2 2 2 2 d n d n d n d n ------- = ------- = ------- = ------- = 0 dB1 dBi dB1 dCi dC1 dBi dC1 dCi when i is either 2 or 3. A Simpler Example ----------------- The Schott 6-term formula is: n^2 = Am8 * k^8 + Am6 * k^6 + Am4 * k^4 + Am2 * k^2 + A0 + A2 * l^2 again with k = 1 / l (e.g.: k^8 = 1 / (l^8) = l^(-8) ). In this case: d n 2 * n * --- = l^i dAi or: d n l^i --- = ----- dAi 2 * n for all i, while: d n d n 2 --- * --- d n dAi dAj ------- = - --------- dAi dAj n for all i and j. Insufficient Data ----------------- Re-estimation of these coefficients is impossible if enough measurements are not available. In order for this to work, there must be at least as many measurements as there are coefficients. Suppose, for example, a glass is supplied with only Abbe number and d index measurements. The partial dispersions are defined by: n - n x y P = ------ x,y n - n F C for some wavelength pair x and y. For a "normal" glass, however, it is assumed that the partial dispersions can be calculated from the Abbe number: P = a + b * v x,y x,y x,y d where a and b are constants independent of the "normal" glass type. For a particular glass type, however this is not exactly true, so an abnormality constant is added: P = a + b * v + dP x,y x,y x,y d x,y,G Looks like magic. However, rewriting it: n - n = (a + dP ) * (n - n ) + b * (n - 1) x y x,y x,y,G F C x,y d And, in particular, when "y" is "d": n - n = b * (n - 1) + (a + dP ) * (n - n ) x d x,d d x,d x,d,G F C The "normal" glasses are typically determined from a standard set of glasses, e.g.: K7 and F2, for which the value dP is assumed to be identically zero. Evaluating the above for these two glasses: n - n = b * (n - 1) + a * (n - n ) x,K7 d,K7 x,d d,K7 x,d F,K7 C,K7 n - n = b * (n - 1) + a * (n - n ) x,F2 d,F2 x,d d,F2 x,d F,F2 C,F2 For any wavelength x, this results in a simple pair of equations in two unknowns (a and b). For any other glass, G, for which we have a good fit curve, the value of dP can then be computed by: n - n - b * (n - 1) x,G d,G x,d d,G dP = ----------------------------- - a x,d,G n - n x,d F,G C,G For melt data that includes the d index and Abbe number (or equivalently, the F to C dispersion), there is a way to estimate a refractive index value for a reasonable set of wavelengths: n - n = b * (n - 1) + (a + dP ) * (n - n ) x,E d,M x,d d,M x,d x,d,G F,M C,M where the "E" subscript denotes estimated value and the "M" subscript denotes the melt value. It is my opinion that this makes some sense, in that the melt-to-melt variation could be considered mostly as a variation in the "normal" part of the glass. (Double edged sword!) For a totally unknown glass (except the melt values), the assumption the dP is zero will result in the corresponding "normal" glass estimates. Also, there was nothing too magical about the choice of F, d, and C, as reference wavelengths either. Any three fairly well separated reference wavelengths could be used, if needed, computing different values of a, b and dP for the basic glass type for each required wavelength x. It should be noted that, if more melt values than the basic three are provided, the estimated index for one of the other supplied wavelengths will not necessarily match the melt values. The melt values should be used. This is definitely a source of noise. Hypothesis: A more general form of the equation above could be generated, using more reference glass types and additional dispersion wavelength pairs. A quick and dirty generalization could be: n - n = b * (n - 1) + x,E d,M x,d d,M (a + dP ) * (n - n ) + x,d x,d,G F,M d,M (c + dP ) * (n - n ) x,d x,d,G d,M C,M which uses both of the partial dispersions between F and d and between d and C (adding maybe something like LLF1 or LF5 glass maybe). This may, in fact, cover most of the slight bend in the data that I have seen in P vs. v graphs.