Search code examples
pythonsymlinksymbolic-maththeano

What does "symbolic" mean in this sentence?


I'm reading through Bergstra et al "Theano: new features and speed improvements" [2012] and do not understand the meaning of "symbolic" in this context (versus for instance a symbolic link to a directory) :

Using Theano’s symbolically-defined implementations within a Python loop prevents symbolic differentiation through the iterative process, and prevents certain graph optimizations from being applied. Completely unrolling the loop into a symbolic chain often leads to an unmanageably large graph and does not allow for “while”-style loops with a variable number of iterations.


Solution

  • Symbolic in this context refers to symbolic math.

    This means that you can perform mathematical programming using symbols, instead of needing variables that require numeric values, for example

    y = x**2 + 5*x + 7
    

    For the above to be valid in non-symbolic math, the variable x would need to have a numerical value, and the result of the right-hand side would be assigned to y, which would then have a numerical value.

    Conversely in symbolic math, the variables x and y could be symbols so you could then do something like (in psuedocode)

    diff(y, x)  # meaning differentiate y with respect to x
    

    and it would result in

    dy/dx = 2*x +5