VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /usr/local/lib/python3.6/dist-packages/sympy/stats/tests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/local/lib/python3.6/dist-packages/sympy/stats/tests/test_error_prop.py
from sympy import symbols, exp, Function
from sympy.stats.error_prop import variance_prop
from sympy.stats.symbolic_probability import (RandomSymbol, Variance,
        Covariance)


def test_variance_prop():
    x, y, z = symbols('x y z')
    phi, t = consts = symbols('phi t')
    a = RandomSymbol(x)
    var_x = Variance(a)
    var_y = Variance(RandomSymbol(y))
    var_z = Variance(RandomSymbol(z))
    f = Function('f')(x)
    cases = {
        x + y: var_x + var_y,
        a + y: var_x + var_y,
        x + y + z: var_x + var_y + var_z,
        2*x: 4*var_x,
        x*y: var_x*y**2 + var_y*x**2,
        1/x: var_x/x**4,
        x/y: (var_x*y**2 + var_y*x**2)/y**4,
        exp(x): var_x*exp(2*x),
        exp(2*x): 4*var_x*exp(4*x),
        exp(-x*t): t**2*var_x*exp(-2*t*x),
        f: Variance(f),
        }
    for inp, out in cases.items():
        obs = variance_prop(inp, consts=consts)
        assert out == obs

def test_variance_prop_with_covar():
    x, y, z = symbols('x y z')
    phi, t = consts = symbols('phi t')
    a = RandomSymbol(x)
    var_x = Variance(a)
    b = RandomSymbol(y)
    var_y = Variance(b)
    c = RandomSymbol(z)
    var_z = Variance(c)
    covar_x_y = Covariance(a, b)
    covar_x_z = Covariance(a, c)
    covar_y_z = Covariance(b, c)
    cases = {
        x + y: var_x + var_y + 2*covar_x_y,
        a + y: var_x + var_y + 2*covar_x_y,
        x + y + z: var_x + var_y + var_z + \
                   2*covar_x_y + 2*covar_x_z + 2*covar_y_z,
        2*x: 4*var_x,
        x*y: var_x*y**2 + var_y*x**2 + 2*covar_x_y/(x*y),
        1/x: var_x/x**4,
        exp(x): var_x*exp(2*x),
        exp(2*x): 4*var_x*exp(4*x),
        exp(-x*t): t**2*var_x*exp(-2*t*x),
        }
    for inp, out in cases.items():
        obs = variance_prop(inp, consts=consts, include_covar=True)
        assert out == obs

VaKeR 2022