code: def test_lambda_vec_zero_unchanged_model(A_two_dim):
      score_threshold = 0.6
  
      number_a0 = 64
      number_a1 = 24
  
      a0_label = 7
      a1_label = 22
  
      X, y, A = _simple_threshold_data(
          number_a0,
          number_a1,
          score_threshold,
          score_threshold,
          a0_label,
          a1_label,
          A_two_dim,
      )
  
      estimator = LogisticRegression(
          solver="liblinear", fit_intercept=True, random_state=97
      )
  
      # Train an unmitigated estimator
      unmitigated_estimator = copy.deepcopy(estimator)
      unmitigated_estimator.fit(X, y)
  
      # Do the grid search with a zero Lagrange multiplier
      iterables = [["+", "-"], ["all"], [a0_label, a1_label]]
      midx = pd.MultiIndex.from_product(
          iterables, names=["sign", "event", "group_id"]
      )
      lagrange_zero_series = pd.Series(np.zeros(4), index=midx)
      grid_df = pd.DataFrame(lagrange_zero_series)
  
      grid_search = GridSearch(
          estimator, constraints=DemographicParity(), grid=grid_df
      )
      grid_search.fit(X, y, sensitive_features=A)
      assert_n_grid_search_results(1, grid_search)
  
      # Check coefficients
      gs_coeff = grid_search.predictors_[grid_search.best_idx_].coef_
      um_coeff = unmitigated_estimator.coef_
      assert np.array_equal(gs_coeff, um_coeff)
  
file_path: fairlearn/test/unit/reductions/grid_search/test_grid_search_demographicparity.py
imports: import copy
  from test.unit.reductions.grid_search.utilities import assert_n_grid_search_results
  import numpy
  import pandas
  import pytest
  from sklearn.dummy import DummyClassifier
  from sklearn.linear_model import LogisticRegression
  from fairlearn.reductions import DemographicParity, GridSearch
label_desc: Use image node_id 4 for calling a global function with example usage: test_lambda_vec_zero_unchanged_model(A_two_dim) without return types