矩阵类

Posted qdscwyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了矩阵类相关的知识,希望对你有一定的参考价值。

无取模

template <typename Int>
struct Matrix {
    Int m[M][M];
    int row, column;
    Matrix() {
        for (int i = 0; i < M; i += 1)
            for (int j = 0; j < M; j += 1)
                m[i][j] = 0;
    }
    Matrix(int _r) : Matrix() {
        row = _r, column = _r;
        for (int i = 0; i < row; i += 1) f[i][i] = 1;
    }
    Matrix(int _r, int _c) : Matrix(){ row = _r, column = _c; }
    Int* operator [](int row) const {
        return (Int*)m[row];
    }
    void Show() {
        puts("
begin matrix");
        for (int i = 0; i < row; i += 1) {
            for (int j = 0; j < column; j += 1)
                printf("%.3f ", m[i][j]);
            puts("");
        }
        puts("end matrix
");
    }
    Matrix operator * (const Matrix& o) const {
        Matrix res(Matrix(row, o.column));
        for (int i = 0; i < row; i += 1)
            for (int j = 0; j < o.column; j += 1) {
                for (int k = 0; k < column; k += 1) 
                    res.m[i][j] += m[i][k] * o.m[k][j];
            }
        return res;
    }
    Matrix operator ^ (int pow) const {
        Matrix res(Matrix(row)), base(Matrix(row, row));
        while (pow) {
            if (pow & 1) res = res * base;
            base = base * base;
            pow >>= 1;
        }
        return res;
    }
};

以上是关于矩阵类的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python 中并行化以下代码片段?

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

elasticsearch代码片段,及工具类SearchEsUtil.java

Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段

为啥片段类应该是公开的?

片段内部静态类和gradle问题