Skip to content
New issue

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

Use a Symmetric matrix in the Covariant Axis2Tensor #1828

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

charleskawczynski
Copy link
Member

@charleskawczynski charleskawczynski commented Jun 18, 2024

This PR adds the use of symmetric matrices for the Covariant Axis2Tensors.

I think that this should be all we need, and this may result in a nice improvement in our kernels that use these tensors.

I first tried to use LinearAlgebra.Symmetric, however, it has a uplo::Char field, and this isn't a float type and as a result does not pass the check_basetype(T, S) test in our DataLayouts. So, I grabbed most of those definitions from LinearAlgebra and simply removed uplo.

I did have to widen the allowable types in AxisTensor.

Closes #1827 (the issymmetric test fails on main without fixing #1827).

@charleskawczynski
Copy link
Member Author

It looks like we'll need to generalize the rmul_with_projection logic to handle more generic AxisTensors (i.e., ones backed by SimpleSymmetric matrices).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

The Δz_field test generates bad LocalGeometry objects
1 participant