/* MOD_V2.0 * Copyright (c) 2012 OpenDA Association * All rights reserved. * * This file is part of OpenDA. * * OpenDA is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * OpenDA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with OpenDA. If not, see . */ using System; namespace OpenDA.DotNet.Interfaces { public interface IStochVector { /// /// Draw a realization from the uncertainty internal to the StochVector /// /// generated vector created, most often from pseudo-random numbers IVector CreateRealization(); /// /// Evaluate the probability density function. /// /// vector with value(s) for which to check pdf /// Pdf value double EvaluatePdf(IVector vector); /// /// Get expectation values of the uncertain Vector /// /// expectation values IVector Expectations { get; } /// /// Get square-root of the covariance as an object. A square-root of the /// covariance P is a matrix L that satisfies P=L*transpose(L). Most often working with the /// square-root is more convenient than workin with the covariance itself. /// /// Square-root of the covariance. ISqrtCovariance SqrtCovariance { get; } /// /// True if the elements of the stochastic vector are uncorrelated. You can treat the values one /// by one in a linear context if this is so. /// /// true if independent, false if dependencies exist. bool HasCorrelatedElements(); /// /// Get the standard deviation for each element of the stochastic vector. /// /// Vector with standard deviations IVector StandardDeviations { get; } } }