/* 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; }
}
}