Skip to content

Conversation

quangx
Copy link
Contributor

@quangx quangx commented Jun 15, 2025

This implementation applies (BC^{-1}B^T)^{-1}) by creating an operator that applies B^T, followed by C^{-1},
followed by B, then doing a CG solve with this new operator.

@tjhei

Copy link
Contributor

@bangerth bangerth left a comment

Choose a reason for hiding this comment

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

So when you do this, what happens?

Comment on lines 388 to 399
};
template<typename Range,
typename Domain,
typename Payload>
LinearOperator<Range, Domain, Payload> diag_operator(LinearOperator<Range,Domain,Payload> &exemplar, const TrilinosWrappers::MPI::Vector &diagonal)
Copy link
Contributor

Choose a reason for hiding this comment

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

Add 3 empty lines and then also add documentation for this function.

Comment on lines 474 to 507
solver.solve(mp_matrix,
solver.solve(matrix,
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you even still need mp_matrix in that case?

@quangx
Copy link
Contributor Author

quangx commented Jun 17, 2025

I have tried address the changes above (except removing the mp_matrix - will get to it). Probably not clear from the rebase, sorry. Do not review quite yet.

Comment on lines 169 to 174
}




/**
Copy link
Contributor

Choose a reason for hiding this comment

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

We typically have 3 empty lines between top-level constructs. So take one off again here.

Comment on lines 391 to 396
/**
* Given a diagonal matrix stored as a vector,
* create an operator that represents its action.
*/

template<typename Range,
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
/**
* Given a diagonal matrix stored as a vector,
* create an operator that represents its action.
*/
template<typename Range,
/**
* Given a diagonal matrix stored as a vector,
* create an operator that represents its action.
*/
template<typename Range,

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

Successfully merging this pull request may close these issues.

2 participants