Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

Differences Between: [Versions 311 and 400] [Versions 311 and 401] [Versions 311 and 402] [Versions 311 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  }