Example #1
0
 /**
  * @param NumericMatrix $mX Row Vector
  * @param NumericMatrix $mY Columnvector
  * @return NumericMatrix
  * @throws MathMatrixException
  */
 protected function createFromMatrices(NumericMatrix $mX, NumericMatrix $mY)
 {
     $mX = $mX->is('columnvector') ? $mX : ($mX = $mX('Transpose'));
     $mY = $mY->is('rowvector') ? $mY : ($mY = $mY('Transpose'));
     $ones = new Ones();
     $mVertices = $mX->vertices();
     $onesRow = $ones->create([1, $mVertices]);
     $onesCol = $ones->create([$mVertices, 1]);
     //C = x * ones (1, n) + ones (n, 1) * y
     $m1 = $mX('Mul\\Matrix', $onesRow);
     $m2 = $onesCol('Mul\\Matrix', $mY);
     $mC = $m1('Add\\Matrix', $m2);
     $onesSquare = $ones->create([$mVertices, $mVertices]);
     //C = ones (n) ./ C;
     return $onesSquare('Div\\Entrywise', $mC);
 }
Example #2
0
 public function testYouCanCreateAOnesMatrixWithTwoIntegerParametersGreaterThanOne()
 {
     $test = $this->sut->create([3, 3]);
     $expected = new NumericMatrix([[1, 1, 1], [1, 1, 1], [1, 1, 1]]);
     $this->assertTrue($test->equality($expected, false));
 }