Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 28, 2025

Addresses all 23 code review comments from the original MultifrontalSolver PR, focusing on documentation completeness and GTSAM coding style compliance.

Documentation

  • Added @brief tags to all file headers (MultifrontalSolver.h, MultifrontalClique.h, and implementation files)
  • Added doxygen-style documentation for all public MultifrontalClique methods including @param and @return tags
  • Enhanced VectorValues::insert and SymmetricBlockMatrix::blockView documentation with parameter descriptions
  • Changed // to /// for IndexedSymbolicFactor helper class

Naming Conventions

  • Functions: ComputeDimscomputeDims, BuildSymbolicGraphbuildSymbolicGraph (lowerMixedCase per GTSAM guidelines)
  • Variables: balanced approach between descriptive names and brevity
    • vbmRowsverticalBlockMatrixRows
    • xSepScratch_separatorScratch_
    • c → removed (use clique-> directly)
    • jfjacobianFactor (5 locations)
    • hfhessianFactor
    • c1childClique
    • Kept rhsScratch_ as is (appropriate for internal scratch variable)

All changes are non-functional. Tests pass.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Co-authored-by: dellaert <10515273+dellaert@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Dec 28, 2025

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https /usr/lib/apt/methods/https (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title [WIP] Add imperative multifrontal solver for optimization Address code review comments: documentation and naming conventions Dec 28, 2025
Copilot AI requested a review from dellaert December 28, 2025 03:52
}
if (static_cast<size_t>(rhsScratch_.size()) != frontalDim) {
rhsScratch_.resize(frontalDim);
if (static_cast<size_t>(rightHandSideScratch_.size()) != frontalDim) {
Copy link
Member

Choose a reason for hiding this comment

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

A bridge too far, this. Please keep rhsScratch_

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Reverted to rhsScratch_ in commit 1d463fd.

mutable Vector rhsScratch_;
mutable Vector xSepScratch_;
mutable Vector rightHandSideScratch_;
mutable Vector separatorSolutionScratch_;
Copy link
Member

Choose a reason for hiding this comment

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

Shorter: separatorScratch_

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changed to separatorScratch_ in commit 1d463fd.

auto clique = std::make_shared<MultifrontalClique>(cluster);
auto& c = *clique;
c.setParent(parent);
auto& currentClique = *clique;
Copy link
Member

Choose a reason for hiding this comment

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

just use clique-> everywhere. No dereferenced value needed

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed currentClique reference and now using clique-> directly in commit 1d463fd.

- Revert rightHandSideScratch_ back to rhsScratch_
- Change separatorSolutionScratch_ to separatorScratch_
- Remove currentClique reference, use clique-> directly

Co-authored-by: dellaert <10515273+dellaert@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Dec 28, 2025

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Copilot AI requested a review from dellaert December 28, 2025 04:49
@dellaert dellaert marked this pull request as ready for review December 28, 2025 04:55
@dellaert dellaert merged commit 442f29b into feature/multifrontalSolver Dec 28, 2025
@dellaert dellaert deleted the copilot/sub-pr-2327 branch December 28, 2025 04:55
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