A symbolic algebra library for multivariate Gaussian and Gaussian process probabilistic models.
See project report in documents.
Install from PyPi using the following command:
sudo pip install SymGP
See examples in folder notebooks.
-
Allow
utils.replaceto replace expressions of the formD+AinD+2*AwithCto giveA+C. -
Provide functionality for
utils.simplifyto automatically replace expressions composed ofKernelMatrixmatrices e.g.
for an expressionK(f,u)*K(u,u).I*K(u,g), we would want to replace the whole expression with a newKernel
Q = Kernel(sub_kernels=[K,K],kernel_type='mul',mat=M,name='Q')(seekernel/kernel.py) where
M = Constant('M_{u,u}',n,n,full_expr=K(u,u).I),n = Symbol('n')(represents a variable shape)
K = Kernel()(represents a generic kernel function). This would then give the expressionQ(f,g)This can be done using
utils.replaceby callingutils.replace(K(f,u)*K(u,u).I*K(u,g),[Q])but we need to find
a way to detect these types of expressions automatically insimplify. -
Add more functionality to the
MVGclass to allow for example, addition ofMVGobjects. -
Improve code generation to convert symbolic expressions to code files in languages such as Python, Matlab, Julia, etc.