rss
    0

    【C++ 程序】 解线性方程组(Cramer法则)_cpp解线性方程组-CSDN博客

    2024.03.29 | admin | 48次围观
    【C++ 程序】 解线性方程组(Cramer法则)_cpp解线性方程组-CSDN博客

      用C/C++语言实现如下函数:

      1. bool lu(double* a, int* pivot, int n);矩阵的LU分解。

      假设数组anxn在内存中按行优先次序存放。此函数使用高斯列选主元消去法将其就地进行LU分解。pivot为输出参数,pivot[0,n) 中存放主元的位置排列。

      函数成功时返回false,否则返回true。

      2. bool guass(double const* lu, int const* p, double* b, int n);求线代数方程组的解

      设矩阵Lunxn为某个矩阵anxn的LU分解,在内存中按行优先次序存放。p[0,n)为LU分解的主元排列。b为方程组Ax=b的右端向量。此函数计算方程组Ax=b的解,并将结果存放在数组b[0,n)中。

      函数成功时返回false,否则返回true。

      3. void qr(double* a, double* d, int n);矩阵的QR分解

      假设数组anxn在内存中按行优先次序存放。此函数使用HouseHolder变换将其就地进行QR分解。

      d为输出参数,d [0,n) 中存放QR分解的上三角对角线元素。

      4. bool householder(double const*qr, double const*d, double*b, int n); 求线代数方程组的解

      设矩阵qrnxn为某个矩阵anxn的QR分解,在内存中按行优先次序存放。d [0,n) 为QR分解的上三角对角线元素。b为方程组Ax=b的右端向量。

      函数计算方程组Ax=b的解,并将结果存放在数组b[0,n)中。

      函数成功时返回false,否则返回true。

    版权声明

    本文仅代表作者观点,不代表xx立场。
    本文系作者授权xxx发表,未经许可,不得转载。

    发表评论