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

identity() публичный статический Метод

public static identity ( integer $size ) : self
$size integer How many rows and columns the identity matrix should have
Результат self
    public static function identity(int $size) : self
    {
        $literal = [];
        for ($i = 0; $i < $size; ++$i) {
            $literal[] = [];
            for ($j = 0; $j < $size; ++$j) {
                $literal[$i][] = $i === $j ? 1 : 0;
            }
        }
        return new static($literal);
    }

Usage Example

Пример #1
0
 public function testIdentity()
 {
     $identity = Matrix::identity(3);
     static::assertEquals(1, $identity->get(0, 0));
     static::assertEquals(0, $identity->get(0, 1));
     static::assertEquals(0, $identity->get(0, 2));
     static::assertEquals(0, $identity->get(1, 0));
     static::assertEquals(1, $identity->get(1, 1));
     static::assertEquals(0, $identity->get(1, 2));
     static::assertEquals(0, $identity->get(2, 0));
     static::assertEquals(0, $identity->get(2, 1));
     static::assertEquals(1, $identity->get(2, 2));
 }