UNPKG

multivariate-normal

Version:

Port of NumPy's random.multivariate_normal to Node.JS

34 lines (22 loc) 1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _lodash = require("lodash.isarray"); var _lodash2 = _interopRequireDefault(_lodash); var _validation = require("./validation.js"); var _distribution = require("./distribution.js"); var _distribution2 = _interopRequireDefault(_distribution); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var MultivariateNormal = function MultivariateNormal(unvalidatedMean, unvalidatedCov) { if (!(0, _lodash2.default)(unvalidatedMean)) { throw new Error("mean must be an array"); } var n = unvalidatedMean.length; var mean = (0, _validation.validateMean)(unvalidatedMean, n); var _validateCovAndGetSVD = (0, _validation.validateCovAndGetSVD)(unvalidatedCov, n), cov = _validateCovAndGetSVD.cov, svd = _validateCovAndGetSVD.svd; return (0, _distribution2.default)(n, mean, cov, svd); }; exports.default = MultivariateNormal;