We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Describe the bug action(adjoint(interpolate(...)), ...) applies transpose interpolation, rather than adjoint interpolation.
action(adjoint(interpolate(...)), ...)
Steps to Reproduce
import firedrake as fd from firedrake.__future__ import interpolate mesh = fd.UnitIntervalMesh(1) space = fd.FunctionSpace(mesh, "DG", 0) expr = interpolate(fd.Constant(1.0j) * fd.TestFunction(space), space) u = fd.Cofunction(space.dual()) u.dat.data[:] = 1 v = fd.assemble(fd.action(fd.adjoint(expr), u)) print(f"{v.dat.data_ro=}")
displays (with complex Firedrake)
v.dat.data_ro=array([0.+1.j])
which is the complex conjugate of the expected value.
Expected behavior The action of the adjoint should include the complex conjugation.
Error message No error.
Environment: Ubuntu 24.04, complex Firedrake built today.
Additional Info The _interpolate methods of Interpolator subclasses accept a transpose argument, rather than e.g. adjoint or hermitian_transpose.
_interpolate
Interpolator
transpose
adjoint
hermitian_transpose
The text was updated successfully, but these errors were encountered:
Is this related to the complex failures in #3939?
Sorry, something went wrong.
No, I'd just missed the conjs for complex.
conj
Complex dual interpolation test, xfail due to issue firedrakeproject#…
787083b
…3955
You can see the bug in the test_assemble_interp_adjoint_tensor test in #3939 if f1 is complex.
test_assemble_interp_adjoint_tensor
f1
Successfully merging a pull request may close this issue.
Describe the bug
action(adjoint(interpolate(...)), ...)
applies transpose interpolation, rather than adjoint interpolation.Steps to Reproduce
displays (with complex Firedrake)
which is the complex conjugate of the expected value.
Expected behavior
The action of the adjoint should include the complex conjugation.
Error message
No error.
Environment:
Ubuntu 24.04, complex Firedrake built today.
Additional Info
The
_interpolate
methods ofInterpolator
subclasses accept atranspose
argument, rather than e.g.adjoint
orhermitian_transpose
.The text was updated successfully, but these errors were encountered: