Lucas

Compute the nth Lucas number.

The Lucas numbers are the integer sequence

2 comma 1 comma 3 comma 4 comma 7 comma 11 comma 18 comma 29 comma 47 comma 76 comma 123 comma 199 comma 322 comma ellipsis

The sequence is defined by the recurrence relation

upper L Subscript n Baseline equals StartLayout Enlarged left-brace 1st Row 1st Column 2 2nd Column if n equals 0 2nd Row 1st Column 1 2nd Column if n equals 1 3rd Row 1st Column upper L Subscript n minus 1 Baseline plus upper L Subscript n minus 2 Baseline 2nd Column if n greater-than 1 EndLayout

Usage

var lucas = require( '@stdlib/math/base/special/lucas' );

lucas( n )

Computes the nth Lucas number.

var v = lucas( 0 );
// returns 2

v = lucas( 1 );
// returns 1

v = lucas( 2 );
// returns 3

v = lucas( 3 );
// returns 4

v = lucas( 76 );
// returns 7639424778862807

If n > 76, the function returns NaN, as larger Lucas numbers cannot be safely represented in double-precision floating-point format.

var v = lucas( 77 );
// returns NaN

If not provided a nonnegative integer value, the function returns NaN.

var v = lucas( 3.14 );
// returns NaN

v = lucas( -1 );
// returns NaN

If provided NaN, the function returns NaN.

var v = lucas( NaN );
// returns NaN

Examples

var lucas = require( '@stdlib/math/base/special/lucas' );

var v;
var i;

for ( i = 0; i < 77; i++ ) {
    v = lucas( i );
    console.log( v );
}