> HJGsq` ybjbjqPqP .::6.......B''''(4B1BV( ) ) ) ) ) ) )0000000$3hl50.T) ) )T)T)0.. ) )1+++T)j. ). )0+T)0++.... )J(k
=$')N.e0101.6+6..6.q/T)T)+T)T) ) @)L)00+
T)T)T)1T)T)T)T)BBB$f$BBBfBBB......Math 240 Spring 2005, Victor Matveev
Binary system, roundoff errors, loss of confidence, and double precision accuracy.
1. Bits and the binary number system
A bit is one digit in a binary representation of a number, and can assume only one of two possible values: 0 or 1. This simplicity is precisely the reason why the binary number system is more computerfriendly than the usual decimal system: in order to store a binary number, it is sufficient to string together primitive electric circuits that have only two stable states; one of those states we can call a 0, and the other state we can call a 1. In order to store a decimal digit without converting to binary, we would have to use electric circuits which have 10 possible stable states (each state representing a digit from 0 to 9); such a circuit would be much more complicated to construct.
The binary (base2) number system is very similar to the usual decimal (base10) system. It is a positional system, which means that the value of each digit comprising the number depends on its position with respect to the fraction point. Namely, in a positional system each digit is multiplied by the system base (10 in the case of decimal, 2 in the case of binary), raised to the power determined by the digits position. For instance, you will certainly find the following decomposition of number 145.625 to be trivial:
145.625=1102 + 4101 + 5100 + 6101 + 2102 + 5103
2 1 0 123
The little number under each digit indicates its position with respect to the fraction point. Now, here is what this number looks like in the binary system:
10010001.101(binary)=27+24+20+21+23=128+16+1+0.5+0.125=145.625(decimal)
7 6 5 4 3 2 1 0 123
As this calculation shows, converting from binary to decimal is simple since each binary digit is either 0 or 1. We dont have to worry about zeros at all, and it is sufficient to collect powers of two corresponding to each 1, with the power equal to the position of this 1 with respect to the fraction point.
Now, converting from decimal to binary is only slightly trickier: we have to figure out the highest power of 2 that fits in our number, which will give us the position of the highest, most significant 1 (the rightmost nonzero digit). In the example above, such highest power contained in 145.625 is 128=27, so there will be a 1 in position 7. Now, subtract 27 from the original number, and find the highest power of 2 that fits in the remainder, 17.625. This will be 16=24, so the next 1 is in position 4. Take the remainder, 1.625, and repeat until you are done.
[Aside: As it turns out, for integer numbers it is easier to convert from decimal to binary by finding the lowest digit first, instead of the highest one. The lowest digit is equal to the remainder after division by 2. Although this is simple, binary conversion techniques are beyond the scope of this course]
2. Exponential notation in binary system.
According to the double precision standard, 64 bits are used to represent a real number in computer memory. However, only 52 of those bits are devoted to representing the significant digits, or accuracy of the number, while another 11 digits are devoted to the exponent. The remaining one digit determines the sign of the number (it is negative if sign bit equals 1, and positive otherwise). Now, the exponent refers to the standardized exponential notation for real numbers:
145.625=1.45625102=1.45625e+002
In this example, the decimal exponent equals two. Rewriting a number in exponential notation is called normalizing. In the binary system, each number can be normalized in the same way, by carrying the fraction point to the left or to the right. However, for a binary number, each time we move the fraction point by one bit, we pick up a factor of 2, not a factor of 10. For instance, you can easily check that the following is true, by converting both sides of this equation to decimal:
10010001.101(binary)= 1.001000110127 (fraction point moved by 7 bits).
7 6 5 4 3 2 1 0 123
There is a definite purpose of normalizing a number before storing it in the computer: it is easy to see that this way we can store very large or very small numbers, by devoting a certain number of bits (binary digits) to the exponent. Note also that after you normalize a binary number, there will always be a 1 before the fraction point (since 1 is the only nonzero binary digit); therefore, we dont have to store this 1 we can simply pretend that its always there!
3. Double precision: a summary
So sum up, here is a schematic explaining the double precision number representation:
Number = (1)S 1.F 2E1023
Where S is the 1bit sign, F is a 52bit long binary, and E is 11 bits long, which altogether gives 64 bits. Now, we should be able to represent negative exponent values, which is why 1023 is subtracted from E. You can ignore this subtraction as an unimportant technical detail, and simply view one of the E bits as representing the sign of the binary exponent, which leaves you with 10 bits to represent the exponent magnitude.
1 11 52
++++
S Exp  Fraction 
++++
63 62 52 51 0
4. Double precision: limitations
Now let is examine the limitations arising from such 64bit representation. Lets start with the exponent. The largest absolute integer we can represent with 10 bits is 2101 = 1023 (to understand why, recall that the largest ndigit decimal number is 10n1). Thus, the largest and smallest numbers we can obtain are approximately given by
 Largest number  = 21023 ~ 10308,  Smallest number  = 21023 ~ 10308
(recall that in order to convert a power of 2 to a power of 10, we have to divide the exponent by log2(10)=3.322). Note that in the above we ignored the fraction part (1.F), which doesnt significantly affect these upper and lower bounds. Now this shows that double precision representation is very powerful, at least as far as the exponent is concerned: for comparison, the diameter of our Universe is about 10281029 cm, so we will rarely need numbers bigger or smaller than the above limits!
The only real limitation of the double precision standard arises from its accuracy in representing real numbers (the fraction part, 1.F). Lets see what the value of the lowest (least significant) 52nd digit in F is: 252=2.21016. Thus, we have about 16 decimal digits of accuracy to work with. Another way to get the number of significant decimal digits in double accuracy is to simply divide 53, the number of bits, by log2(10)=3.322, which yields about 16 for the corresponding number of decimal places.
5. Roundoff errors.
For the sake of simplicity, we will ignore the binary nature of all computer numbers for a moment, and concentrate on the limitations arising from using 16 digits to represent decimal numbers. Consider for instance the following 20digit integer:
98765432109876543210
Now, this is an example of a number that can not be stored precisely. The large size of the number is not a problem the problem is the number of significant digits. Since we can only keep 16, we have to round off the remaining 4:
98765432109876540000
It is easy to see that the roundoff error equals 3210 in our example. You can check that Matlab cannot tell the difference between these two numbers: try calculating their difference.
When will this be a problem? If we denote the above number by N, you can easily see what the result of the following calculation would be:
(N + 1234)  N
We would want to get 1234 as our result, but we will naturally get zero instead, since the first four digits are rounded off:
98765432109876543210 + 1234 = 98765432109876544444 ! 98765432109876540000
Naturally, the size of the roundoff error changes with the size of the number  in other words, if N=9.8765432109876543210e109, then the roundoff error will be 3.210e125.
Using these two examples, you can now understand the following upper bound on the roundoff error:
 Error of N  d" 1e16  N 
The expression on the right is simply a rough estimate of the 17th digit of N, the one that is thrown out due to roundoff.
6. Loss of significance: an example.
Let us examine for instance how the roundoff errors may affect a function evaluation, such as EMBED Equation.DSMT4 . We know that the result has to equal sin(x). However, if x d" error of 2n, there is no way that Matlab (or any other computer program) can recover the value of x from the sum x+2n. In other words, all digits of x will be completely rounded off when x is added to 2n. This is a classic example of complete loss of significance of x. Let s find when this will happen, given x=1:
x=1 d" Error(2n) d" 1e16 (2n) ! n e" 1e16 / (2) H" 1e15
Let us verify this result using Matlab: sin(21e15+1)sin(1) yields 0.342, which clearly represents complete failure, since this error is comparable to sin(1)=0.841, while for lower n=1e14, Matlab gives sin(21e14+1)sin(1)=0.012, which is still tolerable .
7. Things to avoid.
As was shown, the roundoff errors are usually small (1 part in 1e16). Now, apart from the sine calculation example above, when should we in general worry about this error? The answer is simple to formulate: as with any other type of error, we should worry about the roundoff error when it is comparable in absolute value to the result of a calculation that we seek. In other words, it is not the absolute value of the error which is important, but the relative error, which is the ratio of the error to the result value. For instance, here are several such examples where the error is comparable to the result, resulting in a failure when evaluated numerically using Matlab or some other program:
(1 + x) 1 = x (fails when x d" 1e16)
EMBED Equation.DSMT4 (fails)
EMBED Equation.DSMT4 (fails)
EMBED Equation.DSMT4 (fails when x e" 1e16)
EMBED Equation.DSMT4 (fails when x e" 1e16)
You may not notice at first, but there is something in common between all five examples. Namely, they all involve precise cancellation between terms to achieve accurate results (notice that there is a minus sign in each of these formulas). While the error in calculating each of the terms in a given expression may be small compared to the size of that term (1 part in 1e16), it is large when compared to the result, since the result is much smaller than each term taken separately.
Lets take for instance the last example. If our calculation only involves EMBED Equation.DSMT4 , there is no problem: even though the 1 will get completely rounded off when xe"1e16, why should we care? The result will be accurate enough; the error relative to the answer will be small (1 part in 1e16, as usual). However, the value of expression EMBED Equation.DSMT4 is much smaller than each of the two terms taken separately, and when xe"1e16, yields a zero, which is incorrect. In fact, the exact limiting behavior of this difference is EMBED Equation.DSMT4 . So the result decreases as x grows, while the roundoff error grows; it is easy to see that eventually there will be a problem.
The conclusion is simple: whenever possible, avoid subtracting numbers that are very close in magnitude! For instance, the last example may be rewritten by multiplying by a conjugate the numerator and the denominator:
EMBED Equation.DSMT4
'7ABCFIJQRZ`z} C O V x A
B
d
f
g
i
"._`abXo
K
c
k
m
t
u
v
w
y
z
{
߽߽ͽͽѽɱɽhL5H*hXl_hT5H*hLhXl_hT5hx<hThahhh5hXl_hh` h`5 h4"5h h@5 hM5 h+]5 h
5hh5:'{}`al
m
TU./efqgd$GgdgdT^`gdT$a$gdy{

}
~
STUWcmnpqstvxz֤hXl_h hH* haH*h hTH*h hT5 ha5hhx<h hTH* h H*h hL5H*hXl_hT5H*hXl_hT5hLhT?%&*+.O^3\!$()*?@PS_`,./7H\ʹʵʵʹʭh`h`5hB h`H*hXl_hXl_ hXl_H*h` h(:H5hXl_hXl_5hah(:Hhx< hT5hLhThT5hXl_hTDDdefi
y$./=cpqryؼļhL h$G5hXl_h$G5 hH5h!0h$Gh$G5hHh'WwhB5hBhHh$G5h$Gh`hihhi5h'Wwh'Ww5h'Ww h'Ww5 h!5 h4"5 hi5hh(:Hhx<h[3qr67VW3yJgd+]`gdigd!gdi`gd'Ww`gdBgdHgd$G`gd$G!&cpQYZ]r=>Ṵ閑h! h!5 h+]5 h4"5 hi5hihi5h6h'Wwh'WwH* hHH*hH5H*hLhHhH5hXl_hH5 hH5h$GhBh'Wwh`hihH h$G5hXl_h$G5H*57DENOTV]^fgrsy{'(yJKLNQijkopt !ºƶ±ڣڞڣڣ hBH*h h@5 h4"5 h+]5hWkh4"h!5h!h+]h!hB5hBhB5hB hB5h!5H*hBhi5H*hBhi5hi>JKLMNop!!#####$$'$($%%(%gdc^`gd4"gdgd+]gdigd+]!Zbnoqr
yzw !!!!&!C!D!F!G!H!t!u!y!!½½¶ۭ۲ߩۤۤ۩߲۠۠۠ߠߠhfh'Ww h'WwH*h(:H hH*h4"h+]5H* h5h5H*hh5H*hh5hh+]h!hBOJQJ hBH*h+]hB6hB=!!!!!!!!!!!!!!!!!!!!!!!"H"Z"a"b"g"h"i""""""""""""""#########6#$$$&$'$h& h5 hxq5 hf5 h4"5h4"h4"6 h'WwH*hfhf hwN5h+]h+]h+]h+]6 hfH*h4"h+]5h'WwhfH*h'Wwhfh'Wwh'Ww5h4"h+]:'$K$L$#%'%D%M%N%S%f%%%%%%%&&"&#&G&n&u&y&}&~&&&&&&''<()))@*T*b*d*l*p*r***************&+4+ĿķĜ h65 hwN5 h
6h
h
56h
h^h^hC!;5 h
5h^h^5h6h^hlhchchC!; hc5hwNhchc5h4"h+]hc;(%)%%%o&p&&&'':(<()b*d***++++//p0r02gdHT gdxqgdC!;gdlgdc`gdc4+8+R+++++++++b,,,,,,,,,DFfh6.8.T.V.Z.^.....////J/////Ľ딐wpwhHT 56 hHT 5hHT hHT hwN6hwNhHT 6hHT hHT 6 h
6jhHT h
EHU#j:E
hHT h
CJUVaJhHT h
jhHT h
Uh@hxq hxq5 h+]5 h4"5 h65h
h6hwNhwNhwNH*+///////000,080B0J0n0p0r0000001211112222"262f2h2z22222222B333G4445$545r5555ненаh\hyV2hyV256hyV2hyV25hwNhyV2 hyV25 h4"5hxqhxq6hHT hxqhxqhxq hxq6hxqhHT hHT hHT hHT 6h
hHT h{q h{q6 hHT 6hHT h4"72222"6$6v6x667p7r7t77799>>s?t???AjBjjj/ngd4"gd,gd{qgdC!;556$60666B6T6V6r6t6x6z666666666666677<7>7@7B7r7t7v777Ž}ufjCE
h,CJUVaJjh,Ujh{qh{qEHUjME
h{qCJUVaJjh{qUjfh\h#zEHUjLyE
h#zCJUVaJjh\Uh,j%hyV2hyV2EHUjXCE
hyV2CJUVaJjhyV2Uh{qh{qh{qh\hyV2#7777
8"838=8O8a8}88889%9.9N9S9d999999::<:j:l:n:p:::;;B;D;;;< <N<d<f<<<<<涩晕ڕڕyjThyV2h,EHUjCE
h,CJUVaJhrh,h,6h4"h,5jhyV2h,EHUjFE
h,CJUVaJhyV2hwN hZ5h\h\5h{qh4"h\h,jh,UjihyV2h,EHU/<<<(=*=B=D===>>>>>2>3>E>Z>>>>>>>??s?t?u?v?w???????hiii즙usUjYh4"h4"EHUj[E
h4"CJUVaJjh4"Uj(h{qh*EHUhyV2 hG~5 h4"5h{qh{q5h{qhrh,6jh,h,EHUjGE
h,CJUVaJjh,Uh4"h,h,6hrh,(Although these two formulas are equivalent, the newly derived one is much more accurate when evaluated numerically. For instance, it is easy to see that it gives the correct limiting behavior, EMBED Equation.DSMT4 , as x!". Use Matlab to compare these two formulas, for values of x which are greater or equal 1e16.
8. Numbers that are represented exactly, with no roundoff errors.
From the earlier discussion of the double precision standard it follows that any binary numbers that can fit entirely into the 53 bits allocated for storing its fractional part (which includes the implied highest bit) are represented exactly, with no loss of accuracy. Therefore, a number which is given by a sum of powers of two is represented without roundoff errors, provided that the difference between the highest and lowest powers is less or equal 52. This includes all integers which are smaller than 2^531H"9e15, since such integers can be represented as a binary number with 53 bits or less (2^531 is a binary number with all 53 bits equal to 1: 1111111111..1111).
Apart from integers, many fractional numbers are also represented exactly, for instance:
0.5 (decimal) = 21 = 0.1 (binary)
0.525 (decimal) = 21+22 = 0.11 (binary)
0.625 (decimal) = 21+23 = 0.101 (binary)
Surprisingly however, some simple decimal numbers which can be exactly represented using only one decimal digit, require an infinite number of binary bits to be represented without error! For instance, you can easily check the validity of the following binary representation of 1/10=0.1:
0.1 (decimal) = 0.00011001100110011(binary) = 24+25+28+29+212+213+
The explanation for this fact is very simple: since 0.1 = EMBED Equation.DSMT4 , it can never be represented as a sum of fractions that have only factors of 2 in the denominator (in other words, 5 is not divisible by 2).
This has serious consequences for calculations involving decimal fractions like 0.1. For example, try the following calculation in Matlab:
(0.1 + 0.1 + 0.1 + iiiiiijjj*j1j@jAjBjjbkdkmmm>mLmmmmnDn[n_nnnnnnnnnnnnnnnnoroׯzrh)\hx^6h4"hx^ hx^H*hx^5H*hx^hx^H*hXl_hx^5H*hwrhwNh6hx^ h4"5hyV2hyV25h{qh4"5h4"h4"h]h4"h4"6h4"jh4"UjY&h,h4"EHUjGE
h4"CJUVaJ,/nnnnnoo0p1pp}p`qaqqq#x$xxxxxyygdEf*`gdEf*gdlgdx^gd4"royoooooapcpepgpipkpmpopqpsptpvpyp{pp}ppppppppp\q]q_q`qqqqqqqqqqqrxxxxx x
xxxxxxxxxxϧUhEf*hEf*hEf*hwrj)hx^hx^EHUjfE
hx^CJUVaJjhx^UhKWXhHT h4"hx^hx^hx^H* hx^H*hwrhx^6hx^hx^hx^6<0.1 + 0.1 + 0.1 + 0.1 + 0.1)  0.8
To great surprise, it will return 1.11e16 (which equals 253, a roundoff error in the lowest bit), not zero! However, if you try
(0.5 + 0.5 + 0.5 + 0.5 + 0.5 + 0.5 + 0.5 + 0.5) 4
you will get zero, as expected!
xxxxxx"x`xcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyhEf*h{h)\ hEf*H*hEf*hEf*hEf**,1h/ =!"#$%%Dd
@b
c$A??3"`?2o FwN)qyKD`!C FwN)qy4 xڕSkAf6۴zDSAil!лd`R<[]u!لl$ *UH!ŃW=Wxz/Ѓ^DW\͛3JP%v!/?%g ]qCud> y(\*JV{M((3"Ö(?}&Q^]:[$G rNނ=CS$^eĴ'11iE*`Y),LTzF
03aYT"[)5;QIi/gr#GqlԷPT^+`Vп[h/NVTۘj{ 3Qfn"e_\ʑt˗Dvt5: Tߎ/7HocG4<(O2WwB2b 2O˓.xY9yOJrND<?J:DŔd0aEäADd
b
c$A??3"`?2xQyߊZՙgi`!_xQyߊZՙJ @e%xڭUOA3vbĄhKh5@L
4r4RŤV]. ^l41DًDC$bTCڠ˦3vhE=M"VR99nCËRO:ƌa$ܩOziVN_K`Ub"" XC1yBXbrK4ھG28!{?z$zf]&Rowbcaˡf7u:j'Z::l*%q[n;5XXxjv6>33)f/UnKIe$L nqjx5Іw&&`d;Cteɩ`@dW'UXvOwNZ`&r#a!ͣFo!3Dd
H
b
c$A??3"`?2}PD%(]8͖}jY`!QPD%(]8͖}j@`H PxڵUMhA~3I$5A)5 XB$K i%A$֭6D,b)Bz"Ńx
[oBo^DB`goO }H(^s#HEٴG}n~<#:%wU
9llJr8Mðۏ5VμZ>N.0FJK >yu~,mոi^D[O
{6k}yMQ}fLO_IVk*N}At`$<u>MLeٱea8sE(ð3Na/\
Sl"ߘʀ<]@WlXΦb_O!bNIվRv[?[q#5(UeNۃH:R1 rTZCf"8ͅԦE%rD_qz,Jp0A
=RQYc64̱vEvbnU65nTGniAfs'eS&?
[#EzwIIH8X]xW˪Gzk^ddDd
b
c$A??3"`?2n+&0Sv`!n+&0Sv\`(8PxڭTMhA~34Gۂֶ%m[MF]54T
RDx"HxCHERX0٘ZΗ77?()!"Zڨt8?~W0c
:4C;0yq`PzRtx~¶6Pt什FaD/䖨fTɭ7HWr~ɝ9uSa4#ڢU!}@ ɚyc,s$~BBl@^0qǿf 4LC
0RaO`o*L*EvPRk\ޡEKFVhM0[I*]jGh){67}־x<]R뭑?cn[a>Hg^asGMD汱;D%ҁѡ wg2t>s?wI_4T8ȜZթ9ōTF8=4t'+LG>9+a})DՑ6ӋA@*a_\n0#Uf`WǑ_L1)x>brgnUnZ#rƭ:7v;z`!Yu꿾mWWW6yi
fmSh)?mfD
hTյ{J,Dd
hb
c$A??3"`
!"#$%&'()*+,./0123456789:;<=>@ABCDEFbILMNOPQSRTUWVXYZ[\]_^`aqcdefghijklmnopruvwxyz{}~Root Entry2 F<=$KData
?,WordDocument1.ObjectPool4 p=$<=$_1171733242Fp=$p=$Ole
CompObjiObjInfo #&'()*+.12347:;<?BCDGJKLMNOPQRSTWZ[\]_`abcdeghijkln
FMathType 5.0 EquationMathType EFEquation.DSMT49qDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A
sin(x++Equation Native _1171735384Fp=$p=$Ole
CompObj
i2pn)
FMathType 5.0 EquationMathType EFEquation.DSMT49q$DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_EObjInfo
Equation Native
_1171814732Fp=$p=$Ole
_A
(10"9)14
==p14!k!(14"k)!k==014
"
10k
("9)14"k
==1
FMathType 5.0 EquationMathType EFEquation.DSMT49qCompObjiObjInfoEquation Native _1171737984,Fp=$p=$´(DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A
cos(100)==p("1)nn==0"
"
1002n
(2n)!H"0.8623
FMathType 5.0 EquationMathType EFEquation.DSMT49q$DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_EOle
!CompObj"iObjInfo$Equation Native %_A
x2
21x"1"1x++1()==x2
x2
"1
FMathType 5.0 EquationMathType EFEquation.DSMT49q_1171735511Fp=$k
=$Ole
,CompObjiObjInfo/Equation Native 0_1171736250"Fp=$p=$Ole
5CompObj 6i$DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A
x++1
"
x"1
FMathType 5.0 EquationMathType EFEquation.DSMT49qObjInfo!8Equation Native 9_1171736462$Fk
=$k
=$Ole
=DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A
x++1
FMathType 5.0 EquationMathType EFEquation.DSMT49qCompObj#%>iObjInfo&@Equation Native A_1171741465)Fk
=$k
=$$DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A
1/
x
FMathType 5.0 EquationMathType EFEquation.DSMT49qOle
ECompObj(*FiObjInfo+HEquation Native IDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A
x++1
"
x"1
==
x++1
"
x"1
()
x++1
++
x"1
x++1
++
x"1
==(x++1)"(x"1)
x++1
++
x"1
==2
x++1
++
x"1
FMathType 5.0 EquationMathType EFEquation.DSMT49q_1171744438'.Fk
=$k
=$Ole
UCompObj/ViObjInfo0X$DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A
125Oh+'0 0Equation Native Y1Tablet*6SummaryInformation(3^DocumentSummaryInformation8f?2E ytLhғn`!E ytLhғnڎ @%xڕSMkSA=w&i!UR4EkcIӴM
&
1k4MmZBAJRA7
tQD!хsSx}uwν3s @֡bD"l6t:uw1Ѓ$ba'ڢر!<;O)i.qn8AOt#]F1n3!_/
6ƘG[)hc˘9jrs[Tnnϕ)nnV15C0Ptˊ>myJ5 ۬wv]aMaAN\lT#jR\\_V߱E"_WYesJy>wH=C_k?Ry_j ]+_`x^*m0%s)Ih6;.$Gd嚑)UTk!RRXҋyҹHTDޡT}t(1B"! )Y)0
źY
lZo_vl}R.zJ;"pNDd
hb
c$A??3"`?2
O6N7=S!&tJ`!l
O6N7=S!& @d:xڕSAkAl6m@[=4hɃ&тR
B\u$% =("^
)қ^y(Rx T1ٝo73潷 @; `CgD
z:Kǔ/,""%@L0If,!ƞƯ4jW9yy)GMi%5z>Q:>}R:H ~<Mezm+#mhOnaWh8 $(w6xW"GX:
si7jU{_k}d3ִ̓qϩ*HG;yxwF{H#%?IBzV.֮}F56U?꾼L!WJJenkw4GT4q=]ۨ\D<+vn\n,zd忞myJ5 ۬wv]aMaAN\lT#jR\\_V߱E"_WYesJy>wH=C_k?Ry_j ]+_`x^*m0%s)Ih6;.$Gd嚑)UTk!RRXҋyҹHTDޡT}t(1B"! )Y)0
źY
lZo_vl}R.zJ;"p7Dd
Xhb
c$A??3"`?2&p\WBXɺC]5`!U&p\WBXɺC@#xڕRMkQ=Mm>`&
Tk*6$Z`RJA:@HIBQ7
E]ƍ踩bo%w澗s!ho .B$áY勊ѻȈd0e1`g
۞3]T\ !ޖ(`?%:$S3]cTզxxH %fעxIw=]yѧ}qym@lbfAhNJ"r@&{RqJmvNG[*xp&jDweZLJx":ih+_]Y_\PJnTvjuiVeݢ6'Z[۪W*[ܨ
yxPN;f^.m=Ӹi[3>mXeb32+l%[_Jpu/wuZN.W}s֍1C6}g}P
~ķY_EFlFBbҚ$vz g7lD.H}7W쳷>IQlar¶̜.CPrj)XRVB3c#A8Ѓ
m9I1Gv0Q&j%Qa'eݭddEvEiWG߮Ksv93SEUD顔uZccqFЃ+JQܩK^ԘcvbݲXX2:,4gpL+\"ӣ.ssy[d.E튠WZQKtzuGP?Vv.1S<1d'=QA(+/*5WJg\J;/knIWM?/ΰX7Dd
Xhb
c$A??3"`? 2&p\WBXɺC]&`!U&p\WBXɺC@#xڕRMkQ=Mm>`&
Tk*6$Z`RJA:@HIBQ7
E]ƍ踩bo%w澗s!ho .B$áY勊ѻȈd0e1`g
۞3]T\ !ޖ(`?%:$S3]cTզxxH %fעxIw=]yѧ}qym@lbfAhNJ"r@&{RqJmvNG[*xp&jDweZLJx":ih+_]Y_\PJnTvjuiVeݢ6'Z[۪W*[ܨ
yxPN;f^.m=Ӹi[3>mXeb32S7vsTY %{EgCzQjvVk7?#kTUdrQDa=9ʊS~?G tx#de>n쭇R:g٫xnȏcfCNHkQZjhp}La6m5ӑ]AKQ7Qc/Tsk.WN(5Ǫj<
\h
t(Math 240 Spring 2005, Victor MatveevVictor MatveevNormal.dotVictor Matveev6Microsoft Office Word@q@:U#@M=$,.՜.+,D՜.+,Xhp
NJITc6'Math 240 Spring 2005, Victor MatveevTitleH 6>
MTWinEqns
FMicrosoft Office Word Document
MSWordDocWord.Document.89q@@@{qNormalCJ_HaJmH sH tH DADDefault Paragraph FontRiRTable Normal4
l4a(k(No Liste@+]HTML Preformatted7
2(
Px4 #\'*.25@9CJOJQJ^JaJ6 
'{}`almTU.
/
efq
r
67VW3yJKLMNop'(()opLM` a !!+!,!&#'#g#h#o$p$$$@'A'j'k''''''((**,,//G/H/1J2K2222233>4?4"5#55555l6m666660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000@000000000000000000000000'{}`almTU.
/
efq
r
67VW3yJKLMNop'(()opLM` a !+!,!&#'#g#h#o$p$$$@'A'j'k''''''((**,,//G/H/1J2K2222233>4?4"5#55555600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A 0I00K00{
!!'$4+/57<iroxy #$%'(*+,./1239;=qJ(%2/ny!&)0:y"!!!k''''''''''((L*d*f*a+y+{+),A,C,...y4446:::::::::::OLE Fields 166&
""##($.$"'('..556'zjl
CEr v !!#5###''''''((C*L*&,),..44w4y4666333333333333333333333333333mUr
J()sKk''K22223>4x55m6666(=M^`Mo((0^`0o((.p0p^p`0o((..^`o((...
xx^x`o(
(....
`^``o((.....
`^``o((......
^`o((.......
^`o((........(=
q}^QDX_l_lAq sb}^QDX8ZUAz[^qq sbg8ZUK