Skip to content

Conversation

@paquiteau
Copy link
Member

@paquiteau paquiteau commented Sep 21, 2025

Changes proposed in this pull request:

  • Add gradient waveform optimization using either linear or quadratic programming (requires an extra package)
  • Example to compare and explains how this work.

@paquiteau paquiteau changed the base branch from master to hardware-config September 21, 2025 09:12
@chaithyagr
Copy link
Member

Be careful on spending too much time on this, we might get projection step up soon when I'm back :P

@paquiteau
Copy link
Member Author

I think this complements the projection step, here you try to find the shortest path between two k-space/gradient states. Projection is, well, about projecting an existing trajectory. So they can coexist, and it could also serve as a nice reference to compare with.

Copy link
Member

@chaithyagr chaithyagr left a comment

Choose a reason for hiding this comment

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

Just doing some basic checks first, still not done, need to go for lunch :P

Parameters
----------
N: int
Number of time points for the gradient waveform
Copy link
Member

Choose a reason for hiding this comment

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

Number of gradient samples ?
Time points doesnt make much sense to me/

Copy link
Member Author

Choose a reason for hiding this comment

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

it really is the length of the waveform to optimize

----------
N: int
Number of time points for the gradient waveform
Deltakx: float
Copy link
Member

Choose a reason for hiding this comment

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

delta_kx ?

Copy link
Member Author

Choose a reason for hiding this comment

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

it's all 1D stuff (as if we were only optimizing the x gradient only)

@paquiteau paquiteau deleted the branch master September 24, 2025 16:53
@paquiteau paquiteau closed this Sep 24, 2025
@paquiteau paquiteau reopened this Sep 26, 2025
@paquiteau paquiteau changed the base branch from hardware-config to master September 26, 2025 10:24
@paquiteau paquiteau force-pushed the master branch 3 times, most recently from 0ea2bc4 to d338014 Compare September 28, 2025 18:07
@Daval-G
Copy link
Collaborator

Daval-G commented Oct 4, 2025

I think this complements the projection step, here you try to find the shortest path between two k-space/gradient states. Projection is, well, about projecting an existing trajectory. So they can coexist, and it could also serve as a nice reference to compare with.

I think even without completing each other it's a good addition to gather multiple methods from the literature, it allows researchers to compare them, raising the standards (aka dropping sub-optimal methods and creating consensus)

@Daval-G
Copy link
Collaborator

Daval-G commented Oct 4, 2025

(And btw I started making an example in #236 to gather & compare all gradient manipulation methods, it would be nice to build on that)

@paquiteau paquiteau added this to the v1.4 milestone Oct 9, 2025
@paquiteau paquiteau marked this pull request as ready for review October 17, 2025 07:45
@paquiteau paquiteau changed the title Add gradient optimization functions Add trajectory gradient optimization functions Oct 28, 2025
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.

Faster prephasors with linear programming

4 participants