#!/usr/bin/env python3
from sympy import *
x = [f'x{x}'for x in range(3)]
a = Matrix(x)
b = Matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
c = expand(a.dot(b * a))
if __name__ == '__main__':
print([diff(c, i).subs(list(zip(x, range(1, 4)))) for i in x])
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwpmcm9tIHN5bXB5IGltcG9ydCAqCgp4ID0gW2YneHt4fSdmb3IgeCBpbiByYW5nZSgzKV0KCmEgPSBNYXRyaXgoeCkKYiA9IE1hdHJpeChbWzEsIDIsIDNdLCBbNCwgNSwgNl0sIFs3LCA4LCA5XV0pIApjID0gZXhwYW5kKGEuZG90KGIgKiBhKSkKCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICBwcmludChbZGlmZihjLCBpKS5zdWJzKGxpc3QoemlwKHgsIHJhbmdlKDEsIDQpKSkpIGZvciBpIGluIHhdKQo=