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

Add transposition Linop #895

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from
Draft

Add transposition Linop #895

wants to merge 1 commit into from

Conversation

yhmtsai
Copy link
Member

@yhmtsai yhmtsai commented Oct 1, 2021

This PR adds transposition LinOp such that build the transposition in lazy way or now.
When the behavior is lazy, building transposition will happen in first apply, get_transposition or prepare_transposition.

TODO:

  • is ConjTranspose needed? use template or parameter to control?

@yhmtsai yhmtsai added the is:new-feature A request or implementation of a feature that does not exist yet. label Oct 1, 2021
@yhmtsai yhmtsai self-assigned this Oct 1, 2021
@ginkgo-bot ginkgo-bot added mod:core This is related to the core module. reg:build This is related to the build system. reg:testing This is related to testing. labels Oct 1, 2021
Copy link
Contributor

@Slaedr Slaedr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might be quite useful; nice work. But as usual, I want to be careful about introducing a new interface. Do you have a specific use case for this?

}

/**
* Returns transposition of operator
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Returns transposition of operator
* Returns transpose of operator

*
* @return transposition of operator
*/
std::shared_ptr<const LinOp> get_transposition() const noexcept
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
std::shared_ptr<const LinOp> get_transposition() const noexcept
std::shared_ptr<const LinOp> get_transpose() const noexcept

@yhmtsai
Copy link
Member Author

yhmtsai commented Jan 12, 2022

@Slaedr the original idea is to make IC always return two LinOp.
Currently, IC will return one or two according to both_factor setting
#681

@yhmtsai yhmtsai added the 1:ST:low-importance This issue/PR is not that important and can be ignored for now. label May 23, 2022
@MarcelKoch MarcelKoch marked this pull request as draft July 11, 2024 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1:ST:low-importance This issue/PR is not that important and can be ignored for now. is:new-feature A request or implementation of a feature that does not exist yet. mod:core This is related to the core module. reg:build This is related to the build system. reg:testing This is related to testing.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants