Hi,

I am trying to implement the adjoint state method. To do this I have to solve

A^T \lambda = f

where \lambda, and f are vectors and A^T is the transpose of the matrix A, which comes from

```
dolfin.assemble(a).
```

Originally I did this by using

```
import dolfin
dolfin.assemble(dolfin.adjoint(a))
```

but for the specific bilinear form I have, the assembly takes nearly 20X longer than assembling its adjoint!

I have tried assembling a simple bilinear form a, and its adjoint and the assembly times are basically the same, so I’m super confused why it takes longer for my case.

Does anyone know of a way to do this without assembling the adjoint of the form, or how to speed up assembly of the adjoint of a form? I’m trying to extract a MWE on my case but I’m not sure the exact part of it that’s making assembly of the adjoint slow.

I am using the version of FEniCS installed through Anaconda.

Thanks alot!

Jonathan