Compute L-BFGS search directions with the two-loop inverse-Hessian recursion and scalar scaling.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill two_loop_direction --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Two Loop Direction?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-two-loop-direction)More formats (shields.io, HTML) on the badges page.
---
name: two_loop_direction
description: Compute L-BFGS search directions with the two-loop inverse-Hessian recursion and scalar scaling.
---
# Two-Loop Direction
Use this skill when an optimizer has L-BFGS curvature memory and needs a quasi-Newton descent direction without materializing a Hessian matrix. Do not use it when curvature pairs fail the positive-curvature condition.
## Inputs
- Current gradient vector.
- Ordered correction memory `(s_i, y_i)` from oldest to newest.
- Optional scalar initial inverse-Hessian scale.
## Outputs
- Search direction `p = -H g`.
- Diagnostics with pair count, effective scale, and descent dot product.
## Workflow
1. Run the first loop from newest pair to oldest and store alpha values.
2. Apply scalar initial scaling; use the newest pair scale `(s^T y)/(y^T y)` when none is supplied.
3. Run the second loop from oldest pair to newest.
4. Negate the resulting inverse-Hessian product.
5. Verify the result is a descent direction on convex positive-curvature tests.
## Validation
Run `python tests/test_two_loop_direction.py` or use the generated skill tree validator with tests enabled.
## Limitations
The skill computes directions only; it does not update memory or perform line search.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!