private ComplexMatrix straightForwardMultiply(ComplexMatrix mx) {
        ComplexMatrix res = zeroMatrix(getColSize(), getColSize());

        for (int ci = 0; ci < getColSize(); ci++) {
            for (int ci2 = 0; ci2 < getColSize(); ci2++) {
                for (int ri = 0; ri < getRowSize(); ri++) {
                    try {
                        res.setElem(ci2, ci, res.getElem(ci2, ci).add(getElem(ri, ci).times(mx.getElem(ci2, ri))));
                    } catch (Exception e) {
                        e.printStackTrace();
                        return null;
                    }
                }
            }
        }

        return res;
    }