# Pyserini: An Easy-to-Use Python Toolkit to Support Replicable IR Research
with Sparse and Dense Representations

Jimmy Lin, Xueguang Ma, Sheng-Chieh Lin,
Jheng-Hong Yang, Ronak Pradeep, and Rodrigo Nogueira  David R. Cheriton School
of Computer Science
University of Waterloo

###### Abstract.

Pyserini is an easy-to-use Python toolkit that supports replicable IR research
by providing effective first-stage retrieval in a multi-stage ranking
architecture. Our toolkit is self-contained as a standard Python package and
comes with queries, relevance judgments, pre-built indexes, and evaluation
scripts for many commonly used IR test collections. We aim to support, out of
the box, the entire research lifecycle of efforts aimed at improving ranking
with modern neural approaches. In particular, Pyserini supports sparse
retrieval (e.g., BM25 scoring using bag-of-words representations), dense
retrieval (e.g., nearest-neighbor search on transformer-encoded
representations), as well as hybrid retrieval that integrates both approaches.
This paper provides an overview of toolkit features and presents empirical
results that illustrate its effectiveness on two popular ranking tasks. We
also describe how our group has built a culture of replicability through
shared norms and tools that enable rigorous automated testing.

††copyright: none

##  1\. Introduction

The advent of pretrained transformers has led to many exciting recent
developments in information retrieval (Lin et al., 2020a). In our view, the
two most important research directions are transformer-based reranking models
and learned dense representations for ranking. Despite many exciting
opportunities and rapid research progress, the need for easy-to-use,
replicable baselines has remained a constant. In particular, the importance of
stable first-stage retrieval within a multi-stage ranking architecture has
become even more important, as it provides the foundation for increasingly-
complex modern approaches that leverage hybrid techniques.

We present Pyserini, our Python IR toolkit designed to serve this role: it
aims to provide a solid foundation to help researchers pursue work on modern
neural approaches to information retrieval. The toolkit is specifically
designed to support the complete “research lifecycle” of systems-oriented
inquiries aimed at building better ranking models, where “better” can mean
more effective, more efficient, or some tradeoff thereof. This typically
involves working with one or more standard test collections to design ranking
models as part of an end-to-end architecture, iteratively improving components
and evaluating the impact of those changes. In this context, our toolkit
provides the following key features:

  * •

Pyserini is completely self-contained as a Python package, available via pip
install. The package comes with queries, collections, and qrels for standard
IR test collections, as well as pre-built indexes and evaluation scripts. In
short, batteries are included. Pyserini supports, out of the box, the entire
research lifecycle of efforts aimed at improving ranking models.

  * •

Pyserini can be used as a standalone module to generate batch retrieval runs
or be integrated as a library into an application designed to support
interactive retrieval.

  * •

Pyserini supports sparse retrieval (e.g., BM25 scoring using bag-of-words
representations), dense retrieval (e.g., nearest-neighbor search on
transformer-encoded representations), as well hybrid retrieval that integrates
both approaches.

  * •

Pyserini provides access to data structures and system internals to support
advanced users. This includes access to postings, document vectors, and raw
term statistics that allow our toolkit to support use cases that we had not
anticipated.

Pyserini began as the Python interface to Anserini (Yang et al., 2017, 2018),
which our group has been developing for several years, with its roots in a
community-wide replicability exercise dating back to 2015 (Lin et al., 2016).
Anserini builds on the open-source Lucene search library and was motivated by
the desire to better align academic research with the practice of building
real-world search applications; see, for example, Grand et al. (2020). More
recently, we recognized that Anserini’s reliance on the Java Virtual Machine
(due to Lucene), greatly limited its reach (Akkalyoncu Yilmaz et al., 2019,
2020), as Python has emerged as the language of choice for both data
scientists and researchers. This is particularly the case for work on deep
learning today, since the major toolkits (PyTorch (Paszke et al., 2019) and
Tensorflow (Abadi et al., 2016)) have both adopted Python as their front-end
language. Thus, Pyserini aims to be a “feature-complete” Python interface to
Anserini.

Sparse retrieval support in Pyserini comes entirely from Lucene (via
Anserini). To support dense and hybrid retrieval, Pyserini integrates
Facebook’s FAISS library for efficient similarity search over dense vectors
(Johnson et al., 2017), which in turns integrates the HNSW library (Malkov and
Yashunin, 2020) to support low-latency querying. Thus, Pyserini provides a
superset of features in Anserini; dense and hybrid retrieval is entirely
missing from the latter.

This paper is organized in the following manner: After a preamble on our
design philosophy, we begin with a tour of Pyserini, highlighting its main
features and providing the reader with a sense of how it might be used in a
number of common scenarios. This is followed by a presentation of empirical
results illustrating the use of Pyserini to provide first-stage retrieval in
two popular ranking tasks today. Before concluding with future plans, we
discuss how our group has internalized replicability as a shared norm through
social processes supported by technical infrastructure.

##  2\. Design Philosophy

The design of Pyserini emphasizes ease of use and replicability. Larry Wall,
the creator of the Perl programming language, once remarked that “easy things
should be easy, and hard things should be possible.” While aspects of the
lifecycle for systems-oriented IR research are not difficult per se, there are
many details that need to be managed: downloading the right version of a
corpus, building indexes with the appropriate settings (tokenization,
stopwords, etc.), downloading queries and relevance judgments (deciding
between available “variants”), manipulating runs into the correct output
format for the evaluation script, selecting the right metrics to obtain
meaningful results, etc. The list goes on. These myriad details often trip up
new researchers who are just learning systems-oriented IR evaluation
methodology (motivating work such as Akkalyoncu Yilmaz et al. (2020)), and
occasionally subtle issues confuse experienced researchers as well.111As a
concrete example, TREC-COVID has (at least) 12 different sets of qrels. All of
them are useful for answering different research questions. Which one do you
use? The explicit goal of Pyserini is to make these “easy things” easy,
supporting common tasks and reducing the possibility of confusion as much as
possible.

At the other end of the spectrum, “hard things should be possible”. In our
context, this means that Pyserini provides access to data structures and
system internals to support researchers who may use our toolkit in ways we had
not anticipated. For sparse retrieval, the Lucene search library that
underlies Anserini provides interfaces to control various aspects of indexing
and retrieval, and Pyserini exposes a subset of features that we anticipate
will be useful for IR researchers. These include, for example, traversing
postings lists to access raw term statistics, manipulating document vectors to
reconstruct term weights, and fine-grained control over document processing
(tokenization, stemming, stopword removal, etc.). Pyserini aims to
sufficiently expose Lucene internals to make “hard things” possible.

Finally, the most common use case of Pyserini as first-stage retrieval in a
multi-stage ranking architecture means that replicability is of utmost
concern, since it is literally the foundation that complex reranking pipelines
are built on. In our view, replicability can be divided into technical and
social aspects: an example of the former is an internal end-to-end regression
framework that automatically validates experimental results. The latter
includes a commitment to “eat our own dog food” and the adoption of shared
norms. We defer more detailed discussions of replicability to Section 5.

##  3\. Pyserini Tour

Pyserini is packaged as a Python module available on the Python Package Index.
Thus, the toolkit can be installed via pip, as follows:

>
>     $ pip install pyserini==0.11.0.0
>

In this paper, we are explicitly using v0.11.0.0. The code for the toolkit
itself is available on GitHub at pyserini.io; for users who may be interested
in contributing to Pyserini, we recommend a “development” installation, i.e.,
cloning the source repository itself. However, for researchers interested only
in using Pyserini, the module installed via pip suffices.

In this section, we will mostly use the MS MARCO passage ranking dataset
(Bajaj et al., 2018) as our running example. The dataset has many features
that make it ideal for highlighting various aspects of our toolkit: the
corpus, queries, and relevance judgments are all freely downloadable; the
corpus is manageable in size and thus experiments require only modest compute
resources (and time); the task is popular and thus well-studied by many
researchers.

###  3.1. Interactive Retrieval

In Figure 1, we begin with a simple example of using Pyserini to perform bag-
of-words ranking with BM25 (the default ranking model) on the MS MARCO passage
corpus (comprising 8.8M passages). To establish a parallel with “dense
retrieval” techniques using learned transformer-based representations (see
below), we refer to this as “sparse retrieval”, although this is not common
parlance in the IR community at present.

⬇ 1from pyserini.search import SimpleSearcher 2 3searcher =
SimpleSearcher.from_prebuilt_index(’msmarco-passage’) 4hits =
searcher.search(’what␣is␣a␣lobster␣roll?’, 10) 5 6for i in range(0, 10): 7
print(f’{i+1:2}␣{hits[i].docid:7}␣{hits[i].score:.5f}’)
---
Figure 1. Simple example of interactive sparse retrieval (i.e., bag-of-word
BM25 ranking).

The SimpleSearcher class provides a single point of entry for sparse retrieval
functionality. In (L3), we initialize the searcher with a pre-built index. For
many commonly used collections where there are no data distribution
restrictions, we have built indexes that can be directly downloaded from our
project servers. For researchers who simply want an “out-of-the-box” keyword
retrieval baseline, this provides a simple starting point. Specifically, the
researcher does not need to download the collection and build the index from
scratch. In this case, the complete index, which includes a copy of all the
texts, is a modest 2.6GB.

Using an instance of SimpleSearcher, we issue a query to retrieve the top 10
hits (L4), the results of which are stored in the array hits. Naturally, there
are methods to control ranking behavior, such as setting BM25 parameters and
enabling the use of pseudo-relevance feedback, but for space considerations
these options are not shown here. In (L6–7), we iterate through the results
and print out rank, docid, and score. If desired, the actual text can be
fetched from the index (e.g., to feed a downstream reranker).

Figure 2 shows an example of interactive retrieval using dense learned
representations. Here, we are using TCT-ColBERT (Lin et al., 2020b), a model
our group has constructed from ColBERT (Khattab and Zaharia, 2020) using
knowledge distillation. As with sparse retrieval, we provide pre-built indexes
that can be directly downloaded from our project servers. The
SimpleDenseSearcher class serves as the entry point to nearest-neighbor search
functionality that provides top $k$ retrieval on dense vectors. Here, we are
taking advantage of HNSW (Malkov and Yashunin, 2020), which has been
integrated into FAISS (Johnson et al., 2017) to enable low latency interactive
querying (L6).

⬇ 1from pyserini.dsearch import SimpleDenseSearcher, \ 2
TCTColBERTQueryEncoder 3 4encoder =
TCTColBERTQueryEncoder(’castorini/tct_colbert-msmarco’) 5searcher =
SimpleDenseSearcher.from_prebuilt_index( 6 ’msmarco-passage-tct_colbert-hnsw’,
7 encoder 8) 9hits = searcher.search(’what␣is␣a␣lobster␣roll’)
---
Figure 2. Simple example of interactive dense retrieval (i.e., approximate
nearest-neighbor search on dense learned representations).

The final component needed for dense retrieval is a query encoder that
converts user queries into the same representational space as the documents.
We initialize the query encoder in (L4), which is passed into the method that
constructs the searcher. The encoder itself is a lightweight wrapper around
the Transformers library by Huggingface (Wolf et al., 2020). Retrieval is
performed in the same manner (L9), and we can manipulate the returned hits
array in a manner similar to sparse retrieval (Figure 1). At present, we
support the TCT-ColBERT model (Lin et al., 2020b) as well as DPR (Karpukhin et
al., 2020). Note that our goal here is to provide retrieval capabilities based
on existing models; quite explicitly, representational learning lies outside
the scope of our toolkit (see additional discussion in Section 6).

⬇ 1from pyserini.search import SimpleSearcher 2from pyserini.dsearch import
SimpleDenseSearcher, \ 3 TCTColBERTQueryEncoder 4from pyserini.hsearch import
HybridSearcher 5 6ssearcher = SimpleSearcher.from_prebuilt_index(’msmarco-
passage’) 7encoder = TCTColBERTQueryEncoder(’castorini/tct_colbert-msmarco’)
8dsearcher = SimpleDenseSearcher.from_prebuilt_index( 9 ’msmarco-passage-
tct_colbert-hnsw’, 10 encoder 11) 12hsearcher = HybridSearcher(dsearcher,
ssearcher) 13hits = hsearcher.search(’what␣is␣a␣lobster␣roll’, 10)
---
Figure 3. Simple example of interactive search with hybrid sparse–dense
retrieval.

Of course, the next step is to combine sparse and dense retrieval, which is
shown in Figure 3. Our HybridSearcher takes as its constructor the sparse
retriever and the dense retriever and performs weighted interpolation on the
individual results to arrive at a final ranking. This is a standard approach
and Pyserini adopts the specific implementation in TCT-ColBERT (Lin et al.,
2020b), but similar techniques are used elsewhere as well (Karpukhin et al.,
2020).

###  3.2. Test Collections

Beyond the corpus, topics (queries) and relevance judgments (qrels) form
indispensable components of IR test collections to support systems-oriented
research aimed at producing better ranking models. Many topics and relevance
judgments are freely available for download, but at disparate locations (in
various formats)—and often it may not be obvious to a newcomer where to obtain
these resources and which exact files to use.

Pyserini tackles this challenge by packaging together these evaluation
resources and providing a unified interface for accessing them. Figure 4 shows
an example of loading topics via get_topics (L3) and loading qrels via
get_qrels (L4) for the standard 6980-query subset of the development set of
the MS MARCO passage ranking test collection. We have taken care to name the
text descriptors consistently, so the associations between topics and
relevance judgments are unambiguous.

⬇ 1from pyserini.search import get_topics, get_qrels 2 3topics =
get_topics(’msmarco-passage-dev-subset’) 4qrels = get_qrels(’msmarco-passage-
dev-subset’) 5 6# Compute the average length of queries:
7sum([len(topics[t][’title’].split()) for t in topics])/len(topics) 8 9#
Compute the average number of relevance judgments per query:
10sum([len(qrels[t]) for t in topics])/len(topics)
---
Figure 4. Simple example of working with queries and qrels from the MS MARCO
passage ranking test collection.

Using Pyserini’s provided functions, the topics and qrels are loaded into
simple Python data structures and thus easy to manipulate. A standard TREC
topic has different fields (e.g., title, description, narrative), which we
model as a Python dictionary. Similarly, qrels are nested dictionaries: query
ids mapping to a dictionary of docids to (possibly graded) relevance
judgments. Our choice to use Python data structures means that they can be
manipulated using standard constructs such as list comprehensions. For
example, we can straightforwardly compute the avg. length of queries (L7) and
the avg. number of relevance judgments per query (L10).

###  3.3. Batch Retrieval

Putting everything discussed above together, it is easy in Pyserini to perform
an end-to-end batch retrieval run with queries from a standard test
collection. For example, the following command generates a run on the
development queries of the MS MARCO passage ranking task (with BM25):

    $ python -m pyserini.search --topics msmarco-passage-dev-subset \
       --index msmarco-passage --output run.msmarco-passage.txt \
       --bm25 --msmarco

The option --msmarco specifies the MS MARCO output format; an alternative is
the TREC format. We can evaluate the effectiveness of the run with another
simple command:

    $ python -m pyserini.eval.msmarco_passage_eval \
       msmarco-passage-dev-subset run.msmarco-passage.txt
    #####################
    MRR @10: 0.18741227770955546
    QueriesRanked: 6980
    #####################

Pyserini includes a copy of the official evaluation script and provides a
lightweight convenience wrapper around it. The toolkit manages qrels
internally, so the user simply needs to provide the name of the test
collection, without having to worry about downloading, storing, and specifying
external files. Otherwise, the usage of the evaluation module is exactly the
same as the official evaluation script; in fact, Pyserini simply dispatches to
the underlying script after it translates the qrels mapping internally.

The above result corresponds to an Anserini baseline on the MS MARCO passage
leaderboard. This is worth emphasizing and nicely illustrates our goal of
making Pyserini easy to use: with one simple command, it is possible to
replicate a run that serves as a common baseline on a popular leaderboard,
providing a springboard to experimenting with different ranking models in a
multi-stage architecture. Similar commands provide replication for batch
retrieval with dense representations as well as hybrid retrieval.

###  3.4. Working with Custom Collections

Beyond existing corpora and test collections, a common use case for Pyserini
is users who wish to search their own collections. For bag-of-words sparse
retrieval, we have built in Anserini (written in Java) custom parsers and
ingestion pipelines for common document formats used in IR research, for
example, the TREC SGML format used in many newswire collections and the WARC
format for web collections. However, exposing the right interfaces and hooks
to support custom implementations in Python is awkward. Instead, we have
implemented support for a generic and flexible JSON-formatted collection in
Anserini (written in Java), and Pyserini’s indexer directly accesses the
underlying capabilities in Anserini. Thus, searching custom collections in
Pyserini necessitates first writing a simple script to reformat existing
documents into our JSON specification, and then invoking the indexer. For
dense retrieval, support for custom collections is less mature at present, but
we provide utility scripts that take an encoder model to convert documents
into dense representations, and then build indexes that support querying.

The design of Pyserini makes it easy to use as a standalone module or to
integrate as a library in another application. In the first use case, a
researcher can replicate a baseline (first-stage retrieval) run with a simple
invocation, take the output run file (which is just plain text) to serve as
input for downstream reranking, or as part of ensembles (Esteva et al., 2020;
Bendersky et al., 2020). As an alternative, Pyserini can be used as a library
that is tightly integrated into another package; see additional discussions in
Section 6.

⬇ 1from pyserini.index import IndexReader 2 3# Initialize from a pre-built
index: 4reader = IndexReader.from_prebuilt_index(’robust04’) 5 6# Iterate over
index terms and fetch term statistics: 7import itertools 8for term in
itertools.islice(reader.terms(), 10): 9
print(f’{term.term}␣(df={term.df},␣cf={term.cf})’) 10 11# Analyze a term:
12term = ’atomic’ 13analyzed = reader.analyze(term)
14print(f’The␣analyzed␣form␣of␣"{term}"␣is␣"{analyzed[0]}"’) 15 16# Directly
fetch term statistics for a term: 17df, cf = reader.get_term_counts(term)
18print(f’term␣"{term}":␣df={df},␣cf={cf}’) 19 20# Traverse postings for a
term: 21postings_list = reader.get_postings_list(term) 22for p in
postings_list: 23 print(f’docid={p.docid},␣tf={p.tf},␣pos={p.positions}’) 24
25# Examples of manipulating document vectors: 26tf =
reader.get_document_vector(’LA071090-0047’) 27tp =
reader.get_term_positions(’LA071090-0047’) 28df = { 29 term:
(reader.get_term_counts(term, analyzer=None))[0] 30 for term in tf.keys() 31}
32bm25_vector = { 33 term: reader.compute_bm25_term_weight(’LA071090-0047’, 34
term, 35 analyzer=None) 36 for term in tf.keys() 37}
---
Figure 5. Examples of using Pyserini to access system internals such as term
statistics and postings lists.

###  3.5. Access to System Internals

Beyond simplifying the research lifecycle of working with standard IR test
collections, Pyserini provides access to system internals to support use cases
that we might not have anticipated. A number of these features for sparse
retrieval are illustrated in Figure 5 and available via the IndexReader
object, which can be initialized with pre-built indexes in the same way as the
searcher classes.222For these examples, we use the Robust04 index because
access to many of the features requires positional indexes and storing
document vectors. Due to size considerations, this information is not included
in the pre-built MS MARCO indexes.

In (L7–9), we illustrate how to iterate over all terms in a corpus (i.e., its
dictionary) and access each term’s document frequency and collection
frequency. Here, we use standard Python tools to select and print out the
first 10 terms alphabetically. In the next example, (L12–14), we show how to
“analyze” a word (what Lucene calls tokenization, stemming, etc.). For
example, the analyzed form of “atomic” is “atom”. Since terms in the
dictionary (and document vectors, see below) are stored in analyzed form,
these methods are necessary to access system internals. Another way to access
collection statistics is shown in (L17–18) by direct lookup.

Pyserini also provides raw access to index structures, both the inverted index
as well as the forward index (i.e., to fetch document vectors). In (L21–23),
we show an example of looking up a term’s postings list and traversing its
postings, printing out term frequency and term position occurrences. Access to
the forward index is shown in (L26–27) based on a docid: In the first case,
Pyserini returns a dictionary mapping from terms in the document to their term
frequencies. In the second case, Pyserini returns a dictionary mapping from
terms to their term positions in the document. From these methods, we can, for
example, look up document frequencies for all terms in a document using a list
comprehension in Python (L28–31). This might be further manipulated to compute
tf–idf scores. Finally, the toolkit provides a convenience method for
computing BM25 term weights, using which we can reconstruct the BM25-weighted
document vector (L32–37).

At present, access to system internals focuses on manipulating sparse
representations. Dense retrieval capabilities in Pyserini are less mature. It
is not entirely clear what advanced features would be desired by researchers,
but we anticipate adding support as the needs and use cases become more clear.

##  4\. Experimental Results

Having provided a “tour” of Pyserini and some of the toolkit’s features, in
this section we present experimental results to quantify its effectiveness for
first-stage retrieval. Currently, Pyserini provides support for approximately
30 test collections; here, we focus on two popular leaderboards.

Pyserini provides baselines for two MS MARCO datasets (Bajaj et al., 2018):
the passage ranking task (Table 1) and the document ranking task (Table 2). In
both cases, we report the official metric (MRR@10 for passage, MRR@100 for
document). For the development set, we additionally report recall at rank
1000, which is useful in establishing an upper bound on reranking
effectiveness. Note that evaluation results on the test sets are only
available via submissions to the leaderboard, and therefore we do not have
access to recall figures. Furthermore, since the organizers discourage
submissions that are “too similar” (e.g., minor differences in parameter
settings) and actively limit the number of submissions to the leaderboard, we
follow their guidance and hence do not have test results for all of our
experimental conditions.

|  | MS MARCO Passage
---|---|---
|  | Development | Test
Method | MRR@10 | R@1k | MRR@10
Pyserini: sparse |  |  |
(1a) | Original text | 0.184 | 0.853 | 0.186
| BM25, default ($k_{1}=0.9,b=0.4$) |  |  |
(1b) | Original text | 0.187 | 0.857 | 0.190
| BM25, tuned ($k_{1}=0.82,b=0.68$) |  |  |
(1c) | doc2query–T5 | 0.272 | 0.947 | 0.277
| BM25, default ($k_{1}=0.9,b=0.4$) |  |  |
(1d) | doc2query–T5 | 0.282 | 0.951 | -
| BM25, tuned ($k_{1}=2.18,b=0.86$) |  |  |
Pyserini: dense |  |  |
(2a) | TCT-ColBERT (brute-force) | 0.335 | 0.964 | -
(2b) | TCT-ColBERT (HNSW) | 0.335 | 0.962 | -
Pyserini: dense–sparse hybrid |  |  |
(3a) | TCT-ColBERT + original text | 0.353 | 0.970 | -
(3a) | TCT-ColBERT + doc2query–T5 | 0.365 | 0.975 | -
(4a) | BM25 (Microsoft Baseline) | 0.167 | - | 0.165
(4b) | ACNE (Xiong et al., 2020) | 0.330 | 0.959 | -
(4c) | DistilBERT${}_{\textsc{dot}}$ (Hofstätter et al., 2021) | 0.323 | 0.957 | -
Pyserini: multi-stage pipelines |  |  |
(4d) | monoBERT (Nogueira et al., 2019a) | 0.372 | - | 0.365
(4e) | Expando-Mono-DuoT5 (Pradeep et al., 2021) | 0.420 | - | 0.408

Table 1. Results on the MS MARCO passage ranking task.

For the passage ranking task, Pyserini supports sparse retrieval, dense
retrieval, as well as hybrid dense–sparse retrieval; all results in rows (1)
through (3) are replicable with our toolkit. Row (1a) reports the
effectiveness of sparse bag-of-words ranking using BM25 with default parameter
settings on the original text; row (1b) shows results after tuning the
parameters on a subset of the dev queries via simple grid search to maximize
recall at rank 1000. Parameter tuning makes a small difference in this case.
Pyserini also provides document expansion baselines using our doc2query method
(Nogueira et al., 2019b); the latest model uses T5 (Raffel et al., 2020) as
described in Nogueira and Lin (2019). Bag-of-words BM25 ranking over the
corpus with document expansion is shown in rows (1c) and (1d) for default and
tuned parameters. We see that doc2query yields a large jump in effectiveness,
while still using bag-of-words retrieval, since neural inference is applied to
generate expansions prior to the indexing phase. With doc2query, parameter
tuning also makes a difference.

For dense retrieval, results using TCT-ColBERT (Lin et al., 2020b) are shown
in rows (2) using different indexes. Row (2a) refers to brute-force scans over
the document vectors in FAISS (Johnson et al., 2017), which provides exact
nearest-neighbor search. Row (2b) refers to approximate nearest-neighbor
search using HNSW (Malkov and Yashunin, 2020); the latter yields a small loss
in effectiveness, but enables interactive querying. We see that retrieval
using dense learned representations is much more effective than retrieval
using sparse bag-of-words representations, even taking into account document
expansion techniques.

Results of hybrid techniques that combine sparse and dense retrieval using
weighted interpolation are shown next in Table 1. Row (3a) shows the results
of combining TCT-ColBERT with BM25 bag-of-words search over the original
texts, while row (3b) shows results that combine document expansion using
doc2query with the T5 model. In both cases we used a brute-force approach.
Results show that combining sparse and dense signals is more effective than
either alone, and that the hybrid technique continues to benefit from document
expansion.

To put these results in context, rows (4) provide a few additional points of
comparison. Row (4a) shows the BM25 baseline provided by the MS MARCO
leaderboard organizers, which appears to be less effective than Pyserini’s
implementation. Rows (4b) and (4c) refer to two alternative dense-retrieval
techniques; these results show that our TCT-ColBERT model performs on par with
competing models. Finally, rows (4d) and (4e) show results from two of our own
reranking pipelines built on Pyserini as first-stage retrieval: monoBERT, a
standard BERT-based reranker (Nogueira et al., 2019a), and our “Expando-Mono-
Duo” design pattern with T5 (Pradeep et al., 2021). These illustrate how
Pyserini can serve as the foundation for further explorations in neural
ranking techniques.

|  | MS MARCO Document
---|---|---
|  | Development | Test
Method | MRR@100 | R@1k | MRR@100
Pyserini: sparse |  |  |
(1a) | Original text (doc) | 0.230 | 0.886 | 0.201
| BM25, default ($k_{1}=0.9,b=0.4$) |  |  |
(1b) | Original text (doc) | 0.277 | 0.936 | -
| BM25, tuned ($k_{1}=4.46,b=0.82$) |  |  |
(1c) | Original text (passage) | 0.268 | 0.918 | -
| BM25, default ($k_{1}=0.9,b=0.4$) |  |  |
(1d) | Original text (passage) | 0.275 | 0.931 | 0.246
| BM25, tuned ($k_{1}=2.16,b=0.61$) |  |  |
(1e) | doc2query–T5 (doc) | 0.327 | 0.955 | 0.291
| BM25, tuned ($k_{1}=4.68,b=0.87$) |  |  |
(1f) | doc2query–T5 (passage) | 0.321 | 0.953 | 0.290
| BM25, tuned ($k_{1}=2.56,b=0.59$) |  |  |
Pyserini: dense |  |  |
(2) | TCT-ColBERT | 0.332 | - | -
Pyserini: dense–sparse hybrid |  |  |
(3a) | TCT-ColBERT + original text | 0.370 | - | -
(3b) | TCT-ColBERT + doc2query–T5 | 0.378 | - | -
(4a) | BM25 (Microsoft Baseline) | - | - | 0.192
(4b) | ACNE (Xiong et al., 2020) | 0.384 | - | 0.342
Pyserini: multi-stage pipelines |  |  |
(4c) | Expando-Mono-DuoT5 (Pradeep et al., 2021) | 0.426 | - | 0.370

Table 2. Results on the MARCO document ranking task.

Results on the MS MARCO document ranking task are shown in Table 2. For this
task, there are two common configurations, what we call “per-document” vs.
“per-passage” indexing. In the former, each document in the corpus is indexed
as a separate document; in the latter, each document is first segmented into
multiple passages, and each passage is indexed as a separate “document”.
Typically, for the “per-passage” index, a document ranking is constructed by
simply taking the maximum of per-passage scores; the motivation for this
design is to reduce the amount of text that computationally expensive
downstream rerankers need to process. Rows (1a)–(1d) show the per-document and
per-passage approaches on the original texts, using default parameters and
after tuning for recall@100 using grid search. With default parameters, there
appears to be a large effectiveness gap between the per-document and per-
passage approaches, but with properly tuned parameters, (1b) vs. (1d), we see
that they achieve comparable effectiveness. As with passage retrieval, we can
include document expansion with either the per-document or per-passage
approaches (the difference is whether we append the expansions to each
document or each passage); these results are shown in (1e) and (1f).
Similarly, the differences in effectiveness between the two approaches are
quite small.

Dense retrieval using TCT-ColBERT is shown in row (2); this is a new
experimental condition that was not reported in Lin et al. (2020b). Here, we
are simply using the encoder that has been trained on the MS MARCO passage
data in a zero-shot manner. Since these encoders were not designed to process
long segments of text, only the per-passage condition makes sense here. In row
(3a), we combine row (2) with the per-passage sparse retrieval results on the
original text, and in row (3b), with the per-passage sparse retrieval results
using document expansion. Overall, the findings are consistent with the
passage ranking task: Dense retrieval is more effective than sparse retrieval
(although the improvements for document ranking are smaller, most likely due
to zero-shot application). Dense and sparse signals are complementary, shown
by the effectiveness of the dense–sparse hybrid, which further benefits from
document expansion (although the gains from expansion appear to be smaller).

Similar to the passage ranking task, Table 2 provides a few points of
comparison. Row (4a) shows the effectiveness of the BM25 baseline provided by
the leaderboard organizers; once again, we see that Pyserini’s results are
better. Row (4b) shows ACNE results (Xiong et al., 2020), which are more
effective than TCT-ColBERT, although the comparison isn’t quite fair since our
models were not trained on MS MARCO document data. Finally, Row (4c) shows the
results of applying our “Expando-Mono-Duo” design pattern with T5 (Pradeep et
al., 2021) in a zero-shot manner.

In summary, Pyserini “covers all the bases” in terms of providing first-stage
retrieval for modern research on neural ranking approaches: sparse retrieval,
dense retrieval, as well as hybrid techniques combining both approaches.
Experimental results on two popular leaderboards show that our toolkit
provides a good starting point for further research.

##  5\. Replicability

As replicability is a major consideration in the design and implementation of
Pyserini, it is worthwhile to spend some time discussing practices that
support this goal. At a high-level, we can divide replicability into technical
and social aspects. Of the two, we believe the latter are more important,
because any technical tool to support replicability will either be ignored or
circumvented unless there is a shared commitment to the goal and established
social practices to promote it. Replicability is often in tension with other
important desiderata, such as the ability to rapidly iterate, and thus we are
constantly struggling to achieve the right balance.

Perhaps the most important principle that our group has internalized is “to
eat our own dog food”, which refers to the colloquialism of using one’s own
“product”. Our group uses Pyserini as the foundation for our own research on
transformer-based reranking models, dense learned representations for
reranking, and beyond (see more details in Section 6). Thus, replicability
comes at least partially from our self interest—to ensure that group members
can repeat their own experiments and replicate each other’s results. If we can
accomplish replicability internally, then external researchers should be able
to replicate our results if we ensure that there is nothing peculiar about our
computing environment.

Our shared commitment to replicability is operationalized into social
processes and is supported by technical infrastructure. To start, Pyserini as
well as the underlying Anserini toolkit adopt standard best practices in open-
source software development. Our code base is available on GitHub, issues are
used to describe proposed feature enhancements and bugs, and code changes are
mediated via pull requests that are code reviewed by members of our group.

Over the years, our group has worked hard to internalize the culture of
writing replication guides for new capabilities, typically paired with our
publications; these are all publicly available and stored alongside our code.
These guides include, at a minimum, the sequence of command-line invocations
that are necessary to replicate a particular set of experimental results, with
accompanying descriptions in prose. In theory, copying and pasting commands
from the guide into a shell should succeed in replication. In practice, we
regularly “try out” each other’s replication guides to uncover what didn’t
work and to offer improvements to the documentation. Many of these guides are
associated with a “replication log” at the bottom of the guide, which contains
a record of individuals who have successfully replicated the results, and the
commit id of the code version they used. With these replication logs, if some
functionality breaks, it becomes much easier to debug, by rewinding the code
commits back to the previous point where it last “worked”.

How do we motivate individuals to write these guides and replicate each
other’s results? We have two primary tools: appealing to reciprocity and
providing learning experiences for new group members. For new students who
wish to become involved in our research, conducting replications is an easy
way to learn our code base, and hence provides a strong motivation. In
particular, replications are particularly fruitful exercises for
undergraduates as their first step in learning about research. For students
who eventually contribute to Pyserini, appeals to reciprocity are effective:
they are the beneficiaries of previous group members who “paved the way” and
thus it behooves them to write good documentation to support future students.
Once established, such a culture becomes a self-reinforcing virtuous cycle.

Building on these social processes, replicability in Anserini is further
supported by an end-to-end regression framework, that, for each test
collection, runs through the following steps: builds the index from scratch
(i.e., the raw corpus), performs multiple retrieval runs (using different
ranking models), evaluates the output (e.g., with trec_eval), and verifies
effectiveness figures against expected results. Furthermore, the regression
framework automatically generates documentation pages from templates,
populating results on each successful execution. All of this happens
automatically without requiring any human intervention. There are currently
around 30 such tests, which take approximately two days to run end to end. The
largest of these tests, which occupies most of the time, builds a 12 TB index
on all 733 million pages of the ClueWeb12 collection. Although it is not
practical to run these regression tests for each code change, we do try to run
them as often as possible, resources permitting. This has the effect of
catching new commits that break existing regressions early so they are easier
to debug. We keep a change log that tracks divergences from expected results
(e.g., after a bug fix) or when new regressions are added.

On top of the regression framework in Anserini, further end-to-end regression
tests in Pyserini compare its output against Anserini’s output to verify that
the Python interface does not introduce any bugs. These regression tests, for
example, test different parameter settings from the command line, ensure that
single-threaded and multi-threaded execution yield identical results, that
pre-built indexes can be successfully downloaded, etc.

Written guides and automated regression testing lie along a spectrum of
replication rigor. We currently do not have clear-cut criteria as to what
features become “enshrined” in automated regressions. However, as features
become more critical and foundational in Pyserini or Anserini, we become more
motivated to include them in our automated testing framework.

In summary, replicability has become ingrained as a shared norm in our group,
operationalized in social processes and facilitated by technical
infrastructure. This has allowed us to balance the demands of replicability
with the ability to iterate at a rapid pace.

##  6\. Future Developments

Anserini has been in development for several years and our group has been
working on Pyserini since late 2019. The most recent major feature added to
Pyserini (in 2021) has been dense retrieval capabilities alongside bag-of-
words sparse retrieval, and their integration in hybrid sparse–dense
techniques.

Despite much activity and continued additions to our toolkit, the broad
contours of what Pyserini “aims to be” are fairly well defined. We plan to
stay consistent to our goal of providing replicable and easy-to-use techniques
that support innovations in neural ranking methods. Because it is not possible
for any single piece of software to do everything, an important part of
maintaining focus on our goals is to be clear about what Pyserini isn’t going
to do.

While we are planning to add support for more dense retrieval techniques based
on learned representations, quite explicitly the training of these models is
outside the scope of Pyserini. At a high-level, the final “product” of any
dense retrieval technique comprises an encoder for queries and an encoder for
documents (and in some cases, these are the same). The process of training
these encoders can be quite complex, involving, for example, knowledge
distillation (Hofstätter et al., 2021; Lin et al., 2020b) and complex sampling
techniques (Xiong et al., 2020). This is an area of active exploration and it
would be premature to try to build a general-purpose toolkit for learning such
representations.

For dense retrieval techniques, Pyserini assumes that query/document encoders
have already been learned: in modern approaches based on pretrained
transformers, Huggingface’s Transformers library has become the de facto
standard for working with such models, and our toolkit provides tight
integration. From this starting point, Pyserini provides utilities for
building indexes that support nearest-neighbor search on these dense
representations. However, it is unlikely that Pyserini will, even in the
future, become involved in the training of dense retrieval models.

Another conscious decision we have made in the design of Pyserini is to not
prescribe an architecture for multi-stage ranking and to not include neural
reranking models in the toolkit. Our primary goal is to provide replicable
first-stage retrieval, and we did not want to express an opinion on how multi-
stage ranking should be organized. Instead, our group is working on a separate
toolkit, called PyGaggle, that provides implementations for much of our work
on multi-stage ranking, including our “mono” and “duo” designs (Pradeep et
al., 2021) as well as ranking with sequence-to-sequence models (Nogueira et
al., 2020). PyGaggle is designed specifically to work with Pyserini, but the
latter was meant to be used independently, and we explicitly did not wish to
“hard code” our own research agenda. This separation has made it easier for
other neural IR toolkits to build on Pyserini, for example, the Caprelous
toolkit (Yates et al., 2020a; Yates et al., 2020b).

On top of PyGaggle, we have been working on faceted search interfaces to
provide a complete end-to-end search application: this was initially
demonstrated in our Covidex (Zhang et al., 2020) search engine for COVID-19
scientific articles. We have since generalized the application into Cydex,
which provides infrastructure for searching the scientific literature,
demonstrated in different domains (Ding et al., 2020).

Our ultimate goal is to provide reusable libraries for crafting end-to-end
information access applications, and we have organized the abstractions in a
manner that allows users to pick and choose what they wish to adopt and build
on: Pyserini to provide first-stage retrieval and basic support, PyGaggle to
provide neural reranking models, and Cydex to provide a faceted search
interface.

##  7\. Conclusions

Our group’s efforts to promote and support replicable IR research dates back
to 2015 (Lin et al., 2016; Arguello et al., 2015), and the landscape has
changed quite a bit since then. Today, there is much more awareness of the
issues surrounding replicability; norms such as the sharing of source code
have become more entrenched than before, and we have access to better tools
now (e.g., Docker, package mangers, etc.) than we did before. At the same
time, however, today’s software ecosystem has become more complex; ranking
models have become more sophisticated and modern multi-stage ranking
architectures involve more complex components than before. In this changing
environment, the need for stable foundations on which to build remains. With
Pyserini, it has been and will remain our goal to provide easy-to-use tools in
support of replicable IR research.

## Acknowledgements

This research was supported in part by the Canada First Research Excellence
Fund, the Natural Sciences and Engineering Research Council (NSERC) of Canada,
and the Waterloo–Huawei Joint Innovation Laboratory.

## References

  * (1)
  * Abadi et al. (2016) Martín Abadi, Paul Barham, Jianmin Chen, Zhifeng Chen, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irving, Michael Isard, Manjunath Kudlur, Josh Levenberg, Rajat Monga, Sherry Moore, Derek G. Murray, Benoit Steiner, Paul Tucker, Vijay Vasudevan, Pete Warden, Martin Wicke, Yuan Yu, and Xiaoqiang Zheng. 2016\.  TensorFlow: A system for large-scale machine learning. In _Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI ’16)_. 265–283.
  * Akkalyoncu Yilmaz et al. (2020) Zeynep Akkalyoncu Yilmaz, Charles L. A. Clarke, and Jimmy Lin. 2020\.  A Lightweight Environment for Learning Experimental IR Research Practices. In _Proceedings of the 43rd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2020)_. 2113–2116.
  * Akkalyoncu Yilmaz et al. (2019) Zeynep Akkalyoncu Yilmaz, Shengjin Wang, Wei Yang, Haotian Zhang, and Jimmy Lin. 2019\.  Applying BERT to Document Retrieval with Birch. In _Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP): System Demonstrations_. Hong Kong, China, 19–24.
  * Arguello et al. (2015) Jaime Arguello, Matt Crane, Fernando Diaz, Jimmy Lin, and Andrew Trotman. 2015.  Report on the SIGIR 2015 Workshop on Reproducibility, Inexplicability, and Generalizability of Results (RIGOR).  _SIGIR Forum_ 49, 2 (2015), 107–116.
  * Bajaj et al. (2018) Payal Bajaj, Daniel Campos, Nick Craswell, Li Deng, Jianfeng Gao, Xiaodong Liu, Rangan Majumder, Andrew McNamara, Bhaskar Mitra, Tri Nguyen, Mir Rosenberg, Xia Song, Alina Stoica, Saurabh Tiwary, and Tong Wang. 2018.  MS MARCO: A Human Generated MAchine Reading COmprehension Dataset.  _arXiv:1611.09268v3_ (2018).
  * Bendersky et al. (2020) Michael Bendersky, Honglei Zhuang, Ji Ma, Shuguang Han, Keith Hall, and Ryan McDonald. 2020\.  RRF102: Meeting the TREC-COVID Challenge with a 100+ Runs Ensemble.  _arXiv:2010.00200_ (2020).
  * Ding et al. (2020) Shane Ding, Edwin Zhang, and Jimmy Lin. 2020.  Cydex: Neural Search Infrastructure for the Scholarly Literature. In _Proceedings of the First Workshop on Scholarly Document Processing_. 168–173.
  * Esteva et al. (2020) Andre Esteva, Anuprit Kale, Romain Paulus, Kazuma Hashimoto, Wenpeng Yin, Dragomir Radev, and Richard Socher. 2020.  CO-Search: COVID-19 Information Retrieval with Semantic Search, Question Answering, and Abstractive Summarization.  _arXiv:2006.09595_ (2020).
  * Grand et al. (2020) Adrien Grand, Robert Muir, Jim Ferenczi, and Jimmy Lin. 2020\.  From MaxScore to Block-Max WAND: The Story of How Lucene Significantly Improved Query Evaluation Performance. In _Proceedings of the 42nd European Conference on Information Retrieval, Part II (ECIR 2020)_. 20–27.
  * Hofstätter et al. (2021) Sebastian Hofstätter, Sophia Althammer, Michael Schröder, Mete Sertkan, and Allan Hanbury. 2021\.  Improving Efficient Neural Ranking Models with Cross-Architecture Knowledge Distillation.  _arXiv:2010.02666_ (2021).
  * Johnson et al. (2017) Jeff Johnson, Matthijs Douze, and Hervé Jégou. 2017\.  Billion-scale similarity search with GPUs.  _arXiv:1702.08734_ (2017).
  * Karpukhin et al. (2020) Vladimir Karpukhin, Barlas Oguz, Sewon Min, Patrick Lewis, Ledell Wu, Sergey Edunov, Danqi Chen, and Wen-tau Yih. 2020\.  Dense Passage Retrieval for Open-Domain Question Answering. In _Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP)_. 6769–6781.
  * Khattab and Zaharia (2020) Omar Khattab and Matei Zaharia. 2020.  ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT. In _Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2020)_. 39–48.
  * Lin et al. (2016) Jimmy Lin, Matt Crane, Andrew Trotman, Jamie Callan, Ishan Chattopadhyaya, John Foley, Grant Ingersoll, Craig Macdonald, and Sebastiano Vigna. 2016.  Toward Reproducible Baselines: The Open-Source IR Reproducibility Challenge. In _Proceedings of the 38th European Conference on Information Retrieval (ECIR 2016)_. Padua, Italy, 408–420.
  * Lin et al. (2020a) Jimmy Lin, Rodrigo Nogueira, and Andrew Yates. 2020a.  Pretrained Transformers for Text Ranking: BERT and Beyond.  _arXiv:2010.06467_ (2020).
  * Lin et al. (2020b) Sheng-Chieh Lin, Jheng-Hong Yang, and Jimmy Lin. 2020b.  Distilling Dense Representations for Ranking using Tightly-Coupled Teachers.  _arXiv:2010.11386_ (2020).
  * Malkov and Yashunin (2020) Yu A. Malkov and D. A. Yashunin. 2020.  Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs.  _IEEE Transactions on Pattern Analysis and Machine Intelligence_ 42, 4 (2020), 824–836.
  * Nogueira et al. (2020) Rodrigo Nogueira, Zhiying Jiang, Ronak Pradeep, and Jimmy Lin. 2020\.  Document Ranking with a Pretrained Sequence-to-Sequence Model. In _Findings of the Association for Computational Linguistics: EMNLP 2020_. 708–718.
  * Nogueira and Lin (2019) Rodrigo Nogueira and Jimmy Lin. 2019.  From doc2query to docTTTTTquery.
  * Nogueira et al. (2019a) Rodrigo Nogueira, Wei Yang, Kyunghyun Cho, and Jimmy Lin. 2019a.  Multi-Stage Document Ranking with BERT.  _arXiv:1910.14424_ (2019).
  * Nogueira et al. (2019b) Rodrigo Nogueira, Wei Yang, Jimmy Lin, and Kyunghyun Cho. 2019b.  Document Expansion by Query Prediction.  _arXiv:1904.08375_ (2019).
  * Paszke et al. (2019) Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban Desmaison, Andreas Köpf, Edward Yang, Zach DeVito, Martin Raison, Alykhan Tejani, Sasank Chilamkurthy, Benoit Steiner, Lu Fang, Junjie Bai, and Soumith Chintala. 2019.  PyTorch: An Imperative Style, High-Performance Deep Learning Library. In _Advances in Neural Information Processing Systems_. 8024–8035.
  * Pradeep et al. (2021) Ronak Pradeep, Rodrigo Nogueira, and Jimmy Lin. 2021\.  The Expando-Mono-Duo Design Pattern for Text Ranking with Pretrained Sequence-to-Sequence Models.  _arXiv:2101.05667_ (2021).
  * Raffel et al. (2020) Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J. Liu. 2020.  Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer.  _Journal of Machine Learning Research_ 21, 140 (2020), 1–67.
  * Wolf et al. (2020) Thomas Wolf, Lysandre Debut, Victor Sanh, Julien Chaumond, Clement Delangue, Anthony Moi, Pierric Cistac, Tim Rault, Remi Louf, Morgan Funtowicz, Joe Davison, Sam Shleifer, Patrick von Platen, Clara Ma, Yacine Jernite, Julien Plu, Canwen Xu, Teven Le Scao, Sylvain Gugger, Mariama Drame, Quentin Lhoest, and Alexander Rush. 2020\.  Transformers: State-of-the-Art Natural Language Processing. In _Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations_. 38–45.
  * Xiong et al. (2020) Lee Xiong, Chenyan Xiong, Ye Li, Kwok-Fung Tang, Jialin Liu, Paul Bennett, Junaid Ahmed, and Arnold Overwijk. 2020\.  Approximate Nearest Neighbor Negative Contrastive Learning for Dense Text Retrieval.  _arXiv:2007.00808_ (2020).
  * Yang et al. (2017) Peilin Yang, Hui Fang, and Jimmy Lin. 2017.  Anserini: Enabling the Use of Lucene for Information Retrieval Research. In _Proceedings of the 40th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2017)_. Tokyo, Japan, 1253–1256.
  * Yang et al. (2018) Peilin Yang, Hui Fang, and Jimmy Lin. 2018.  Anserini: Reproducible Ranking Baselines Using Lucene.  _Journal of Data and Information Quality_ 10, 4 (2018), Article 16.
  * Yates et al. (2020a) Andrew Yates, Siddhant Arora, Xinyu Zhang, Wei Yang, Kevin Martin Jose, and Jimmy Lin. 2020a.  Capreolus: A Toolkit for End-to-End Neural Ad Hoc Retrieval. In _Proceedings of the 13th ACM International Conference on Web Search and Data Mining (WSDM 2020)_. Houston, Texas, 861–864.
  * Yates et al. (2020b) Andrew Yates, Kevin Martin Jose, Xinyu Zhang, and Jimmy Lin. 2020b.  Flexible IR Pipelines with Capreolus. In _Proceedings of the 29th International Conference on Information and Knowledge Management (CIKM 2020)_. 3181–3188.
  * Zhang et al. (2020) Edwin Zhang, Nikhil Gupta, Raphael Tang, Xiao Han, Ronak Pradeep, Kuang Lu, Yue Zhang, Rodrigo Nogueira, Kyunghyun Cho, Hui Fang, and Jimmy Lin. 2020.  Covidex: Neural Ranking Models and Keyword Search Infrastructure for the COVID-19 Open Research Dataset. In _Proceedings of the First Workshop on Scholarly Document Processing_. 31–41.


# Determining sets for holomorphic functions on the symmetrized bidisk

B. Krishna Das  Department of Mathematics, Indian Institute of Technology
Bombay, Powai, Mumbai, 400076, India<EMAIL_ADDRESS><EMAIL_ADDRESS>,  P. Kumar  Department of Mathematics, Indian Institute of Science,
Bengaluru-560012, India<EMAIL_ADDRESS>and  H. Sau  Indian
Institute of Science Education and Research, Dr. Homi Bhabha Road, Pashan,
Pune, Maharashtra 411008, India<EMAIL_ADDRESS>
###### Abstract.

A subset ${\mathcal{D}}$ of a domain $\Omega\subset{\mathbb{C}}^{d}$ is
determining for an analytic function $f:\Omega\to\overline{{\mathbb{D}}}$ if
whenever an analytic function $g:\Omega\rightarrow\overline{{\mathbb{D}}}$
coincides with $f$ on ${\mathcal{D}}$, equals to $f$ on whole $\Omega$. This
note finds several sufficient conditions for a subset of the symmetrized
bidisk to be determining. For any $N\geq 1$, a set consisting of $N^{2}-N+1$
many points is constructed which is determining for any rational inner
function with a degree constraint. We also investigate when the intersection
of the symmetrized bidisk intersected with some special algebraic varieties
can be determining for rational inner functions.

MSC 2020: Primary: 32A10 Secondary: 32A08, 32A70, 32C25, 32E30, 46E22

##  1\. Introduction

###  1.1. Motivation

For a domain $\Omega$ in ${\mathbb{C}}^{d}$ ($d\geq 1$), let
${\mathbb{S}}(\Omega)$ denote the set of analytic functions
$f:\Omega\to\overline{{\mathbb{D}}}$, where ${\mathbb{D}}$ denotes the open
unit disk in ${\mathbb{C}}$. Given a function $f\in{\mathbb{S}}(\Omega)$, this
paper revolves around the question when a given subset ${\mathcal{D}}$ of
$\Omega$ has the property that whenever $g\in{\mathbb{S}}(\Omega)$ coincides
with $f$ on ${\mathcal{D}}$, equals to $f$ on whole $\Omega$. When a subset
has this property we call it a determining set for $(f,\Omega)$, or just $f$
when the domain is clear from the context. For example, $\\{0,1/2\\}$ is a
determining set for the identity map (by the Schwarz Lemma); any open subset
of $\Omega$ is determining for any analytic function on $\Omega$ (by the
Identity Theorem). See Rudin [32, Chapter 5] for some interesting results
related to a similar concept for $\Omega={\mathbb{D}}^{d}$.

The motivation behind the study of determining sets comes from the Pick
interpolation problem. It corresponds to the case when ${\mathcal{D}}$ is a
finite set. Given a finite subset
${\mathcal{D}}=\\{\lambda_{1},\lambda_{2},\dots,\lambda_{N}\\}$ of $\Omega$
and points $w_{1},w_{2},\dots,w_{N}$ in the open unit disk ${\mathbb{D}}$, the
Pick interpolation problem asks if there is an analytic function
$f:\Omega\to{\mathbb{D}}$ such that $f(\lambda_{j})=w_{j}$ for
$j=1,2,\dots,N$. Therefore in this case, ${\mathcal{D}}$ being a determining
set for $(f,\Omega)$ means that the (solvable) Pick problem
$\lambda_{j}\mapsto f(\lambda_{j})$ has a unique solution. In view of Pick’s
pioneering work [31], it is therefore clear that when $\Omega={\mathbb{D}}$,
then ${\mathcal{D}}$ is determining for $f$ if and only if the Pick matrix

$\begin{bmatrix}\frac{1-f(\lambda_{i})\overline{f(\lambda_{j})}}{1-\lambda_{i}\overline{\lambda_{j}}}\end{bmatrix}_{i,j=1}^{N}$

has rank less than $N$, which is further equivalent to the existence of a
Blaschke function of degree less than $N$ solving the data. The classical Pick
interpolation problem has seen a wide range of generalizations. To mention a
few, it is known when a given Pick data is solvable when $\Omega$ is the
polydisk ${\mathbb{D}}^{d}$ [2], the Euclidian ball ${\mathbb{B}}_{d}$ [26],
the symmetrized bidisk [10, 14], an affine variety [22] and in more general
setting of test functions [19, 20]. However, unlike the classical case, it is
rather obscure in higher dimension when it comes to understanding when a given
solvable Pick problem has a unique solution, and usually one has to settle
with either necessary or sufficient conditions; see for example [4, 33, 34,
35].

###  1.2. The main results

The purpose of this article is to explore this direction where the underlined
domain is the symmetrized bidisk

(1.1)
$\displaystyle\mathbb{G}:=\\{(z_{1}+z_{2},z_{1}z_{2}):(z_{1},z_{2})\in\mathbb{D}^{2}\\}.$

Following the work [7] of Agler and Young, this domain has remained a field of
extensive research in operator theory and complex geometry constituting
examples and counter-examples to celebrated problems in these areas such as
the rational dilation problem [8, 12] and the Lempert Theorem [18]. In quest
of understanding the determining sets we shall actually consider the following
more general situation.

######  Definition 1.1.

Let $\Omega\subset{\mathbb{C}}^{d}$ be a domain, $E\subset\Omega$ and
$f\in{\mathbb{S}}(\Omega)$. We say that a subset ${\mathcal{D}}$ of $E$ is
determining for $(f,E)$ if for every $g\in{\mathbb{S}}(\Omega)$, $g=f$ on
${\mathcal{D}}$ implies $g=f$ on $E$. If ${\mathcal{D}}$ is determining for
$(f,E)$ for all $f\in{\mathbb{S}}(\Omega)$, then we say that ${\mathcal{D}}$
is determining for $E$. Moreover, when $E$ is the largest set in $\Omega$ such
that ${\mathcal{D}}$ is determining for $(f,E)$, we say that $E$ is the
uniqueness set for $(f,{\mathcal{D}})$, i.e., in this case

$E=\bigcap\\{Z(g-f):g\in{\mathbb{S}}(\Omega)\mbox{ and }g=f\mbox{ on
}{\mathcal{D}}\\}.$

Here, for a function $f$, we use the standard notation $Z(f)$ for the zero set
of $f$.

Note that if $E$ is the uniqueness set for $(f,{\mathcal{D}})$, then for every
$z\in\Omega\setminus E$, there exists a function $g\in{\mathbb{S}}(\Omega)$
such that $g=f$ on ${\mathcal{D}}$ but $f(z)\neq g(z)$. Remarkably, when
${\mathcal{D}}$ is a finite subset of ${\mathbb{G}}$, then for any function
$f\in{\mathbb{S}}({\mathbb{G}})$, the uniqueness set for $(f,{\mathcal{D}})$
is an affine variety (see [16], [3]). This is owing to the fact that every
solvable Pick data in ${\mathbb{G}}$ always has a rational inner solution (see
[16], [5]). Also note that if $f$ and $g$ agree on ${\mathcal{D}}$, then
${\mathcal{D}}$ is determining for $(f,E)$ if and only if ${\mathcal{D}}$ is
determining for $(g,E)$ also. In view of these facts, we shall mostly be
concerned with the case when the function $f$ in Definition 1.1 is rational
and inner. Here, a function $f$ in ${\mathbb{S}}({\mathbb{G}})$ is called
inner, if $\lim_{r\to 1-}|f(r\zeta_{1}+r\zeta_{2},r^{2}\zeta_{1}\zeta_{2})|=1$
for almost all $\zeta_{1},\zeta_{2}$ in ${\mathbb{T}}$.

Note that ${\mathbb{G}}$ is the image of ${\mathbb{D}}^{2}$ under the (proper)
holomorphic map $\pi:(z_{1},z_{2})\mapsto(z_{1}+z_{2},z_{1}z_{2})$. The
topological boundary of ${\mathbb{G}}$ is
$\partial{\mathbb{G}}:=\pi(\overline{{\mathbb{D}}}\times{\mathbb{T}})\cup\pi({\mathbb{T}}\
\times{\mathbb{D}})$ and the distinguished boundary of ${\mathbb{G}}$ is
$b{\mathbb{G}}:=\pi({\mathbb{T}}\times{\mathbb{T}})$ (see [9]). Here the
distinguished boundary of a bounded domain $\Omega\subset{\mathbb{C}}^{d}$ is
the $\check{\mbox{S}}$ilov boundary with respect to the algebra of complex-
valued functions continuous on $\overline{\Omega}$ and holomorphic in
$\Omega$. A special type of algebraic varieties has been prevalent in the
study of uniqueness of the solutions of a Pick interpolation problem (see [3,
16, 24, 25, 26, 27]). We define it below.

######  Definition 1.2.

An algebraic variety $Z(\xi)$ in ${\mathbb{C}}^{2}$ is said to be
distinguished with respect to a bounded domain $\Omega$, if

$Z(\xi)\cap\Omega\neq\emptyset\quad\text{ and }\quad
Z(\xi)\cap\partial\Omega=Z(\xi)\cap b\Omega.$

An example of a distinguished variety with respect to ${\mathbb{G}}$ is
$\\{(2z,z^{2}):z\in{\mathbb{C}}\\}$. We refer the readers to the papers [3,
11, 16, 17, 29] for results concerning these varieties and their connection to
interpolation problems.

We now state the main results of this paper in the order they are proved.

  1. (1)

In §2.1 we reformulate the notion of determining set in the more general
setting of reproducing kernel Hilbert spaces and find a sufficient condition
for a finite subset of a general domain to be determining. This is Theorem
2.1. We also show by an example that the sufficient condition need not be
necessary, in general.

  2. (2)

Starting with a natural number $N$, §2.2 constructs a finite subset of
${\mathbb{G}}$ consisting exactly of $N^{2}-N+1$ many points which is
determining for any rational inner function with a natural degree constraint
on it. This is Theorem 2.5. Proposition 2.4 is an intermediate step of the
construction and is interesting by its own.

  3. (3)

Given a distinguished variety ${\mathcal{W}}=Z(\xi)$, we investigate in §2.3
when the intersection ${\mathcal{W}}\cap\mathbb{G}$ can be the uniqueness set
for $(f,{\mathcal{D}})$, where $f$ is a rational inner function and
${\mathcal{D}}$ a finite subset of ${\mathbb{G}}$ – see Theorem 2.10. The
preparatory results Propositions 2.7 and 2.8 are interesting in their own
rights. Propositions 2.7 states that if $f$ is a rational inner function with
some regularity assumption, then there is a natural number $N$ depending on
$f$ large enough so that any subset of ${\mathcal{W}}\cap{\mathbb{G}}$
consisting of $N$ points is determining for
$(f,{\mathcal{W}}\cap{\mathbb{G}})$. This section then goes on to find (in
Theorem 2.12) a sufficient condition for ${\mathcal{W}}\cap{\mathbb{G}}$ to be
determining for a rational inner function $f$ with a regularity assumption on
it. The condition is just that the inequality

$\displaystyle\quad 2\operatorname{Re}\langle f,\xi h\rangle_{H^{2}}<\|\xi
h\|^{2}_{2}$

holds, whenever $h$ is a non-zero analytic function on ${\mathbb{G}}$ and $\xi
h$ is bounded on ${\mathbb{G}}$. Here the inner product is the Hardy space
inner product, briefly discussed in §2.3.

  4. (4)

§3 proves a bounded extension theorem for distinguished varieties with no
singularities on $b{\mathbb{G}}$. More precisely, given a distinguished
variety ${\mathcal{W}}$, we show that corresponding to every two-variable
polynomial $f$, there is a rational function $F$ on ${\mathbb{G}}$ such that
$F|_{{\mathcal{W}}\cap{\mathbb{G}}}=f$ and that
$\sup_{\mathbb{G}}|F(s,p)|\leq\alpha\sup_{{\mathcal{W}}\cap{\mathbb{G}}}|f|$,
for some constant $\alpha$ depending only on the distinguished variety
${\mathcal{W}}$.

##  2\. Determining and the uniqueness sets

###  2.1. A result for a general domain

We begin by proving a sufficient condition for a finite subset of a general
domain to be determining. The concept of determining set can be formulated in
a general setup of reproducing kernel Hilbert spaces. Here a kernel on a
domain $\Omega$ in ${\mathbb{C}}^{d}$ ($d\geq 1$) is a function
$k:\Omega\times\Omega\to{\mathbb{C}}$ such that for every choice of points
$\lambda_{1},\lambda_{2},\dots,\lambda_{N}$ in $\Omega$, the $N\times N$
matrix $[k(\lambda_{i},\lambda_{j})]$ is positive definite. Given a kernel
$k$, there is a unique Hilbert space $H(k)$ associated to it, called the
reproducing kernel Hilbert space; we refer the uninitiated reader to the book
[30]. For the purpose of this paper, all that is needed to know is that
elements of the form
$\\{\sum_{j=1}^{n}c_{j}k(\cdot,\lambda_{j}):c_{j}\in{\mathbb{C}}\mbox{ and
}\lambda_{j}\in\Omega\\}$ constitute a dense set of $H(k)$. A kernel $k$ is
said to be a holomorphic kernel, if it is holomorphic in the first and
conjugate holomorphic in the second variable. Note that when $k$ is
holomorphic, then so are the elements of $H(k)$. Let us denote by
$\operatorname{Mult}H(k)$ the algebra of all bounded holomorphic functions
$\varphi$ on $\Omega$ such that $\varphi\cdot f\in H(k)$ whenever $f\in H(k)$.
Such a holomorphic function is generally referred to as a multiplier for
$H(k)$. Let $\operatorname{Mult}_{1}H(k)$ denote the set of all multipliers
$\varphi$ such that the operator norm of $M_{\varphi}:f\mapsto\varphi\cdot f$
for all $f$ in $H(k)$ is no greater than one. A subset
${\mathcal{D}}\subset\Omega$ is said to be determining for a function
$\varphi$ in $\operatorname{Mult}_{1}H(k)$ if whenever
$\psi\in\operatorname{Mult}_{1}H(k)$ such that $\varphi=\psi$ on
${\mathcal{D}}$, then $\varphi=\psi$ on $\Omega$.

######  Theorem 2.1.

Let $k$ be a holomorphic kernel on a domain $\Omega$ in ${\mathbb{C}}^{d}$,
$\varphi\in\operatorname{Mult}_{1}H(k)$ and
${\mathcal{D}}=\\{\lambda_{1},\lambda_{2},\dots,\lambda_{N}\\}\subset\Omega$.
If the matrix

(2.1)
$\displaystyle[(1-\varphi(\lambda_{i})\overline{\varphi(\lambda_{j})})k(\lambda_{i},\lambda_{j})]_{i,j=1}^{N}$

is singular, then ${\mathcal{D}}$ is determining for $\varphi$.

###### Proof.

Since the matrix (2.1) is singular, there is a non-zero vector in its kernel;
let us denote it by $\gamma$. Let $\lambda_{N+1}$ be any point in
$\Omega\setminus{\mathcal{D}}$, and $\psi\in\operatorname{Mult}_{1}H(k)$ be
any function such that $\varphi=\psi$ on ${\mathcal{D}}$. Since
$\psi\in\operatorname{Mult}_{1}H(k)$, the operator $M_{\psi}:f\mapsto\psi\cdot
f$ is a contractive operator on $H(k)$ and therefore for every
$z\in{\mathbb{C}}$,

$\langle[(1-\psi(\lambda_{i})\overline{\psi(\lambda_{j})})k(\lambda_{i},\lambda_{j})]_{i,j=1}^{N+1}\begin{bmatrix}\gamma\\\
z\end{bmatrix},\begin{bmatrix}\gamma\\\ z\end{bmatrix}\rangle\geq{0}.$

Since
$\gamma\in\operatorname{Ker}[(1-\varphi(\lambda_{i})\overline{\varphi(\lambda_{j})})k(\lambda_{i},\lambda_{j})]$
and $\varphi=\psi$ on ${\mathcal{D}}$, the above inequality collapses to

$2\operatorname{Re}[\overline{z}\sum_{j=1}^{N}(1-\overline{\psi(\lambda_{j})}\psi(\lambda_{N+1}))\gamma_{j}k(\lambda_{N+1},\lambda_{j})]+|z|^{2}(1-|\psi(\lambda_{N+1})|^{2})||k_{\lambda_{N+1}}||^{2}\geq{0}.$

Since the above inequality is true for all $z\in\mathbb{C}$, we have

$\sum_{j=1}^{N}(1-\overline{\psi(\lambda_{j})}\psi(\lambda_{N+1}))\gamma_{j}k_{N+1,j}=0.$

Therefore, we have an implicit formula for $\psi(\lambda_{N+1})$:

(2.2)
$\displaystyle\psi(\lambda_{N+1})\left(\sum_{j=1}^{N}\overline{\psi(\lambda_{j})}\gamma_{j}k(\lambda_{N+1},\lambda_{j}\right)=\sum_{j=1}^{N}\gamma_{j}k(\lambda_{N+1},\lambda_{j}).$

Define for $z$ in $\Omega$,

$L(z)=\sum_{j=1}^{N}\gamma_{j}k_{\lambda_{j}}(z)=\sum_{j=1}^{N}\gamma_{j}k(z,\lambda_{j}).$

By definition, it is clear that $L\in H(k)$. Consider the open set
${\mathcal{O}}=\Omega\setminus Z(L)$. Note that if
$\lambda_{N+1}\in{\mathcal{O}}$, then the right hand side of equation (2.2)
does not vanish, and therefore $\psi(\lambda_{N+1})$ is uniquely determined.

Now suppose $\phi=\psi$ on ${\mathcal{O}}$. By the assumption that
${\mathcal{O}}$ is a set of uniqueness for $\operatorname{Mult}_{1}(H(k))$, it
follows that $\phi=\psi$. ∎

The converse of the above result is not true as the simple example below
demonstrates.

######  Example 2.2.

Let $k$ be the Bergman kernel on $\Omega=\mathbb{D}$, i.e.,
$k(z,w)=(1-z\overline{w})^{-2}$. Then it is well-known that
$\operatorname{Mult}_{1}H(k)={\mathbb{S}}({\mathbb{D}})$, see for example [6,
section 2.3]. By the Schwarz Lemma, ${\mathcal{D}}=\\{0,1/2\\}$ is determining
for the identity function. However, the matrix
$\left[\begin{smallmatrix}1&1\\\ 1&4/3\end{smallmatrix}\right]$ is non-
singular.

The rest of the paper specializes to the symmetrized bidisk.

###  2.2. Finite sets as a determining set

Given a natural number $N$, this subsection constructs a finite subset
${\mathcal{D}}$ of ${\mathbb{G}}$ consisting exactly of $N^{2}-N+1$ many
points, which is determining for any rational inner function on ${\mathbb{G}}$
with a degree constraint on it. This is inspired by the work of Scheinker [33]
which extends the following classical result for the unit disk to the
polydisks.

######  Lemma 2.3 (Pick [31]).

Let
${\mathcal{D}}=\\{\lambda_{1},\lambda_{2},\dots,\lambda_{N}\\}\subset{\mathbb{D}}$
and $f$ be a rational inner function on $\mathbb{D}$ with degree strictly less
than $N$. Then if $g\in{\mathbb{S}}(\mathbb{D})$ is such that $f=g$ on
${\mathcal{D}}$, then $f=g$ on ${\mathbb{D}}$.

For $\epsilon>0$ and $z\in{\mathbb{C}}$, let
$D(z;\epsilon):=\\{w\in{\mathbb{D}}:|z-w|<{\epsilon}\\}$. For
$\zeta\in{\mathbb{T}}$ and $a\in{\mathbb{D}}$, let $m_{\zeta,a}$ be the Möbius
map

$m_{\zeta,a}(z)=\zeta\frac{z-a}{1-\overline{a}z}.$

We shall have use of two notions of degree for a polynomial in two variables.
The one used in this subsection is the following. For a polynomial
$\xi(z,w)=\sum_{i,j}a_{i,j}z^{i}w^{j}$, we define $\deg\xi:=\max(i+j)$ such
that $a_{i,j}\neq 0$. The degree of a rational function in its reduced
fractional representation is defined to be the degree of the numerator
polynomial. The following is an intermediate step to proving Theorem 2.5.

######  Proposition 2.4.

Let $N$ be a positive integer and for each $j=1,2,\dots,N$, $\beta_{j}$ be
distinct points in ${\mathbb{T}}$ and $D_{j}$ be the analytic disks
$D_{j}=\\{(z+\beta_{j}z,\beta_{j}z^{2}):z\in{\mathbb{D}}\\}$. Then

  1. (a)

there exist $\beta\in{\mathbb{T}}$ and $\epsilon>0$ such that for every fixed
$\zeta\in D(\beta;\epsilon)\cap\mathbb{T}$ and $a\in{D(0;\epsilon)}$, the
analytic disk

${\mathcal{D}}_{\zeta,a}=\\{(z+m_{\zeta,a}(z),zm_{\zeta,a}(z)):z\in{\mathbb{D}}\\}$

intersects each of the analytic disks $D_{j}$ at a non-zero point;

  2. (b)

for each $\zeta\in{\mathbb{T}}$ and $\epsilon>0$, the set

${\mathcal{D}}_{\zeta}=\\{(z+m_{\zeta,a}(z),zm_{\zeta,a}(z)):z\in{\mathbb{D}}\text{
and }a\in{D(0;\epsilon)}\\}$

is a determining set for any analytic functions on $\mathbb{G}$; and

  3. (c)

the set

$E=\\{(z+\beta_{j}z,\beta_{j}z^{2}):z\in{\mathbb{D}}\text{ and
}j=1,2,\dots,N\\}=\cup_{j=1}^{N}D_{j}$

is a determining set for any rational inner function of degree less than $N$.

###### Proof.

For part (a), note that given a $\zeta\in{\mathbb{T}}$ and $a\in{\mathbb{D}}$,
the analytic disk ${\mathcal{D}}_{\zeta,a}$ intersects each $D_{j}$ at a non-
zero point if and only if there exist $0\neq z\in{\mathbb{D}}$ such that for
each $j$, $\beta_{j}z=m_{\zeta,a}(z)$, which is equivalent to having
$\overline{a}\beta_{j}z^{2}+(\beta_{j}-\zeta)z-a\zeta=0$. Therefore $\zeta$
must belong to ${\mathbb{T}}\setminus\\{\beta_{j}:j=1,2,\dots,N\\}$. Now fix
one such $\zeta$ and $j$. Let $\lambda_{1}(a),\lambda_{2}(a)$ be the roots of
the polynomial above. Then clearly $\lambda_{1}(0)=0=\lambda_{2}(0)$.
Therefore by continuity of the roots, there exists $\epsilon>0$ such that
whenever $a\in D(0;\epsilon)$, $\lambda_{1}(a)$ and $\lambda_{2}(a)$ belong to
${\mathbb{D}}$. This $\epsilon$ will of course depend on $j$ but since there
are only finitely many $j$, we can find an $\epsilon>0$ so that (a) holds.

For part (b) we have to show that if $f:\mathbb{G}\to\overline{\mathbb{D}}$ is
any analytic function such that $f|_{{\mathcal{D}}_{\zeta}}=0$, then $f=0$ on
${\mathbb{G}}$. Fix $z\in\mathbb{D}$ and consider
$f_{z}:\mathbb{D}\to\overline{\mathbb{D}}$ defined by $f_{z}:w\mapsto
f(z+w,zw)$. Since $f$ vanishes on $\mathcal{D}_{\zeta}$, $f_{z}$ vanishes on
$\\{m_{\zeta,a}(z):a\in D(0;\epsilon)\\}$ which shows that $f_{z}=0$ on
${\mathbb{D}}$. Since $z\in{\mathbb{D}}$ is arbitrary, $f=0$ on
${\mathbb{G}}$.

For (c), let $f$ be a rational inner function of degree less than $N$ and
$g\in{{\mathbb{S}}(\mathbb{G})}$ be such that $g=f$ on each $D_{j}$. For each
$\zeta$ and $a$ as in part (a), ${\mathcal{D}}_{\zeta,a}$ intersects each
$D_{j}$ at say
$(s_{j},p_{j})=(\lambda_{j}+m_{\zeta,a}(\lambda_{j}),\lambda_{j}m_{\zeta,a}(\lambda_{j}))$.
Restrict $f$ and $g$ to ${\mathcal{D}}_{\zeta,a}$ to get
$f_{\zeta,a}(z)=f(z+m_{\zeta,a}(z),zm_{\zeta,a}(z))$ and
$g_{\zeta,a}(z)=g(z+m_{\zeta,a}(z),zm_{\zeta,a}(z))$. Then clearly
$f_{\zeta,a}$ is a rational inner function on ${\mathbb{D}}$ of degree less
than $N$ and $g_{\zeta,a}\in{\mathbb{S}}({\mathbb{D}})$. Then for each
$j=1,2,\dots,N$, $g_{\zeta,a}(\lambda_{j})=f_{\zeta,a}(\lambda_{j})$.
Therefore by Lemma (2.3), we have $g_{\zeta,a}=f_{\zeta,a}$ on $\mathbb{D}$
for each $\zeta$ and $a$ as in part (a). Hence $g=f$ on ${\mathcal{D}}$, which
by part (b) gives $g=f$ on ${\mathbb{G}}$. This completes the proof. ∎

######  Theorem 2.5.

For any $N\geq 1$, there exists a set $D$ consisting of $(N^{2}-N+1)$ points
in $\mathbb{G}$ such that ${\mathcal{D}}$ is a determining set for any
rational inner function of degree less than $N$.

###### Proof.

For $N=1$, it is trivial because then a rational inner function of degree less
than $1$ is identically constant. So suppose $N>1$. Let
$\lambda_{1}:=0,\lambda_{2},...,\lambda_{N}$ be distinct points in
$\mathbb{D}$, $\beta_{1},...,\beta_{N}$ be distinct points in $\mathbb{T}$ and
$D_{1},...,D_{N}$ be the analytic disks as in Proposition 2.4. Consider the
set

${\mathcal{D}}=\\{(\lambda_{j}+\beta_{k}\lambda_{j},\beta_{k}\lambda_{j}^{2}):k,j=1,2,...,N\\}.$

Since $\beta_{j}$ and $\lambda_{j}$ are distinct, ${\mathcal{D}}$ consists of
precisely $N^{2}-N+1$ many points. Let $f$ be a rational inner function on
${\mathbb{G}}$ and $g\in{\mathbb{S}}({\mathbb{G}})$ be such that $g$ agrees
with $f$ on ${\mathcal{D}}$. As before restrict $f$ and $g$ to each $D_{k}$ to
obtain rational inner functions $f_{k}(z)=f(z+\beta_{k}z,z^{2}\beta_{k})$ and
$g_{k}(z)=g(z+\beta_{k}z,z^{2}\beta_{k})$ on the unit disk ${\mathbb{D}}$. We
then have $f_{k}(\lambda_{j})=g_{k}(\lambda_{j})$ for each $j=1,2,\dots,N$.
Thus by Lemma 2.3, $f_{k}(z)=g_{k}(z)$ on ${\mathbb{D}}$ for each
$k=1,2,\dots,N$, which is same as saying that $f=g$ on $\cup_{k=1}^{N}D_{k}$.
Consequently, by part (c) of Proposition 2.4, $f=g$ on ${\mathbb{G}}$. ∎

###  2.3. Distinguished varieties as a determining and the uniqueness set

A rational function $f=g/h$ with relatively prime polynomials $g$ and $h$, is
called regular if $h\neq{0}$ on $\overline{\mathbb{G}}$. For example, note
that while the rational function $(3p-s)/(3-s)$ is regular, $(2p-s)/(2-s)$ is
not.

We first recall the known results that will be used later. Let
${\mathcal{W}}=Z(\xi)$ be a distinguished variety with respect to
$\mathbb{G}$. Then it follows easily that ${\mathcal{V}}=Z(\xi\circ\pi)$
defines a distinguished variety with respect to ${\mathbb{D}}^{2}$. Lemma 1.2
of [3] produces a regular Borel measure $\nu$ on
$\partial{\mathcal{V}}:={\mathcal{V}}\cap{\mathbb{T}}^{2}$ such that $\nu$
gives rise to a Hardy-type Hilbert function space on
${\mathcal{V}}\cap{\mathbb{D}}^{2}$, denoted by $H^{2}(\nu)$, i.e.,
$H^{2}(\nu)$ is the closure in $L^{2}(\nu)$ of polynomials such that
evaluation at every point in ${\mathcal{V}}\cap{\mathbb{D}}^{2}$ is a bounded
linear functional on $H^{2}(\nu)$. It was then shown in [29, Lemma 3.2] that
the push-forward measure $\mu(E)=\nu(\pi^{-1}(E))$ for every Borel subset $E$
of $\partial{\mathcal{W}}:={\mathcal{W}}\cap b\Gamma$ has all the properties
that $\nu$ has. Furthermore, the spaces $H^{2}(\mu)$ and $H^{2}(\nu)$ are
unitary equivalent via the isomorphism given by

(2.3) $\displaystyle U:H^{2}(\mu)\rightarrow{H^{2}{(\nu)}}\quad\text{ by
}\quad U:f\mapsto f\circ\pi.$

Note that if $k^{\mu}$ and $k^{\nu}$ are the Szegö-type reproducing kernels
for $H^{2}(\mu)$ and $H^{2}(\nu)$, respectively, then for every
$(z,w)\in{\mathcal{V}}\cap{\mathbb{D}}^{2}$ and $f\in H^{2}(\mu)$

$\langle U^{*}k^{\nu}_{(z,w)},f\rangle_{H^{2}(\mu)}=\langle
k^{\nu}_{(z,w)},Uf\rangle_{H^{2}(\nu)}=f\circ\pi(z,w)=\langle
k^{\mu}_{\pi(z,w)},f\rangle_{H^{2}(\mu)}.$

We observe the following.

######  Lemma 2.6.

Let ${\mathcal{W}}$ be a distinguished variety with respect to $\mathbb{G}$
and $\mu$ be the regular Borel measure on $\partial{\mathcal{W}}$ as in the
preceding discussion. Then for every regular rational inner function $f$ on
$\mathbb{G}$, the multiplication operator $M_{f}$ on $H^{2}(\mu)$ has a finite
dimensional kernel.

###### Proof.

We note that for every $(z,w)\in{\mathcal{V}}\cap{\mathbb{D}}^{2}$,

$\displaystyle
U^{*}M_{f\circ\pi}^{*}k^{\nu}_{(z,w)}=\overline{f\circ\pi(z,w)}U^{*}k^{\nu}_{(z,w)}=\overline{f\circ\pi(z,w)}k^{\mu}_{\pi(z,w)}=M_{f}^{*}k^{\mu}_{\pi(z,w)}=M_{f}^{*}U^{*}k^{\nu}_{(z,w)}.$

Thus $M_{f}$ on $H^{2}(\mu)$ and $M_{f\circ\pi}$ on $H^{2}(\nu)$ are unitarily
equivalent via the unitary $U$ as in 2.3. Now the lemma follows from [34,
Theorem 3.6], which states that $\operatorname{Ker}M_{f\circ\pi}$ is finite
dimensional. ∎

######  Proposition 2.7.

Let $\mathcal{W}=Z(\xi)$ be a distinguished variety with respect to
$\mathbb{G}$ and $f$ be a regular rational inner function on $\mathbb{G}$. If
$\dim\operatorname{Ker}M_{f}^{*}<N$, then any $N$ distinct points in
${\mathcal{W}}\cap{\mathbb{G}}$ is a determining set for
$(f,{\mathcal{W}}\cap\mathbb{G})$.

###### Proof.

Let $\\{w_{1},w_{2},\dots,w_{N}\\}$ be distinct points in
${\mathcal{W}}\cap{\mathbb{G}}$ and $g\in{\mathbb{S}}({\mathbb{G}})$ be such
that $g(w_{j})=f(w_{j})$ for each $j=1,2,\dots,N$. Let
${\mathcal{V}}=Z(\xi\circ\pi)$ and $\\{v_{1},v_{2},\dots,v_{N}\\}$ be in
${\mathcal{V}}\cap{\mathbb{D}}^{2}$ such that $\pi(v_{j})=w_{j}$ for all
$j=1,2,...,N$. Thus $g\circ\pi(v_{j})=f\circ\pi(v_{j})$ for each
$j=1,2,\dots,N$. Theorem 1.7 of [34] yields $g\circ\pi=f\circ\pi$ on
${\mathcal{V}}\cap{\mathbb{D}}^{2}$ which is same as $g=f$ on
${\mathcal{W}}\cap{\mathbb{G}}$. This completes the proof. ∎

The $2$-degree of a two-variable polynomial $\xi\in\mathbb{C}[z,w]$ is defined
as $(d_{1},d_{2})=:\operatorname{2-deg}\xi$, where $d_{1}$ and $d_{2}$ are the
largest power of $z$ and $w$, respectively in the expansion of $\xi(z,w)$. The
reflection of a two-variable polynomial $\xi\in\mathbb{C}[z,w]$ is defined as

$\widetilde{\xi}(z,w)=z^{d_{1}}w^{d_{2}}\overline{\xi\big{(}\frac{1}{\overline{z}},\frac{1}{\overline{w}}\big{)}}.$

For a rational function $f(z,w)=\xi(z,w)/\eta(z,w)$ with $\xi$ and $\eta$
having no common factor, the $2$-degree of $f$ is defined to be the $2$-degree
of the numerator. For two pairs of non-negative integers $(p,q)$ and $(m,n)$,
we write $(p,q)\leq(m,n)$ to indicate that $p\leq m$ and $q\leq n$.

######  Proposition 2.8.

Let ${\mathcal{W}}=Z(\xi)$ be an irreducible distinguished variety and $f$ be
a regular rational inner function on $\mathbb{G}$ of the form

(2.4) $\displaystyle
f\circ\pi(z,w)=(zw)^{m}\frac{\widetilde{\eta\circ\pi}(z,w)}{\eta\circ\pi(z,w)}.$

If $\operatorname{2-deg}\xi\circ\pi\leq\operatorname{2-deg}f\circ\pi$, then
for each $(s,p)\in\mathbb{G}\setminus(\mathbb{G}\cap{\mathcal{W}})$ there
exists a regular rational inner function $g$ on ${\mathbb{G}}$ such that $g$
coincides with $f$ on ${\mathcal{W}}\cap{\mathbb{G}}$ but $g(s,p)\neq f(s,p)$.

###### Proof.

Let $\operatorname{2-deg}\eta\circ\pi=(l,l)$ and
$\operatorname{2-deg}\xi\circ\pi=(n,n)$. The hypothesis then is that $m+l-n$
is non-negative. For $\epsilon>0$, define a symmetric function $g_{\epsilon}$
on ${\mathbb{D}}^{2}$ as

(2.5) $\displaystyle
g_{\epsilon}(z,w)=\frac{(zw)^{m}\widetilde{\eta\circ\pi}(z,w)+\epsilon\widetilde{\xi\circ\pi}(z,w)}{\eta\circ\pi(z,w)+\epsilon(zw)^{m+l-n}\xi\circ\pi(z,w)}.$

Simple computation shows that the reflection of the denominator of
$g_{\epsilon}$ is equal to the numerator of $g_{\epsilon}$, which implies that
each each $g_{\epsilon}$ is a rational inner function on ${\mathbb{D}}^{2}$
provided that the denominator does not vanish on ${\mathbb{D}}^{2}$. Since
$\eta\circ\pi$ does not vanish on $\overline{{\mathbb{D}}}^{2}$, we can always
find a sufficiently small $\epsilon$ so that the denominator of each
$g_{\epsilon}$ does not vanish in $\overline{{\mathbb{D}}}^{2}$, thus making
$g_{\epsilon}$ regular.

By Proposition 4.3 of [23], $\xi\circ\pi=c\widetilde{\xi\circ\pi}$ for some
$c\in{\mathbb{T}}$. This ensures that each $g_{\epsilon}$ coincides with $f$
on ${\mathcal{W}}\cap{\mathbb{G}}$. Now let $(z_{0},w_{0})\in{\mathbb{D}}^{2}$
be such that $\pi(z_{0},w_{0})\in{\mathbb{G}}\setminus{\mathcal{W}}$. Then
$g_{\epsilon}(z_{0},w_{0})=f\circ\pi(z_{0},w_{0})$ if and only if

$\frac{(z_{0}w_{0})^{m}\widetilde{\eta\circ\pi}(z_{0},w_{0})+\epsilon\bar{c}\xi\circ\pi(z_{0},w_{0})}{\eta\circ\pi(z_{0},w_{0})+\epsilon(z_{0}w_{0})^{m+l-n}\xi\circ\pi(z_{0},w_{0})}=(z_{0}w_{0})^{m}\frac{\widetilde{\eta\circ\pi}(z_{0},w_{0})}{\eta\circ\pi(z_{0},w_{0})},$

which, after cross-multiplication and using the fact that
$\xi\circ\pi(z_{0},w_{0})\neq 0$, leads to

(2.6)
$\displaystyle\overline{c}\eta\circ\pi(z_{0},w_{0})=(z_{0}w_{0})^{2m+l-n}\widetilde{\eta\circ\pi}(z_{0},w_{0}).$

Since $\eta\circ\pi$ does not vanish on $\overline{{\mathbb{D}}}^{2}$, we have
$z_{0}w_{0}\neq 0$. Therefore the above equation holds if and only if

(2.7) $\displaystyle
f\circ\pi(z_{0},w_{0})=(z_{0}w_{0})^{m}\frac{\widetilde{\eta\circ\pi}(z_{0},w_{0})}{\eta\circ\pi(z_{0},w_{0})}=\frac{\overline{c}}{(z_{0}w_{0})^{m+l-n}}.$

If $m+l-n=0$, then $f$ is a constant function. The hypothesis on the 2-degrees
of $\xi$ and $f$ then implies that $\xi$ must be constant. This is not
possible because $\xi$ defines a distinguished variety. Therefore $m+l-n\geq
1$, in which case, equation (2.7) implies that $|f\circ\pi(z_{0},w_{0})|>1$.
This again is a contradiction because $f$ is a rational inner function and so
by the Maximum Modulus Principle, $|f\circ\pi(z)|\leq 1$ for every
$(z,w)\in{\mathbb{D}}^{2}$. Consequently, $g_{\epsilon}(s,p)\neq f(s,p)$ for
every $(s,p)\in{\mathbb{G}}\setminus({\mathcal{W}}\cap{\mathbb{G}})$. ∎

######  Remark 2.9.

In a forthcoming paper [15] it is shown that any rational inner function on
${\mathbb{G}}$ is of the form (2.4) possibly multiplied by a unimodular
constant.

######  Theorem 2.10.

Let ${\mathcal{W}}=Z(\xi)$ be an irreducible distinguished variety with
respect to $\mathbb{G}$, $f$ be a regular rational inner function on
${\mathbb{G}}$ of the form (2.4) such that
$\operatorname{2-deg}\xi\circ\pi\leq\operatorname{2-deg}f\circ\pi$, and
${\mathcal{D}}$ be any subset of ${\mathcal{W}}\cap\mathbb{G}$ consisting of
at least $1+\dim\operatorname{Ker}M_{f}^{*}$ many points. Then
${\mathcal{W}}\cap\mathbb{G}$ is the uniqueness set for $(f,{\mathcal{D}})$.

###### Proof.

Consider the multiplication operator $M_{f}$ on $H^{2}(\mu)$, where
$H^{2}(\mu)$ is the Hilbert space corresponding to ${\mathcal{W}}$ as
mentioned in Lemma 2.6. By this lemma, $\dim\operatorname{Ker}(M_{f}^{*})$ is
finite. So let $N$ be such that $\dim\operatorname{Ker}(M_{f}^{*})<N$ and
${\mathcal{D}}=\\{\lambda_{1},\lambda_{2},...,\lambda_{N}\\}\subset{\mathcal{W}}\cap\mathbb{G}$.
By Proposition 2.7, ${\mathcal{D}}$ is determining for
$(f,{\mathcal{W}}\cap\mathbb{G})$. We use Proposition 2.8 to show that
${\mathcal{W}}\cap\mathbb{G}$ is the uniqueness set. Toward that end, pick
$(s,p)\in{\mathbb{G}}\setminus{\mathcal{W}}\cap{\mathbb{G}}$. Proposition 2.8
guarantees the existence of a (regular) rational inner function $g$ that
coincides with $f$ on ${\mathcal{W}}\cap{\mathbb{G}}$ but $g(s,p)\neq f(s,p)$.
This proves that ${\mathcal{W}}\cap\mathbb{G}$ is the uniqueness set for the
interpolation problem. This completes the proof of the theorem. ∎

######  Remark 2.11.

An extremal interpolation problem in ${\mathbb{G}}$ is a solvable problem with
no solution of supremum norm less than $1$. Let
${\mathcal{D}}=\\{\lambda_{1},\lambda_{2},\dots,\lambda_{N}\\}$ be a subset of
${\mathbb{G}}$ and $f$ be a rational inner function on ${\mathbb{G}}$ such
that the $N$-point Pick problem $\lambda_{j}\mapsto f(\lambda_{j})$ is
extremal and that none of the $(N-1)$-point subproblems is extremel. Then it
is shown in [16] that the uniqueness set for $(f,{\mathcal{D}})$ contains a
distinguished variety. Theorem 2.10 can be seen as a converse to this result.
Indeed, Theorem 2.10 starts with a distinguished variety
${\mathcal{W}}=Z(\xi)$ and produces a regular rational inner function $f$ and
a finite set ${\mathcal{D}}$ depending on ${\mathcal{W}}$ such that
${\mathcal{W}}\cap{\mathbb{G}}$ is the uniqueness set for $(f,{\mathcal{D}})$.
In addition, we note that the problem $\lambda_{j}\mapsto f(\lambda_{j})$ is
an extremal problem. This is because if $g$ is any solution of the problem,
then by Proposition 2.7 $g=f$ on ${\mathcal{W}}\cap{\mathbb{G}}$. Thus

$\|g\|_{\infty,{\mathbb{G}}}\geq\|g\|_{\infty,{\mathcal{W}}\cap{\mathbb{G}}}=\|f\|_{\infty,{\mathcal{W}}\cap{\mathbb{G}}}=1.$

The last equality follows because $f$ is a regular rational inner function.

There is a sufficient condition for a distinguished variety to be determining.
In the theorem below and in its proof, the inner product
$\langle,\rangle_{H^{2}}$ for analytic functions
$f,g:{\mathbb{G}}\to{\mathbb{C}}$ is defined to be

(2.8) $\displaystyle\langle
f,g\rangle_{H^{2}}=\sup_{0<r<1}\int_{{\mathbb{T}}\times{\mathbb{T}}}f\circ\pi(r\zeta_{1},r\zeta_{2})\overline{g\circ\pi(r\zeta_{1},r\zeta_{2})}|J(r\zeta_{1},r\zeta_{2})|^{2}dm(\zeta_{1},\zeta_{2}),$

where $m$ is the standard normalized Lebesgue measure on
${\mathbb{T}}\times{\mathbb{T}}$, and $J(z,w)=z-w$ is the Jacobian of the map
$\pi:(z,w)\mapsto(z+w,zw)$. See the papers [13, 14, 28] for some motivation
for and operator theory on the spaces of analytic functions for which
$\|f\|_{2}:=\sqrt{\langle f,f\rangle}_{H^{2}}<\infty$. Note here that if $f$
is an inner function on ${\mathbb{G}}$, then $\|f\|_{2}=1.$

######  Theorem 2.12.

Let $\mathcal{W}=Z(\xi)$ be a distinguished variety such that
$\xi=\xi_{1}.\xi_{2}\dots\xi_{l}$ where $\xi_{i}$ are irrudicible polynomials
with $\xi_{i}$ and $\xi_{j}$ are co-prime for each $i\neq j$ and $f$ be a
regular rational inner function on $\mathbb{G}$. If for each analytic function
$h(\not\equiv 0)$ on $\mathbb{G}$,

$\displaystyle\quad 2\operatorname{Re}\langle f,\xi h\rangle_{H^{2}}<\|\xi
h\|^{2}_{2}$

holds, whenever $\xi h$ is bounded on ${\mathbb{G}}$, then
${\mathcal{W}}\cap{\mathbb{G}}$ is a determining set for $f$.

###### Proof.

We shall use contrapositive argument. So suppose that there exists
$g\in{{\mathbb{S}}(\mathbb{G})}$ such that $g$ coincides with $f$ on
${\mathcal{W}}\cap{\mathbb{G}}$ but $g\neq f$. Choose an integer $N$ so that
$\dim\operatorname{Ker}M_{f}^{*}<N$ and pick $N$ distinct points
$\lambda_{1},....,\lambda_{N}\in{\mathcal{W}}$. Consider the $N$-point
(solvable) Nevanlinna-Pick problem $\lambda_{j}\mapsto f(\lambda_{j})$. By
Proposition 2.7 all the solutions to this problem agree on
${\mathcal{W}}\cap{\mathbb{G}}$. Since $g\neq f$, there exists a
$\lambda_{N+1}\in\mathbb{G}\setminus{\mathcal{W}}$ such that
$g(\lambda_{N+1})\neq f(\lambda_{N+1})$. Now consider the $(N+1)$-point
Nevanlinna-Pick problem $\lambda_{j}\mapsto g(\lambda_{j})$ on $\mathbb{G}$.
By [16, Theorem 5.3], every solvable Nevanlinna-Pick problem in ${\mathbb{G}}$
has a rational inner solution. Let $\psi$ be a rational inner solution to the
$(N+1)$-point problem $\lambda_{j}\mapsto g(\lambda_{j})$. Since $\psi$, in
particular, solves the problem $\lambda_{j}\mapsto f(\lambda_{j})$ for each
$j=1,2,\dots,N$, $\psi=f$ on ${\mathcal{W}}\cap{\mathbb{G}}$. But since
$\psi(\lambda_{N+1})=g(\lambda_{N+1})\neq f(\lambda_{N+1})$, $\psi$ is
distinct from $f$. Since $\psi=f$ on ${\mathcal{W}}\cap{\mathbb{G}}$, by the
Study Lemma there exists a rational function $h$ such that $f-\psi=\xi h$, see
[21, chapter 1]. Since $\psi$ is inner,

$1=\|\psi\|_{2}^{2}=\|f-\xi
h\|_{2}^{2}=\|f\|_{2}^{2}-2\operatorname{Re}\langle f,\xi
h\rangle_{H^{2}}+\|\xi h\|_{2}^{2}.$

Since $f$ is an inner function, $\|f\|_{2}=1$, and therefore the above
computation leads to $2\operatorname{Re}\langle f,\xi h\rangle=\|\xi
h\|^{2}_{2}$. This contradicts the hypothesis because $\xi h=f-\psi$ is
bounded. Consequently, $g$ must coincide with $f$ on ${\mathbb{G}}$. ∎

One can easily find examples of distinguished varieties and regular rational
inner functions such that the stringent hypothesis of the above result is
satisfied.

######  Example 2.13.

Let $f\circ\pi(z,w)=(zw)^{d}$ and ${\mathcal{W}}=Z(\xi)$ be such that

$\xi\circ\pi(z,w)=(z^{m}-w^{n})(z^{n}-w^{m}),$

where $m,n$ are mutually prime integers bigger than $d$. Then it follows that
${\mathcal{W}}$ is a distinguished variety with respect to ${\mathbb{G}}$
because $Z(z^{m}-w^{n})$ is a distinguished variety with respect to
${\mathbb{D}}^{2}$. For concrete example, one can take $d=1$ and $(m,n)=(2,3)$
– the corresponding distinguished variety then is the Neil parabole. Note that
the inner product $\langle,\rangle$ as defined in (2.8) can be expressed in
terms of the inner product on the Hardy space of the bidisk
$H^{2}({\mathbb{D}}^{2})$ as

(2.9) $\displaystyle\langle f,\xi
h\rangle_{H^{2}(\mathbb{G})}=\frac{1}{\|J\|^{2}}\langle
J(f\circ\pi),J\big{(}(\xi\circ\pi)(h\circ\pi)\big{)}\rangle_{H^{2}(\mathbb{D}^{2})}.$

Let $h:{\mathbb{G}}\to{\mathbb{C}}$ be an analytic function such that $\|\xi
h\|_{2}<\infty$. Since $\\{z^{i}w^{j}:i,j\geq 0\\}$ forms an orthonormal basis
for $H^{2}({\mathbb{D}}^{2})$, it is easy to read off from (2.9) that $\langle
f,\xi h\rangle=0$. Therefore, by Theorem 2.12, ${\mathcal{W}}\cap{\mathbb{G}}$
is a determining set for $f$ as chosen above.

##  3\. A bounded extension theorem

We end with a bounded extension theorem for distinguished varieties with no
singularities on the distinguished boundary of $\Gamma$. Here singularity of
an algebraic variety $Z(\xi)$ at a point means that both the partial
derivatives of $\xi$ vanish at that point. Note that the substance of the
following theorem is not that there is a rational extension of every
polynomial, it is that the supremum of the rational extension over
${\mathbb{G}}$ does not exceed the supremum of the polynomial over the variety
intersected with ${\mathbb{G}}$ multiplied by a constant that only depends on
the variety. See the papers [1, 23, 36] for similar results in other contexts.

######  Theorem 3.1.

Let ${\mathcal{W}}$ be a distinguished variety with respect to $\mathbb{G}$
such that it has no singularities on $b{\Gamma}$. Then for every polynomial
$f\in\mathbb{C}[s,p]$, there exists a rational extension $F$ of $f$ such that

$|F(s,p)|\leq\alpha\sup_{{{\mathcal{W}}\cap\mathbb{G}}}|f|$

for all $(s,p)\in\mathbb{G}$, where $\alpha$ is a constant depends only on
${\mathcal{W}}$.

###### Proof.

Let ${\mathcal{V}}$ be a distinguished variety with respect to
$\mathbb{D}^{2}$ such that ${\mathcal{W}}=\pi({\mathcal{V}})$. Since
${\mathcal{W}}$ has no singularities on $b\Gamma$, it follows that
${\mathcal{V}}$ has no singularities on $\mathbb{T}^{2}$. Invoke Theorem 2.20
of [23] to obtain a rational extension $G$ of the polynomial
$f\circ\pi\in\mathbb{C}[z,w]$ such that

(3.1)
$\displaystyle|G(z,w)|\leq\alpha\sup_{{\mathcal{V}}\cap\mathbb{D}^{2}}|f\circ\pi|$

for all $(z,w)\in\mathbb{D}^{2}$, where $\alpha$ is a constant depends only on
${\mathcal{V}}$. Now, define a rational function $H$ on $\mathbb{D}^{2}$ as
follows

(3.2) $\displaystyle H(z,w)=\frac{G(z,w)+G(w,z)}{2}.$

Clearly, $H$ is also a rational extension of $f\circ\pi$ with

$|H(z,w)|\leq\alpha\sup_{{\mathcal{V}}\cap\mathbb{D}^{2}}|f\circ\pi|\quad\text{for
all }(z,w)\in\mathbb{D}^{2}.$

Note that $H$ is a symmetric rational function on $\mathbb{D}^{2}$. So, there
is a rational function $F$ on $\mathbb{G}$ such that

$H(z,w)=(F\circ\pi)(z,w)=F(z+w,zw)\quad\text{for all }(z,w)\in\mathbb{D}^{2}.$

Now we will show that this $F$ will do our job. It is easy to see that $F$ is
a rational extension of $f$. Let $(s,p)\in\mathbb{G}$. Then there exists a
point $(z,w)\in\mathbb{D}^{2}$ such that $(s,p)=(z+w,zw)$. Now,

$\displaystyle|F(s,p)|$
$\displaystyle=|(F\circ\pi)(z,w)|=|H(z,w)|\leq\alpha\sup_{{\mathcal{V}}\cap\mathbb{D}^{2}}|f\circ\pi|=\alpha\sup_{{\mathcal{W}}\cap\mathbb{G}}|f|.$

This complete the proof. ∎

Acknowledgement: The first author is supported by the Mathematical Research
Impact Centric Support (MATRICS) grant, File No: MTR/2021/000560, by the
Science and Engineering Research Board (SERB), Department of Science &
Technology (DST), Government of India. The second author was supported by the
University Grants Commission Centre for Advanced Studies. The research works
of the third author is supported by DST-INSPIRE Faculty Fellowship
DST/INSPIRE/04/2018/002458.

The second author thanks his supervisor Professor Tirthankar Bhattacharyya for
some fruitful discussions.

## References

  * [1] K. Adachi, M. Andersson and H. R. Cho, $L^{p}$ and $H^{p}$ extensions of holomorphic functions from subvarieties of analytic polyhedra, Pacific J. Math. 189 (1999), 201–210.
  * [2] J. Agler, On the representation of certain holomorphic functions define on polydisc, Topics in operator theory: Ernst D Hellinger memorial volume, 47-66, Oper. Theory Adv. Appl. 48, Birkhauser, Basel, 1990.
  * [3] J. Agler and J. E. McCarthy, Distinguished Varieties, Acta Math. 194 (2005), no. 2, 133-153.
  * [4] J. Agler and J. E. McCarthy, The three point Pick problem on the bidisk, New York J. Math. 6 (2000), 227-236.
  * [5] J. Agler and J. E. McCarthy, Nevanlinna-Pick interpolation on the bidisk, J. Reine Angew. Math. 506 (1999) 191-204.
  * [6] J. Agler and J. E. McCarthy, Pick Interpolation and Hilbert Function Spaces, American Mathematical Society, Providence, 2002.
  * [7] J. Agler and N. J. Young, A commutant lifting theorem for a domain in $\mathbb{C}^{2}$ and spectral interpolation, J. Funct. Anal. 161 (1999), no. 2, 452–477.
  * [8] J. Agler and N. J. Young, A model theory for $\Gamma$-contractions, J. Operator Theory 49 (2003), no. 1, 45–60.
  * [9] J. Agler and N. J. Young, The hyperbolic geometry of the symmetrized bidisc, J. Geom. Anal. 14 (2004), 375-403.
  * [10] J. Agler and N. J. Young, Realization of functions on the symmetrized bidisc, J. Math. Anal. Appl. 453 (2017), 227-240.
  * [11] T. Bhattacharyya, P. Kumar and H. Sau, Distinguished varieties through the Berger–Coburn–Lebow theorem, Anal. PDE 15 (2022), no. 2, 477–506.
  * [12] T. Bhattacharyya, S. Pal and S. Shyam Roy, Dilations of $\Gamma$-contractions by solving operator equations, Adv. Math. 230 (2012), no. 2, 577–606.
  * [13] T. Bhattacharyya, B. K. Das and H. Sau, Toeplitz operators on the symmetrized bidisc, Int. Math. Res. Not. IMRN 2021, no. 11, 8492–8520.
  * [14] T. Bhattacharyya and H. Sau, Holomorphic functions on the symmetrized bidisk- Realization, interpolation and extension, J. Funct. Anal. 274 (2018), 504-524.
  * [15] M. Bhowmik and P. Kumar, Bounded analytic functions on certain symmetrized domains, preprint.
  * [16] B. Krishna Das, P. Kumar and H. Sau, Distinguished varieties and the Nevanlinna-Pick interpolation problem on the symmetrized bidisk, arXiv:2104.12392.
  * [17] B. Krishna Das and J. Sarkar Andô dilations, von Neumann inequality, and distinguished varieties, J. Funct. Anal. 272 (2017), no. 5, 2114-2131.
  * [18] C. Costara, The symmetrized bidisc and Lempert’s theorem, Bull. Lond. Math. Soc. 36 (2004), 656–662.
  * [19] M. A. Dritschel and S. McCullough, Test functions, kernels, realizations and interpolation, Operator theory, structured matrices, and dilations, 153–179, Theta Ser. Adv. Math. 7, Theta, Bucharest, 2007.
  * [20] M. A. Dritschel, S. Marcantognini and S. McCullough, Interpolation in semigroupoid algebras, J. Reine Angew. Math. 606 (2007), 1–40.
  * [21] G. Fischer, Plane algebraic curves, Translated from the 1994 German original by Leslie Kay. Student Mathematical Library, 15. American Mathematical Society, Providence, RI, 2001. xvi+229 pp. ISBN: 0-8218-2122-9.
  * [22] M. Jury, G. Knese and S. McCullough, Nevanlinna-Pick interpolation on distinguished varieties in the bidisc, J. Funct. Anal. 262 (2012), 3812–3838.
  * [23] G. Knese, Polynomials defining distinguished varieties, Trans. Amer. Math, Soc. 362 (2010), 5635-5655.
  * [24] Ł. Kosiński, Three-point Nevanlinna-Pick problem in the polydisc, Proc. Lond. Math. Soc. 111 (2015), 887–910.
  * [25] Ł. Kosiński and W. Zwonek, Nevanlinna-Pick problem and uniqueness of left inverses in convex domains, symmetrized bidisc and tetrablock, J. Geom. Anal. 26 (2016), no. 3, 1863–1890.
  * [26] Ł. Kosiński and W. Zwonek, Nevanlinna-Pick interpolation problem in the ball, Trans. Amer. Math. Soc. 370 (2018), 3931-3947.
  * [27] K. Maciaszek, Geometry of uniqueness varieties for a three-point Pick problem in $\mathbb{D}^{3}$ , arXiv:2204.06612.
  * [28] G. Misra, S. Shyam Roy and G. Zhang, Reproducing kernel for a class of weighted Bergman spaces on the symmetrized polydisc, Proc. Amer. Math. Soc. 141 (2013), no. 7, 2361–2370.
  * [29] S. Pal and O. M. Shalit, Spectral sets and distinguished varieties in the symmetrized bidisc, J. Funct. Anal. 266 (2014), 5779-5800.
  * [30] V. I. Paulsen and M. Raghupathi, An introduction to the theory of reproducing kernel Hilbert spaces, Cambridge Studies in Advanced Mathematics, 152. Cambridge University Press, Cambridge, 2016. x+182 pp. ISBN: 978-1-107-10409-9 46-02.
  * [31] G. Pick, Über die Beschränkungen analytischer Funktionen, welche durch vorgegebene Funktionswerte bewirkt werden, Math. Ann. 77 (1916), 7–23.
  * [32] W. Rudin, Function theory in polydiscs, Benjamin, New York, 1969.
  * [33] D. Scheinker, A uniqueness theorem for bounded analytic functions on the polydisc, Complex Anal. Oper. Theory 7 (2013), no. 5, 1429–1436.
  * [34] D. Scheinker, Hilbert function spaces and the Nevanlinna-Pick problem on the polydisc, J. Funct. Anal. 261 (2011), 2238-2249.
  * [35] D. Scheinker, Hilbert function spaces and the Nevanlinna-Pick problem on the polydisc II, J. Funct. Anal. 266 (2014), 355-367.
  * [36] E. L. Stout, Bounded extensions. The case of discs in polydiscs, J. Anal. Math. 28 (1975), 239– 254\.