code: def validate_matrix(self, data):
          
          is_grid_search = (
              data.get('grid_search') is not None or
              (data.get('grid_search') is None and
               data.get('random_search') is None and
               data.get('hyperband') is None and
               data.get('bo') is None)
          )
          is_bo = data.get('bo') is not None
          validate_matrix(data.get('matrix'), is_grid_search=is_grid_search, is_bo=is_bo)
docs: Validates matrix data and creates the config objects