⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zlarfx.c

📁 InsightToolkit-1.4.0(有大量的优化算法程序)
💻 C
📖 第 1 页 / 共 4 页
字号:
        t6.r = tau->r * v[5].r + tau->i * v[5].i,
        t6.i = - tau->r * v[5].i + tau->i * v[5].r;
        t7.r = tau->r * v[6].r + tau->i * v[6].i,
        t7.i = - tau->r * v[6].i + tau->i * v[6].r;
        for (j = 0; j < *m; ++j) {
            i__1 = j;
            sum.r = v[0].r * c[i__1].r - v[0].i * c[i__1].i,
            sum.i = v[0].r * c[i__1].i + v[0].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[1].r * c[i__1].r - v[1].i * c[i__1].i,
            sum.i += v[1].r * c[i__1].i + v[1].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[2].r * c[i__1].r - v[2].i * c[i__1].i,
            sum.i += v[2].r * c[i__1].i + v[2].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[3].r * c[i__1].r - v[3].i * c[i__1].i,
            sum.i += v[3].r * c[i__1].i + v[3].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[4].r * c[i__1].r - v[4].i * c[i__1].i,
            sum.i += v[4].r * c[i__1].i + v[4].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[5].r * c[i__1].r - v[5].i * c[i__1].i,
            sum.i += v[5].r * c[i__1].i + v[5].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[6].r * c[i__1].r - v[6].i * c[i__1].i,
            sum.i += v[6].r * c[i__1].i + v[6].i * c[i__1].r;
            i__1 = j;
            c[i__1].r -= sum.r * t1.r - sum.i * t1.i,
            c[i__1].i -= sum.r * t1.i + sum.i * t1.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t2.r - sum.i * t2.i,
            c[i__1].i -= sum.r * t2.i + sum.i * t2.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t3.r - sum.i * t3.i,
            c[i__1].i -= sum.r * t3.i + sum.i * t3.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t4.r - sum.i * t4.i,
            c[i__1].i -= sum.r * t4.i + sum.i * t4.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t5.r - sum.i * t5.i,
            c[i__1].i -= sum.r * t5.i + sum.i * t5.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t6.r - sum.i * t6.i,
            c[i__1].i -= sum.r * t6.i + sum.i * t6.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t7.r - sum.i * t7.i,
            c[i__1].i -= sum.r * t7.i + sum.i * t7.r;
        }
        return; /* exit zlarfx */
L350:

/*        Special code for 8 x 8 Householder */

        t1.r = tau->r * v[0].r + tau->i * v[0].i,
        t1.i = - tau->r * v[0].i + tau->i * v[0].r;
        t2.r = tau->r * v[1].r + tau->i * v[1].i,
        t2.i = - tau->r * v[1].i + tau->i * v[1].r;
        t3.r = tau->r * v[2].r + tau->i * v[2].i,
        t3.i = - tau->r * v[2].i + tau->i * v[2].r;
        t4.r = tau->r * v[3].r + tau->i * v[3].i,
        t4.i = - tau->r * v[3].i + tau->i * v[3].r;
        t5.r = tau->r * v[4].r + tau->i * v[4].i,
        t5.i = - tau->r * v[4].i + tau->i * v[4].r;
        t6.r = tau->r * v[5].r + tau->i * v[5].i,
        t6.i = - tau->r * v[5].i + tau->i * v[5].r;
        t7.r = tau->r * v[6].r + tau->i * v[6].i,
        t7.i = - tau->r * v[6].i + tau->i * v[6].r;
        t8.r = tau->r * v[7].r + tau->i * v[7].i,
        t8.i = - tau->r * v[7].i + tau->i * v[7].r;
        for (j = 0; j < *m; ++j) {
            i__1 = j;
            sum.r = v[0].r * c[i__1].r - v[0].i * c[i__1].i,
            sum.i = v[0].r * c[i__1].i + v[0].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[1].r * c[i__1].r - v[1].i * c[i__1].i,
            sum.i += v[1].r * c[i__1].i + v[1].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[2].r * c[i__1].r - v[2].i * c[i__1].i,
            sum.i += v[2].r * c[i__1].i + v[2].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[3].r * c[i__1].r - v[3].i * c[i__1].i,
            sum.i += v[3].r * c[i__1].i + v[3].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[4].r * c[i__1].r - v[4].i * c[i__1].i,
            sum.i += v[4].r * c[i__1].i + v[4].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[5].r * c[i__1].r - v[5].i * c[i__1].i,
            sum.i += v[5].r * c[i__1].i + v[5].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[6].r * c[i__1].r - v[6].i * c[i__1].i,
            sum.i += v[6].r * c[i__1].i + v[6].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[7].r * c[i__1].r - v[7].i * c[i__1].i,
            sum.i += v[7].r * c[i__1].i + v[7].i * c[i__1].r;
            i__1 = j;
            c[i__1].r -= sum.r * t1.r - sum.i * t1.i,
            c[i__1].i -= sum.r * t1.i + sum.i * t1.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t2.r - sum.i * t2.i,
            c[i__1].i -= sum.r * t2.i + sum.i * t2.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t3.r - sum.i * t3.i,
            c[i__1].i -= sum.r * t3.i + sum.i * t3.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t4.r - sum.i * t4.i,
            c[i__1].i -= sum.r * t4.i + sum.i * t4.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t5.r - sum.i * t5.i,
            c[i__1].i -= sum.r * t5.i + sum.i * t5.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t6.r - sum.i * t6.i,
            c[i__1].i -= sum.r * t6.i + sum.i * t6.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t7.r - sum.i * t7.i,
            c[i__1].i -= sum.r * t7.i + sum.i * t7.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t8.r - sum.i * t8.i,
            c[i__1].i -= sum.r * t8.i + sum.i * t8.r;
        }
        return; /* exit zlarfx */
L370:

/*        Special code for 9 x 9 Householder */

        t1.r = tau->r * v[0].r + tau->i * v[0].i,
        t1.i = - tau->r * v[0].i + tau->i * v[0].r;
        t2.r = tau->r * v[1].r + tau->i * v[1].i,
        t2.i = - tau->r * v[1].i + tau->i * v[1].r;
        t3.r = tau->r * v[2].r + tau->i * v[2].i,
        t3.i = - tau->r * v[2].i + tau->i * v[2].r;
        t4.r = tau->r * v[3].r + tau->i * v[3].i,
        t4.i = - tau->r * v[3].i + tau->i * v[3].r;
        t5.r = tau->r * v[4].r + tau->i * v[4].i,
        t5.i = - tau->r * v[4].i + tau->i * v[4].r;
        t6.r = tau->r * v[5].r + tau->i * v[5].i,
        t6.i = - tau->r * v[5].i + tau->i * v[5].r;
        t7.r = tau->r * v[6].r + tau->i * v[6].i,
        t7.i = - tau->r * v[6].i + tau->i * v[6].r;
        t8.r = tau->r * v[7].r + tau->i * v[7].i,
        t8.i = - tau->r * v[7].i + tau->i * v[7].r;
        t9.r = tau->r * v[8].r + tau->i * v[8].i,
        t9.i = - tau->r * v[8].i + tau->i * v[8].r;
        for (j = 0; j < *m; ++j) {
            i__1 = j;
            sum.r = v[0].r * c[i__1].r - v[0].i * c[i__1].i,
            sum.i = v[0].r * c[i__1].i + v[0].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[1].r * c[i__1].r - v[1].i * c[i__1].i,
            sum.i += v[1].r * c[i__1].i + v[1].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[2].r * c[i__1].r - v[2].i * c[i__1].i,
            sum.i += v[2].r * c[i__1].i + v[2].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[3].r * c[i__1].r - v[3].i * c[i__1].i,
            sum.i += v[3].r * c[i__1].i + v[3].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[4].r * c[i__1].r - v[4].i * c[i__1].i,
            sum.i += v[4].r * c[i__1].i + v[4].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[5].r * c[i__1].r - v[5].i * c[i__1].i,
            sum.i += v[5].r * c[i__1].i + v[5].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[6].r * c[i__1].r - v[6].i * c[i__1].i,
            sum.i += v[6].r * c[i__1].i + v[6].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[7].r * c[i__1].r - v[7].i * c[i__1].i,
            sum.i += v[7].r * c[i__1].i + v[7].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[8].r * c[i__1].r - v[8].i * c[i__1].i,
            sum.i += v[8].r * c[i__1].i + v[8].i * c[i__1].r;
            i__1 = j;
            c[i__1].r -= sum.r * t1.r - sum.i * t1.i,
            c[i__1].i -= sum.r * t1.i + sum.i * t1.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t2.r - sum.i * t2.i,
            c[i__1].i -= sum.r * t2.i + sum.i * t2.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t3.r - sum.i * t3.i,
            c[i__1].i -= sum.r * t3.i + sum.i * t3.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t4.r - sum.i * t4.i,
            c[i__1].i -= sum.r * t4.i + sum.i * t4.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t5.r - sum.i * t5.i,
            c[i__1].i -= sum.r * t5.i + sum.i * t5.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t6.r - sum.i * t6.i,
            c[i__1].i -= sum.r * t6.i + sum.i * t6.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t7.r - sum.i * t7.i,
            c[i__1].i -= sum.r * t7.i + sum.i * t7.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t8.r - sum.i * t8.i,
            c[i__1].i -= sum.r * t8.i + sum.i * t8.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t9.r - sum.i * t9.i,
            c[i__1].i -= sum.r * t9.i + sum.i * t9.r;
        }
        return; /* exit zlarfx */
L390:

/*        Special code for 10 x 10 Householder */

        t1.r = tau->r * v[0].r + tau->i * v[0].i,
        t1.i = - tau->r * v[0].i + tau->i * v[0].r;
        t2.r = tau->r * v[1].r + tau->i * v[1].i,
        t2.i = - tau->r * v[1].i + tau->i * v[1].r;
        t3.r = tau->r * v[2].r + tau->i * v[2].i,
        t3.i = - tau->r * v[2].i + tau->i * v[2].r;
        t4.r = tau->r * v[3].r + tau->i * v[3].i,
        t4.i = - tau->r * v[3].i + tau->i * v[3].r;
        t5.r = tau->r * v[4].r + tau->i * v[4].i,
        t5.i = - tau->r * v[4].i + tau->i * v[4].r;
        t6.r = tau->r * v[5].r + tau->i * v[5].i,
        t6.i = - tau->r * v[5].i + tau->i * v[5].r;
        t7.r = tau->r * v[6].r + tau->i * v[6].i,
        t7.i = - tau->r * v[6].i + tau->i * v[6].r;
        t8.r = tau->r * v[7].r + tau->i * v[7].i,
        t8.i = - tau->r * v[7].i + tau->i * v[7].r;
        t9.r = tau->r * v[8].r + tau->i * v[8].i,
        t9.i = - tau->r * v[8].i + tau->i * v[8].r;
        t10.r = tau->r * v[9].r + tau->i * v[9].i,
        t10.i = - tau->r * v[9].i + tau->i * v[9].r;
        for (j = 0; j < *m; ++j) {
            i__1 = j;
            sum.r = v[0].r * c[i__1].r - v[0].i * c[i__1].i,
            sum.i = v[0].r * c[i__1].i + v[0].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[1].r * c[i__1].r - v[1].i * c[i__1].i,
            sum.i += v[1].r * c[i__1].i + v[1].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[2].r * c[i__1].r - v[2].i * c[i__1].i,
            sum.i += v[2].r * c[i__1].i + v[2].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[3].r * c[i__1].r - v[3].i * c[i__1].i,
            sum.i += v[3].r * c[i__1].i + v[3].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[4].r * c[i__1].r - v[4].i * c[i__1].i,
            sum.i += v[4].r * c[i__1].i + v[4].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[5].r * c[i__1].r - v[5].i * c[i__1].i,
            sum.i += v[5].r * c[i__1].i + v[5].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[6].r * c[i__1].r - v[6].i * c[i__1].i,
            sum.i += v[6].r * c[i__1].i + v[6].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[7].r * c[i__1].r - v[7].i * c[i__1].i,
            sum.i += v[7].r * c[i__1].i + v[7].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[8].r * c[i__1].r - v[8].i * c[i__1].i,
            sum.i += v[8].r * c[i__1].i + v[8].i * c[i__1].r;
            i__1 += *ldc;
            sum.r += v[9].r * c[i__1].r - v[9].i * c[i__1].i,
            sum.i += v[9].r * c[i__1].i + v[9].i * c[i__1].r;
            i__1 = j;
            c[i__1].r -= sum.r * t1.r - sum.i * t1.i,
            c[i__1].i -= sum.r * t1.i + sum.i * t1.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t2.r - sum.i * t2.i,
            c[i__1].i -= sum.r * t2.i + sum.i * t2.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t3.r - sum.i * t3.i,
            c[i__1].i -= sum.r * t3.i + sum.i * t3.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t4.r - sum.i * t4.i,
            c[i__1].i -= sum.r * t4.i + sum.i * t4.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t5.r - sum.i * t5.i,
            c[i__1].i -= sum.r * t5.i + sum.i * t5.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t6.r - sum.i * t6.i,
            c[i__1].i -= sum.r * t6.i + sum.i * t6.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t7.r - sum.i * t7.i,
            c[i__1].i -= sum.r * t7.i + sum.i * t7.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t8.r - sum.i * t8.i,
            c[i__1].i -= sum.r * t8.i + sum.i * t8.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t9.r - sum.i * t9.i,
            c[i__1].i -= sum.r * t9.i + sum.i * t9.r;
            i__1 += *ldc;
            c[i__1].r -= sum.r * t10.r - sum.i * t10.i,
            c[i__1].i -= sum.r * t10.i + sum.i * t10.r;
        }
        return; /* exit zlarfx */
    }
} /* zlarfx_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -