try ai
Popular Science
Edit
Share
Feedback
  • Analysis Sparsity Model: Principles, Geometry, and Applications

Analysis Sparsity Model: Principles, Geometry, and Applications

SciencePediaSciencePedia
Key Takeaways
  • The analysis sparsity model defines a signal's simplicity not by its components (synthesis), but by the many tests or constraints it satisfies (analysis).
  • Structurally, analysis-sparse signals reside in high-dimensional subspaces defined by a large number of zero-valued analysis coefficients, a concept known as cosparsity.
  • Problems involving analysis sparsity are often solved using convex relaxation techniques, such as minimizing the L1-norm of the analysis coefficients (e.g., Total Variation).
  • This model finds powerful applications in diverse fields like image processing, geophysics, and neuroscience by effectively capturing structures like sharp edges and piecewise-constant signals.

Introduction

In the quest to understand and process signals, a central challenge is to define what makes a signal "simple" or "structured." For decades, the dominant paradigm has been the synthesis model, which imagines signals as being built from a sparse combination of basic elements, much like a structure built from a few Lego bricks. However, this "building block" approach struggles to efficiently describe many important signals found in nature and engineering, such as images with sharp edges or geological data with distinct layers. This limitation points to a fundamental knowledge gap and motivates the need for an alternative perspective.

This article introduces the analysis sparsity model, a powerful and complementary framework that redefines signal structure. Instead of focusing on what a signal is made of, the analysis model characterizes it by a set of rules it obeys or tests it passes with a null result. We will explore this "carving" philosophy in detail. The first chapter, ​​Principles and Mechanisms​​, will dissect the mathematical and geometric foundations of the analysis model, contrasting it with its synthesis counterpart and introducing key concepts like cosparsity and convex recovery methods. Following this, the chapter on ​​Applications and Interdisciplinary Connections​​ will demonstrate the model's profound impact, showing how this shift in perspective provides elegant solutions to real-world problems in image processing, geophysics, and neuroscience.

Principles and Mechanisms

To truly grasp the power of the analysis sparsity model, we must journey beyond mere definitions and into the heart of its philosophy. It represents a profound shift in perspective from how we traditionally think about building simple signals. It’s a tale of two philosophies: one of construction and one of characterization, a story of building versus carving.

The Two Philosophies of Sparsity: Building vs. Carving

Imagine you have a large, sophisticated Lego set. The traditional way to model a simple structure—what we call the ​​synthesis model​​—is to assume it’s built from only a few types of bricks. Your signal, xxx, is a structure created by combining a handful of fundamental pieces, the columns of a "dictionary" matrix DDD. We write this as x=Dαx = D\alphax=Dα, where the coefficient vector α\alphaα is ​​sparse​​—meaning most of its entries are zero, corresponding to the many brick types you didn't use. The signal's identity is defined by the few atoms it is made of. Geometrically, this means the signal must live in one of a finite number of small, low-dimensional "rooms"—the subspaces spanned by the few chosen dictionary atoms.

The ​​analysis model​​ turns this idea on its head. Instead of defining a signal by what it's made of, we define it by how it responds to a series of tests. Imagine we have a bank of detectors, represented by an "analysis operator" Ω\OmegaΩ. Each row of Ω\OmegaΩ is a specific test we perform on the signal xxx. We consider the signal to be "simple" or "structured" if most of these detectors register nothing. That is, the result of the analysis, the vector Ωx\Omega xΩx, is sparse. The signal's identity is not defined by a few active components within it, but by the multitude of tests it passes with a null result.

This "carving" philosophy has a completely different geometric flavor. Each detector that reads zero—say, the jjj-th detector, where (Ωx)j=0(\Omega x)_j = 0(Ωx)j​=0—imposes a single linear constraint on xxx. It forces the signal to lie on a specific hyperplane. If many detectors read zero, the signal is forced to lie at the intersection of many hyperplanes. This intersection is itself a subspace, but unlike the small rooms of the synthesis model, it's typically a vast, high-dimensional "hall" carved out of the full signal space Rn\mathbb{R}^nRn. A signal is simple not because it's confined to a small room, but because it satisfies a large number of "thou shalt not" commandments.

A Concrete Example: The Simplicity of Smoothness

This idea of "testing" a signal might seem abstract, so let's make it tangible with a beautiful and widely used example: the ​​total variation (TV) operator​​. For a one-dimensional signal xxx (think of a time series or a single line of an image), this operator is simply the discrete difference, or gradient: (Ωx)i=xi+1−xi(\Omega x)_i = x_{i+1} - x_i(Ωx)i​=xi+1​−xi​ for each adjacent pair of points.

What does it mean for Ωx\Omega xΩx to be sparse in this model? It means that for most indices iii, the difference xi+1−xix_{i+1} - x_ixi+1​−xi​ is zero. In other words, the signal's value isn't changing. A sparse Ωx\Omega xΩx corresponds to a signal that is mostly flat, or ​​piecewise-constant​​. The only places where Ωx\Omega xΩx is non-zero are at the "jumps" between the constant segments.

This gives rise to a new and useful concept: ​​cosparsity​​. Instead of counting the few non-zero entries in Ωx\Omega xΩx (its sparsity), we can count the many zero entries. This is the cosparsity, often denoted ℓ\ellℓ. For a signal with mmm constant pieces, there are m−1m-1m−1 jumps, so the sparsity of Ωx\Omega xΩx is m−1m-1m−1. If the signal has length nnn, the TV operator produces a vector of length n−1n-1n−1. The cosparsity is therefore ℓ=(total entries)−(jumps)=(n−1)−(m−1)=n−m\ell = (\text{total entries}) - (\text{jumps}) = (n-1) - (m-1) = n-mℓ=(total entries)−(jumps)=(n−1)−(m−1)=n−m. The cosparsity directly counts the number of "smooth transitions" within the signal's segments.

Consider the simplest possible structured signal: a constant vector, like x=(111)⊤x = \begin{pmatrix} 1 1 1 \end{pmatrix}^\topx=(111​)⊤. In a standard synthesis model where the dictionary is the identity matrix (D=ID=ID=I), the representation is α=x=(111)⊤\alpha = x = \begin{pmatrix} 1 1 1 \end{pmatrix}^\topα=x=(111​)⊤, which is completely dense. It seems complex! But in the analysis model with the TV operator, Ωx=(1−11−1)=(00)\Omega x = \begin{pmatrix} 1-1 \\ 1-1 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \end{pmatrix}Ωx=(1−11−1​)=(00​). The analysis sees this signal for what it is: perfectly simple, with maximum cosparsity. The choice of model reveals the nature of the signal.

The Geometry of Knowing Nothing: Cosupport and Nullspaces

Let's generalize. For any analysis operator Ω\OmegaΩ, the set of indices where the analysis coefficients are zero is called the ​​cosupport​​. Let's call this set of indices JJJ. If we know a signal's cosupport, we know that for every j∈Jj \in Jj∈J, the signal satisfies the equation ωj⊤x=0\omega_j^\top x = 0ωj⊤​x=0, where ωj⊤\omega_j^\topωj⊤​ is the jjj-th row of Ω\OmegaΩ.

This is a powerful piece of information. It tells us that the signal xxx must lie in the common nullspace of all the analysis vectors {ωj}j∈J\{\omega_j\}_{j \in J}{ωj​}j∈J​. This set of signals is a linear subspace. The cosparsity, ℓ=∣J∣\ell = |J|ℓ=∣J∣, tells us how many constraints are carving out this subspace. If we assume the analysis vectors are in a "general position" (meaning they are linearly independent), then each constraint reduces the dimensionality of the available space by one. The resulting subspace of allowed signals has a dimension of precisely n−ℓn - \elln−ℓ.

This reveals a fascinating symmetry. In the synthesis model, an sss-sparse signal is specified by choosing sss atoms and sss corresponding coefficients—it has sss degrees of freedom. In the analysis model, an ℓ\ellℓ-cosparse signal lives in a subspace of dimension n−ℓn-\elln−ℓ—it has n−ℓn-\elln−ℓ degrees of freedom. The models are, in a sense, balanced when the number of synthesis degrees of freedom matches the number of analysis degrees of freedom, i.e., when s=n−ℓs = n - \ells=n−ℓ.

If we know a signal's true cosupport, recovering it from measurements y=Axy=Axy=Ax becomes a straightforward linear algebra problem. We just need to find the unique vector xxx that simultaneously satisfies the measurement constraints Ax=yAx=yAx=y and the structure constraints ΩJx=0\Omega_J x = 0ΩJ​x=0. This system has a unique solution if and only if the combined matrix (AΩJ)\begin{pmatrix} A \\ \Omega_J \end{pmatrix}(AΩJ​​) has full column rank, ensuring that its nullspace contains only the zero vector.

When Are Building and Carving the Same?

Are these two worldviews—synthesis and analysis—forever separate? Not always. There is a beautiful, unifying case where they become one and the same. This happens when our dictionary DDD is not just any collection of atoms, but a complete, orthonormal basis for the signal space (for instance, the columns of a Fourier matrix). In this case, DDD is a square, invertible matrix, and its inverse is simply its transpose, D−1=D⊤D^{-1} = D^\topD−1=D⊤.

If we choose our analysis operator to be precisely this inverse, Ω=D⊤\Omega = D^\topΩ=D⊤, something wonderful occurs. For a signal synthesized as x=Dαx = D\alphax=Dα, the analysis coefficients become:

Ωx=D⊤x=D⊤(Dα)=(D⊤D)α=Iα=α\Omega x = D^\top x = D^\top (D\alpha) = (D^\top D)\alpha = I\alpha = \alphaΩx=D⊤x=D⊤(Dα)=(D⊤D)α=Iα=α

The analysis coefficients are the synthesis coefficients! The test results are identical to the list of building blocks. Sparsity in one is sparsity in the other. Building and carving become two ways of describing the exact same structure.

The Subtle Duality of Overcomplete Worlds

This perfect equivalence, however, is fragile. It breaks down in the more general and often more powerful setting of ​​overcomplete​​ dictionaries, where we have more dictionary atoms than the signal's dimension (p>np > np>n).

Let's consider a special type of overcomplete dictionary called a Parseval frame, which satisfies DD⊤=InDD^\top = I_nDD⊤=In​. If we again choose Ω=D⊤\Omega = D^\topΩ=D⊤, the relationship changes subtly but profoundly:

Ωx=D⊤x=D⊤(Dα)=(D⊤D)α=Pα\Omega x = D^\top x = D^\top (D\alpha) = (D^\top D)\alpha = P\alphaΩx=D⊤x=D⊤(Dα)=(D⊤D)α=Pα

The matrix P=D⊤DP = D^\top DP=D⊤D is no longer the identity. It is a projection matrix that projects the coefficient vector α\alphaα onto a lower-dimensional subspace.

This means the analysis coefficients are a projection, a "shadow," of the synthesis coefficients. And projections can do strange things to sparsity. A vector with only two non-zero entries can be projected into a vector where all entries are non-zero. A signal that is very simple to build (synthesis-sparse) can appear very complex to analyze (analysis-dense). Conversely, a carefully chosen dense vector α\alphaα can be projected to a sparse or even zero vector, meaning a signal complex to build can appear simple to analyze.

This illustrates that for overcomplete systems, the synthesis and analysis models describe genuinely different kinds of structure. A signal that is elegantly described by one model may be a poor fit for the other. This is not a flaw, but a richness; it gives us two different languages to describe signal structure, and the key is to choose the language that best matches the signal at hand. It also dispels a common misconception: analysis sparsity with operator Ω\OmegaΩ is not the same as synthesis sparsity with dictionary Ω⊤\Omega^\topΩ⊤. One model seeks signals in the nullspace of Ω\OmegaΩ, while the other builds signals from the range of Ω⊤\Omega^\topΩ⊤—two worlds that are, in fact, orthogonal to each other.

The Art of Recovery: From Geometry to Algorithms

So far, we have explored the "what." But how do we actually find an analysis-sparse signal xxx from a set of incomplete or noisy measurements y≈Axy \approx Axy≈Ax? We can't possibly check all possible cosupports—that would be computationally explosive.

The breakthrough, as in so many areas of modern data science, comes from ​​convex relaxation​​. Instead of minimizing the number of non-zero entries in Ωx\Omega xΩx (the intractable ℓ0\ell_0ℓ0​ pseudo-norm), we minimize the sum of their absolute values (the tractable ℓ1\ell_1ℓ1​-norm). This transforms an impossible problem into one we can solve efficiently. The flagship formulation for the analysis model, known as ​​Analysis Basis Pursuit​​, is:

min⁡x∈Rn∥Ωx∥1subject toAx=y\min_{x \in \mathbb{R}^{n}} \|\Omega x\|_{1} \quad \text{subject to} \quad Ax = yx∈Rnmin​∥Ωx∥1​subject toAx=y

This program asks a simple, elegant question: "Of all the signals xxx that explain our measurements yyy, which one has the smallest analysis ℓ1\ell_1ℓ1​-norm?". When noise is present, we relax the constraint and solve a trade-off problem:

min⁡x∈Rn12∥Ax−y∥22+λ∥Ωx∥1\min_{x \in \mathbb{R}^{n}} \frac{1}{2} \| Ax - y \|_{2}^{2} + \lambda \| \Omega x \|_{1}x∈Rnmin​21​∥Ax−y∥22​+λ∥Ωx∥1​

Here, the parameter λ\lambdaλ lets us tune the balance between fitting the noisy data and enforcing the desired structure.

Under what conditions does this ℓ1\ell_1ℓ1​ trick work? Deep theoretical results, like the ​​Analysis Null Space Property (NSP)​​ and the ​​Analysis Restricted Isometry Property (A-RIP)​​, provide the answer. These are not magical incantations, but precise mathematical statements about the interplay between the sensing matrix AAA and the analysis operator Ω\OmegaΩ. They essentially guarantee that the geometry is "nice enough" for the smooth, convex landscape of the ℓ1\ell_1ℓ1​-norm to guide us to the same "spiky" solution that the true, non-convex ℓ0\ell_0ℓ0​ problem would have found.

This story doesn't end with the ℓ1\ell_1ℓ1​-norm. On the frontiers of research, scientists explore even more powerful, non-convex penalties, like the ℓq\ell_qℓq​ quasi-norm for q1q 1q1. The unit ball for the ℓ1\ell_1ℓ1​-norm is a diamond; for ℓq\ell_qℓq​, it's a spiky, star-shaped object that more closely mimics the true ℓ0\ell_0ℓ0​ structure. These methods can succeed under even weaker conditions than ℓ1\ell_1ℓ1​ minimization, especially when the analysis operator Ω\OmegaΩ is coherent. But this power comes at a cost: the optimization problem becomes a treacherous landscape riddled with local minima, making the search for the true signal a much greater algorithmic challenge. This trade-off between statistical power and computational cost is a central theme that continues to drive discovery in this beautiful field.

Applications and Interdisciplinary Connections

Having journeyed through the principles and mechanisms of the analysis sparsity model, we might feel we have a solid grasp of its mathematical machinery. But the true beauty of a physical or mathematical idea is not just in its internal elegance, but in its power to describe the world. Where does this idea of "analysis sparsity" actually show up? Does nature think this way? Does it help us build better machines or see the universe more clearly?

The answer, it turns out, is a resounding yes. The shift in perspective—from asking "what is this object made of?" (synthesis) to "what rules or constraints does it obey?" (analysis)—unlocks a surprisingly diverse and powerful set of tools. Let's take a tour through some of these applications, from the cosmic to the neural, and see how this one idea provides a unifying thread.

Seeing the Unseen: From Blurred Images to Clearer Truths

Perhaps the most intuitive place to start is with something we see every day: images. Imagine you take a picture of a simple scene, perhaps a child's building block against a plain wall. The resulting digital image is a grid of numbers, one for each pixel. Now, if we ask a "synthesis" question—"What simple parts is this image made of?"—we might be led astray. Is it made of a sparse collection of bright pixel-spikes? That doesn't seem right; nearly all the pixels have non-zero values.

The analysis perspective encourages us to ask a different question. Let's apply a simple transformation: let's compute the gradient of the image. The gradient is a new image that shows where the pixel values are changing. What does this gradient image look like? Well, in the smooth regions—the face of the block, the wall—the pixel values are constant, so the gradient is zero. The only place the gradient is non-zero is at the edges of the block! The essence of the image's structure lies not in the values of the pixels themselves, but in the sparsity of their differences. This is a classic example of analysis sparsity. The image isn't sparse, but its gradient is.

This simple insight is the foundation of Total Variation (TV) regularization, a cornerstone of modern image processing. When we try to solve an inverse problem, like deblurring a shaky photograph or removing noise, we are looking for a plausible solution among infinitely many possibilities. The analysis prior, by penalizing the ℓ1\ell_1ℓ1​ norm of the image gradient (i.e., its Total Variation, λ∥∇x∥1\lambda \|\nabla x\|_1λ∥∇x∥1​), tells the algorithm: "Of all the images that are consistent with the blurry data, I prefer the one with the sparsest gradient—the one with the sharpest, cleanest edges."

This turns out to be a remarkably powerful guide. For "cartoon-like" images, which are common in both natural and man-made scenes, this analysis prior is a much more direct and faithful model of the underlying structure than, say, a synthesis model based on wavelets. A sharp edge in an image causes a cascade of many significant wavelet coefficients, meaning its wavelet representation is not truly sparse. In the difficult problem of deconvolution, where the blur operator tends to smear high-frequency details, the TV prior excels at preserving and restoring crisp edges while simultaneously suppressing noise.

Reading the Earth's Diary: Geophysics and Layered Worlds

Let's zoom out from a photograph to a cross-section of the Earth's crust. Geoscientists face a similar challenge: they send seismic waves into the ground and listen to the echoes to piece together a picture of the subsurface. What does this picture look like?

Interestingly, nature presents us with both kinds of sparsity. The boundaries between different rock layers often produce sharp reflections. The resulting "reflectivity series" can be modeled as a sparse train of spikes, a perfect job for a synthesis model where the goal is to find the sparse coefficients representing the location and strength of these spikes.

However, if we are interested in the physical properties of the layers themselves—like acoustic impedance or velocity—we find a different kind of structure. Sedimentary geology often consists of "blocky" layers, where the impedance is relatively constant within a layer and then jumps at the interface. A profile of this property is not sparse at all; it's a dense, piecewise-constant signal. But what happens if we apply a gradient operator to this profile? Just like with the building block image, the result is a sparse signal, with non-zero values only at the layer boundaries.

This makes analysis sparsity, often in the form of Total Variation, an indispensable tool in geophysical inversion. It allows scientists to reconstruct blocky geological models from limited, noisy seismic data. In fact, some of the most sophisticated models, like the "fused LASSO," are beautiful hybrids. They simultaneously encourage sparsity in the reflectivity (a synthesis prior, λ∥x∥1\lambda \|x\|_1λ∥x∥1​) and sparsity in the gradient of the impedance profile (an analysis prior, γ∥∇x∥1\gamma \|\nabla x\|_1γ∥∇x∥1​). This allows geophysicists to build a more complete and physically meaningful picture of the subsurface, honoring both the sparse nature of interfaces and the piecewise-constant nature of the layers themselves. In two-dimensional imaging, this idea extends to preserving the boundaries of geological bodies, suppressing noise within them while keeping their edges sharp.

Listening to the Brain's Whispers: The Hunt for Spikes

From the vast scale of geology, let's turn to the microscopic world of the brain. Neuroscientists can monitor the activity of neurons using fluorescence microscopy. When a neuron "fires," it triggers a chemical process that causes a fluorescent molecule to light up. The observed signal, however, is not a clean, sharp spike. The calcium concentration that drives the fluorescence rises quickly and then decays slowly and exponentially. The raw data we see is a blurry, noisy sum of these decay curves. The scientific goal is to work backward from this blurry signal to find the precise moments the neuron fired—that is, to find the sparse spike train.

Here, nature hands us an analysis model on a silver platter. The physical process of calcium decay can be modeled by a simple first-order autoregressive equation: the calcium concentration at time ttt, let's call it ctc_tct​, is a fraction γ\gammaγ of the previous concentration plus any new influx from a spike sts_tst​. The equation is ct=γct−1+stc_t = \gamma c_{t-1} + s_tct​=γct−1​+st​.

Now watch what happens when we rearrange this equation: st=ct−γct−1s_t = c_t - \gamma c_{t-1}st​=ct​−γct−1​. This is our analysis operator! It's a simple, weighted difference operator, let's call it DγD_\gammaDγ​. The physical model itself tells us that the sparse thing we are looking for, the spike train sss, is exactly what we get when we apply the operator DγD_\gammaDγ​ to the calcium concentration trace ccc. The statement "the spike train is sparse" is mathematically identical to the statement "the calcium trace is analysis-sparse under the operator DγD_\gammaDγ​."

Therefore, we can find the hidden spikes by solving an analysis-based optimization problem: find the calcium trace ccc that is close to our noisy measurements, but for which DγcD_\gamma cDγ​c is as sparse as possible. This approach, which directly models the physics of the system, provides a powerful and robust method for deconvolving neural activity from optical recordings.

Engineering Smarter Systems: From Medical Imaging to Control

The analysis perspective is not just for interpreting the natural world; it's also crucial for designing better engineered systems. Consider Magnetic Resonance Imaging (MRI). To speed up scan times, modern MRI machines often undersample the data. To reconstruct a clear image from this incomplete information, we need a strong prior model of what the image should look like. Again, Total Variation (sparsity of the gradient) is a very popular choice.

In a technique called parallel MRI (SENSE), the machine uses an array of receiver coils, each with a different spatial sensitivity. The image measured by each coil is the true underlying image multiplied by that coil's smooth sensitivity map. A crucial question arises: does this multiplication process interfere with our analysis prior? If the true image xxx has a sparse gradient, does the measured image from a coil, scxs_c xsc​x, also have a (perhaps scaled) sparse gradient?

The answer lies in a beautiful piece of reasoning reminiscent of the product rule in calculus. If the analysis operator Ω\OmegaΩ (like a gradient) is local and the sensitivity map scs_csc​ is smooth (which, physically, it is), then the analysis transform almost "commutes" with the multiplication: Ω(scx)≈sc(Ωx)\Omega(s_c x) \approx s_c(\Omega x)Ω(sc​x)≈sc​(Ωx). This means the sparsity pattern is largely preserved! This alignment between the physics of the measurement and the structure of the prior makes the analysis model an exceptionally good fit for this kind of advanced medical imaging, leading to higher-quality reconstructions from faster scans.

The flexibility of the analysis concept extends to other domains, like control systems. Imagine monitoring a complex industrial process or power grid where the outputs must stay within certain bounds. Occasionally, due to disturbances, a few of these outputs might briefly violate their constraints. The problem is to identify when and where these sparse violations occurred. We can frame this as an analysis sparsity problem where we look for a solution that matches the measurements but for which the "violation vector"—the amount by which the outputs exceed their bounds—is sparse. Here, the analysis operator isn't a simple gradient but is tied to the dynamics of the system itself, showing the broad applicability of the core idea.

A Deeper Look: The Telltale Signs of a Mismatched Model

Finally, the analysis sparsity framework gives us more than just a new modeling tool; it provides a powerful lens for critiquing all models. What happens if we are presented with data that is truly governed by analysis-style rules (like our building block image), but we stubbornly try to fit it with a synthesis model?

This creates a fundamental geometric mismatch. The analysis model describes data lying on a union of high-dimensional subspaces (e.g., all images with zero gradient, which is a subspace of dimension n−1n-1n−1). The synthesis model, on the other hand, describes data as combinations of a few atoms, which form a union of low-dimensional subspaces. You are, in effect, trying to describe a plane with a small collection of lines—it's a very inefficient way to do it!

This inefficiency reveals itself in two telltale signs:

  1. ​​Inflated Sparsity​​: To approximate a point on the high-dimensional analysis manifold, the synthesis model is forced to grab a large number of its building-block atoms. The resulting "sparse" code is not sparse at all; its support size will be much larger than the true complexity of the data would suggest.
  2. ​​Structured Residuals​​: The error of the fit—the part of the data the synthesis model fails to explain—will not be random noise. Because the model is systematically failing to capture the geometric structure of the data, the residuals will have a pattern. The covariance matrix of the residuals will be anisotropic, with dominant directions that point out the model's consistent blind spots.

These signatures provide a principled diagnostic test. If you fit a synthesis model to your data and find that you need an unexpectedly large number of atoms for a good fit, or if you see clear patterns in your reconstruction errors, it might be a sign that your data doesn't want to be "built"—it wants to be "analyzed." The underlying structure might be one of analysis sparsity, and a change in perspective could be in order.

This is a profound lesson about the nature of scientific modeling. Even our failures can be instructive, and the structure of our errors can point the way to a deeper truth. The simple, elegant idea of analysis sparsity, born from a subtle shift in perspective, thus echoes through disciplines, unifying our understanding of images, the Earth, the brain, and even the process of discovery itself.