MCordingley\LinearAlgebra\Matrix::diagonal PHP Метод

diagonal() публичный Метод

public diagonal ( ) : self
Результат self
    public function diagonal() : self
    {
        return $this->map(function (float $element, int $i, int $j) {
            return $i === $j ? $element : 0;
        });
    }

Usage Example

Пример #1
0
 public function testDiagonal()
 {
     $matrix = new Matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);
     $diagonal = $matrix->diagonal();
     static::assertEquals(1, $diagonal->get(0, 0));
     static::assertEquals(0, $diagonal->get(0, 1));
     static::assertEquals(0, $diagonal->get(0, 2));
     static::assertEquals(0, $diagonal->get(1, 0));
     static::assertEquals(5, $diagonal->get(1, 1));
     static::assertEquals(0, $diagonal->get(1, 2));
     static::assertEquals(0, $diagonal->get(2, 0));
     static::assertEquals(0, $diagonal->get(2, 1));
     static::assertEquals(9, $diagonal->get(2, 2));
 }