code: def test_calibration_correctness(self, optimizer_fn):
      true_parameters = np.array(
          [[0.04, 0.15, 0.5, 0.3, 0.3], [0.02, 0.25, 0.4, 0.25, 0.25]]
      )
  
      forwards = np.array([5.0, 6.0])
      expiries = np.array([1.0, 1.0])
  
      strikes = np.array(
          [
              [
                  0.24893534,
                  0.35810619,
                  0.51515402,
                  0.74107533,
                  1.06607467,
                  1.53360279,
                  2.20616584,
                  3.17368209,
                  4.56550358,
                  6.56770979,
                  9.44798554,
                  13.59140914,
              ],
              [
                  0.8120117,
                  1.16812025,
                  1.68040056,
                  2.41734193,
                  3.47746967,
                  5.00251751,
                  7.19637661,
                  10.35235484,
                  14.89239051,
                  21.4234634,
                  30.8187449,
                  44.33433659,
              ],
          ]
      )
  
      volatilities = np.array(
          [
              [
                  0.53809037,
                  0.51236712,
                  0.48535488,
                  0.45686258,
                  0.42666483,
                  0.39451975,
                  0.3602712,
                  0.32435877,
                  0.29085295,
                  0.28834027,
                  0.3644639,
                  0.45468296,
              ],
              [
                  0.60080077,
                  0.55414627,
                  0.50349337,
                  0.44780265,
                  0.38588647,
                  0.31868425,
                  0.27922126,
                  0.38249619,
                  0.51199324,
                  0.62087246,
                  0.71471493,
                  0.7980863,
              ],
          ]
      )
  
      (model_parameters, converged, _) = self.evaluate(
          tff.experimental.svi.calibration(
              forwards=forwards,
              expiries=expiries,
              strikes=strikes,
              volatilities=volatilities,
              optimizer_fn=optimizer_fn,
          )
      )
  
      # Assert model convergence to expected parameters.
      self.assertTrue(converged.all())
      self.assertAllClose(
          model_parameters, true_parameters, atol=1e-4, rtol=1e-3
      )
  
file_path: tf-quant-finance/tf_quant_finance/experimental/svi/calibration_test.py
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  import tensorflow_probability
  import tf_quant_finance
  from tensorflow.python.framework import test_util
label_desc: Use image node_id 1 for calling the SimulatedDataCalibrationTest obj's underlying member method code with example usage: obj.test_calibration_correctness(optimizer_fn) without return types