Skip to main content
. Author manuscript; available in PMC: 2019 Jun 5.
Published in final edited form as: SIAM J Imaging Sci. 2018 Jun 5;11(2):1560–1588. doi: 10.1137/17M1153649

Algorithm 2.

Two-parameter backtracking line search

Input: α0p, α0c, F(k), Gp(k), Gc(k), lmax
Output: αkp^, αkc^
 1: αkp^α0p
 2: found ← false
 3: while not found do
 4:  p0˜proxαkp^βR(p0(k)αkp^Gp(k))
 5:  if F(p0˜,Φ(cp(k)))>F(k)+Gp(k),p0˜p0(k)+12αkp^p0˜p0(k)22 then
 6:   αkp^αkp^/2
 7:  else
 8:   found ← true
 9:  end if
 10: end while
 11: l ← 0 {l is the line search step number.}
 12: αkC^α0c
 13: found ← false
 14: while not found and l < lmax do
 15:  c˜pcp(k)αkc^BGc(k)
 16:  if F(p˜0,Φ(cp(k)))<F(p˜0,Φ(c˜p)) then
 17:   αkc^αkc^/2
 18:  else
 19:   found ← true
 20:  end if
 21:  ll + 1
 22: end while
 23: if l is lmax then
 24:  αkc^0
 25: end if