コード例 #1
0
ファイル: fib_matrix.py プロジェクト: zamiljitu/DPV
def matrix_pow(M, n):
    res = [[1, 0], [0, 1]]
    while n > 0:
        if n & 1:
            res = matrixmultiply(res, M)
        M = matrixmultiply(M, M)
        n = n >> 1
    return res
コード例 #2
0
ファイル: fib_matrix.py プロジェクト: MotoLee/DPV
def matrix_pow(M, n):
    res = [[1, 0], [0, 1]]
    while n > 0:
        if n & 1:
            res = matrixmultiply(res, M)
        M = matrixmultiply(M, M)
        n = n >> 1
    return res
コード例 #3
0
ファイル: fib_matrix.py プロジェクト: zamiljitu/DPV
def fibmatrix(n):
    """ initial matrix - derived from F1 = F1 and F2 = F1 + F0 """
    Mat = [[0, 1], [1, 1]]
    F = [[0], [1]]
    Fn = matrix_pow(Mat, n)
    ans = matrixmultiply(Fn, F)
    return ans[0]
コード例 #4
0
ファイル: fib_matrix.py プロジェクト: MotoLee/DPV
def fibmatrix(n):
    """ initial matrix - derived from F1 = F1 and F2 = F1 + F0 """
    Mat = [[0, 1], [1, 1]]
    F = [[0], [1]]
    Fn = matrix_pow(Mat, n)
    ans = matrixmultiply(Fn, F)
    return ans[0]