Hello Colin, I don't have an answer to your question but I am very curious to know if someone else. In the Surface QG model, to determine the streamfunction from the buoyancy you need to solve an equation that looks like b = - (Laplacian)^1/2 \psi What people typically do is to transform everything into spectral space where it then becomes \hat b = - K \hat \psi It requires using FFT's, which are easily accessible, but I'm not sure if this is relevant to the problem you want to solve. If someone figures out how to do this in Firedrake I would be happy to add another SQG demo, since it would only require a minor change from the existing QG code. Cheers, Francis ------------------ Francis Poulin Associate Professor Department of Applied Mathematics University of Waterloo email: fpoulin@uwaterloo.ca Web: https://uwaterloo.ca/poulin-research-group/ Telephone: +1 519 888 4567 x32637 ________________________________ From: firedrake-bounces@imperial.ac.uk [firedrake-bounces@imperial.ac.uk] on behalf of Colin Cotter [colin.cotter@imperial.ac.uk] Sent: Tuesday, February 14, 2017 3:21 AM To: firedrake Subject: [firedrake] square root of matrix Dear all, For weird reasons I'd like to solve Ux = y where U is the Cholesky square root of a given symmetric positive definite matrix A. Is there a way to abuse the PETSc solver interface into doing this? all the best --cjc -- http://www.imperial.ac.uk/people/colin.cotter www.cambridge.org/9781107663916<http://www.cambridge.org/9781107663916> [http://assets.cambridge.org/97811076/63916/cover/9781107663916.jpg]