Class: Dicey::DistributionCalculators::PolynomialConvolution

Inherits:
BaseCalculator
  • Object
show all
Defined in:
lib/dicey/distribution_calculators/polynomial_convolution.rb

Overview

Calculator for lists of dice with integer sides (fast), using polynomial convolution.

Example dice: (1,2,3,4), (0,1,-5,6), (5,4,5,4,5).

Discrete random variables can be represented as polynomials, while probability mass function of a sum of independent random variables is a convolution of their probability mass functions, which corresponds to multiplication of polynomials.

Uses Kronecker substitution method for polynomial multiplication.

Constant Summary

Constants inherited from BaseCalculator

BaseCalculator::RESULT_TYPES

Method Summary

Methods inherited from BaseCalculator

#call, #heuristic_complexity, #valid_for?