   08:36

# About generation of number sequences in SQL Server page 2

The Fibonacci sequence might be calculated by this iteration formula:

`A[i+2] = A[i] + A[i+1];  i = 1,…, n; A = A = 1.`

It`s simple to see the analogy with general case in previous point if we bring in function f(x,y)=x+y. The [iter] column is used for keeping iteration`s number, [a] column is used for keeping A[i], [b] and [c] for A[i+1] and A[i+2] correspondingly. The [d] column is not in use. The calculation of Fibonacci numbers may be put into code accordingly to general method like this:  Console
`WITH Fibonacci(iter,a,b,c) AS( SELECT iter=1, a=1, b=1, c=1+1 UNION ALL SELECT iter+1, a=b, b=c, c=b+c FROM Fibonacci WHERE b < 1000)SELECT * FROM Fibonacci;`

Let`s give the result of query for calculation Fibonacci numbers are less than 1000 (2nd column).

iter a b c
1    1    1    2
2    1    2    3
3    2    3    5
4    3    5    8
5    5    8    13
6    8    13    21
7    13    21    34
8    21    34    55
9    34    55    89
10    55    89    144
11    89    144    233
12    144    233    377
13    233    377    610
14    377    610    987
15    610    987    1597
16    987    1597    2584

#### C. Equation`s root finding

The large section of mathematical and functional analysis is dedicated to finding equations` roots of one-variable and multivariable functions. The root of equation g(x) = 0 is a number r (or vector r) which complies with condition g(r) = 0. The general method of solving such equations is in reduction to the problem of fixed point:

`x=f(x).`

The sense of this reduction is in the finding of such function f which makes equations g(x) = 0 and x = f(x) equivalent. Besides, operator f must be contracting. That is if the value r1 takes place near solution r, than the value r2 = f(r1) must be even nearer to the solution: abs(r-r2) < A * abs(r-r1), where positive constant A is less then unity (A<1) and isn`t depends on select of r1 value.

The contracting mappings are possible be many. The preference ones are that for which A constant takes less value. The less the constant the process of finding of equation`s g(x) root converges faster:

`r2 = f(r1), r3 = f(r2),  r4 = f(r3) …`
Let`s note an illustrating example in SQL.
 Pages 1 2 3  