optim.maxeigen

Contents

optim.maxeigen#

bartorch.optim.maxeigen()#

Power-iteration estimate of the largest eigenvalue of the normal operator.

The quantity a proximal step is scaled by. The power iteration starts from a random vector drawn from BART’s own generator, so an iteration written outside the library must request it here, at the point in the sequence the library would have reached it; otherwise the subsequent draws – a wavelet term’s random cycle spinning, for instance – differ.

Parameters:
  • A (LinearOperator) – The encoding. Its normal is the operator, with cclambda on the diagonal, as lsqr builds it.

  • terms (Regularizer or iterable of Regularizer, default=None) – Terms whose transforms are added to the normal operator. The primal-dual iteration estimates over these; the proximal iterations estimate over the encoding alone.

  • cclambda (float, default=0.0) – Weight of an identity added to the normal operator.

  • precond (LinearOperator, default=None) – Chained onto the normal before the terms are added, as lsqr2_create chains it.

  • iterations (int, default=30) – Power iterations; BART takes thirty.

Return type:

float