def trace(X): """ Returns the sum of diagonal elements of matrix X. Notes ----- Works on GPU since 0.6rc4. """ return extract_diag(X).sum()
def local_det_chol(fgraph, node): """ If we have det(X) and there is already an L=cholesky(X) floating around, then we can use prod(diag(L)) to get the determinant. """ if node.op == det: (x, ) = node.inputs for (cl, xpos) in fgraph.clients[x]: if isinstance(cl.op, Cholesky): L = cl.outputs[0] return [prod(aet.extract_diag(L)**2)]
def trace(X): """ Returns the sum of diagonal elements of matrix X. """ return extract_diag(X).sum()