NURBS:我在哪里可以找到这两个线性代数效用函数?

时间:2018-05-16 12:13:21

标签: linear-algebra matrix-decomposition

我正在通过Piegl和Tiller的 The NURBS Book 工作。对于全局插值算法,它们要求您提供两个实用程序来解决线性方程组:

  

LUDecomposition(A, q, sbw)q x q系数矩阵与semibandwidth sbw分解为下三角和上三角分量;为简单起见,我们假设A是一个q x q方阵,但是只使用一个只存储非零波段的实用程序。

     

ForwardBackward(A, q, sbw, rhs, sol)执行前进/后退替换(参见[Press88]); rhs []是系统的右侧(Q_k的坐标),sol []是解向量(P_i的坐标)。

检查参考按88,我发现它是C 中的 Numerical Recipes。我应该能够在该书中重新编写算法以获得ForwardBackward函数,但就LUDecomposition而言,我在哪里可以找到适用于带有对角线条的矩阵的特殊情况的算法?

1 个答案:

答案 0 :(得分:0)

Tridiagonal matrix

的LU分解的Matlab代码
ResponseEntity

为了解决,前子和后子。

 function [u1,d1,l1] = decomt(u,d,l)
    %length of diagonal
    n=length(d);
    u1=u;
    d1 = d;
    l1=l;

    %perform LU decomp

    d1(1) = d(1);
    for i =2:n
        l1(i-1) = l(i-1)/d1(i-1); %update lower triangle
        d1(i)= d(i) - (l(i-1)/d1(i-1))*u(i-1); % update diagonal
    end
    end