Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 39 and 400] [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]

   1  <?php
   2  
   3  declare(strict_types=1);
   4  
   5  namespace Phpml\Math\Kernel;
   6  
   7  use Phpml\Math\Kernel;
   8  use Phpml\Math\Product;
   9  
  10  class RBF implements Kernel
  11  {
  12      /**
  13       * @var float
  14       */
  15      private $gamma;
  16  
  17      public function __construct(float $gamma)
  18      {
  19          $this->gamma = $gamma;
  20      }
  21  
  22      /**
  23       * @param array $a
  24       * @param array $b
  25       */
  26      public function compute($a, $b): float
  27      {
  28          $score = 2 * Product::scalar($a, $b);
  29          $squares = Product::scalar($a, $a) + Product::scalar($b, $b);
  30  
  31          return exp(-$this->gamma * ($squares - $score));
  32      }
  33  }