예제 #1
0
    /**
     * Проверка матрицы на симметричность
     *
     * @param Matrix $matrix_a Матрица
     *
     * @return bool
     */
    public static function is_symmetric_matrix(Matrix $matrix_a)
    {
        if (!Matrix_Helper::is_square_matrix($matrix_a))
            throw new MathException('Матрица должна быть квадратной');

        $is_symmetric_matrix = true;

        for ($i = 0; $i < $matrix_a->get_rows_count(); $i++)
            for ($j = $i + 1; $j < $matrix_a->get_cols_count(); $j++)
                $is_symmetric_matrix = $is_symmetric_matrix && (Scalar_Helper::is_equal($matrix_a->get_item($i, $j), $matrix_a->get_item($j, $i)));

        return $is_symmetric_matrix;
    }