code: def testInitialization(self):
      # Test that the default setting is not modified
      x_ref, _, itn_ref, normr_ref, *_ = lsmr(G, b)
      assert_allclose(norm(b - G @ x_ref), normr_ref, atol=1e-6)
  
      # Test passing zeros yields similar result
      x0 = zeros(b.shape)
      x = lsmr(G, b, x0=x0)[0]
      assert_allclose(x, x_ref)
  
      # Test warm-start with single iteration
      x0 = lsmr(G, b, maxiter=1)[0]
  
      x, _, itn, normr, *_ = lsmr(G, b, x0=x0)
      assert_allclose(norm(b - G @ x), normr, atol=1e-6)
  
      # NOTE(gh-12139): This doesn't always converge to the same value as
      # ref because error estimates will be slightly different when calculated
      # from zeros vs x0 as a result only compare norm and itn (not x).
  
      # x generally converges 1 iteration faster because it started at x0.
      # itn == itn_ref means that lsmr(x0) took an extra iteration see above.
      # -1 is technically possible but is rare (1 in 100000) so it's more
      # likely to be an error elsewhere.
      assert itn - itn_ref in (0, 1)
  
      # If an extra iteration is performed normr may be 0, while normr_ref
      # may be much larger.
      assert normr < normr_ref * (1 + 1e-6)
  
imports: from numpy import array, arange, eye, zeros, ones, transpose, hstack
  from numpy.linalg import norm
  from numpy.testing import assert_allclose
  import pytest
  from scipy.sparse import coo_matrix
  from scipy.sparse.linalg._interface import aslinearoperator
  from scipy.sparse.linalg import lsmr
  from .test_lsqr import G, b
label_desc: Use image node_id 13 for calling the TestLSMR obj's underlying member method code with example usage: obj.testInitialization() without return types