# Projective Hölder-Minkowski Colors:
A Generalized Set of Commutative & Associative Operations with Inverse
Elements
for Representing and Manipulating Colors

Ergun Akleman
Visual Computing & Computational Media,
School of PVFA
Texas A&M University,
College Station, TX, 77831
<EMAIL_ADDRESS>
&Somyung (David) Oh
Computer Science and Engineering
College of Engineering
Texas A&M University,
College Station, TX, 77831
<EMAIL_ADDRESS>
&Youyou Wang
Computer Science and Engineering
Texas A&M University,
College Station, TX, 77831
<EMAIL_ADDRESS>
&Bekir Tevfik Akgun
College of Computer and Information Sciences
Yeditepe University,
Istanbul, Turkey
<EMAIL_ADDRESS>
&Jianer Chen
Computer Science and Engineering,
College of Engineering
Texas A&M University,
College Station, TX, 77831
<EMAIL_ADDRESS>
Joint with Computer Science and Engineering Department.

###### Abstract

One of the key problems in dealing with color in rendering, shading,
compositing, or image manipulation is that we do not have algebraic structures
that support operations over colors. In this paper, we present an all-
encompassing framework that can support a set of algebraic structures with
associativity, commutativity, and inverse properties. To provide these three
properties, we build our algebraic structures on an extension of projective
space by allowing for negative and complex numbers. These properties are
important for (1) manipulating colors as periodic functions, (2) solving
inverse problems dealing with colors, and (3) being consistent with the wave
representation of the color. Allowance of negative and complex numbers is not
a problem for practical applications, since we can always convert the results
into desired range for display purposes as we do in High Dynamic Range
imaging. This set of algebraic structures can be considered as a
generalization of the Minkowski norm $L_{p}$ in projective space. These
structures also provide a new version of the generalized Hölder average with
associativity property. Our structures provide inverses of any operation by
allowing for negative and complex numbers. These structures provide all
properties of generalized Hölder average by providing a continuous bridge
between the classical weighted average, harmonic mean, maximum, and minimum
operations using a single parameter $p$. The parameter $p=1$ corresponds to a
classical weighted average operation, and $p=-1$ provides a harmonic mean. The
$p\rightarrow\infty$ produces the maximum operator and the
$p\rightarrow-\infty$ minimum operator. Our main contribution is the
demonstration of the associative property in a projective space. We have also
shown that these operations are scale invariant. Our version is slightly
different than the classical Hölder average, but it still guarantees that the
results of the operations are always between the maximum and minimum numbers.
We also show that these operations are qualitatively similar to a weighted
average. Any of these structures can be directly implemented using current
shader languages by treating three color channels as spatial positions. For
more color channels or a general version of Hölder-Minkowski colors, there is
a need for an extension that directly allows vectors of complex numbers in
shading languages.

(a) $p=1.0$

(b) $p=2.0$

(c) $p=2.5$

(d) $p=3.0$

(e) $p=4.0$

(f) $p\rightarrow\infty$

Figure 1: A sphere illuminated by four point-lights located in the vertices of
a tetrahedron. The images show the impact of different parameters that are
based on different weighted averages of the direct illumination term
$max(\cos\theta,0)$, which is a discontinuous derivative. The case $p=1$
corresponds to the classical weighted average (or addition), visual artifacts
caused by the derivative discontinuity of the function $max(\cos\theta,0)$.
Parameter values greater than $p=1$ create smoother results by removing these
visual artifacts caused by the discontinuity of the derivative at zero. Very
high values $p$ approach the maximum operator and create another visual
artifact. The $p$ values smaller than $1$ are not meaningful; therefore, we
did not include them.

(a) $p=1.0$

(b) $p=2.0$

(c) $p=2.5$

(d) $p=3.0$

(e) $p=4.0$

(f) $p\rightarrow\infty$

Figure 2: A sphere illuminated by six point-lights located in the vertices of
an octahedron. The images show the impact of different parameters that are
based on different weighted averages of the direct illumination term
$max(\cos\theta,0)$, which is a discontinuous derivative. The case $p=1$
corresponds to the classical weighted average (or addition), visual artifacts
caused by the derivative discontinuity of the function $max(\cos\theta,0)$.
Parameter values greater than $p=1$ create smoother results by removing these
visual artifacts caused by the discontinuity of the derivative at zero. Very
high values $p$ approach the maximum operator and create another visual
artifact. The $p$ values smaller than $1$ are not meaningful; therefore, we
did not include them.

##  1 Introduction

Operations over colors are one of the key elements of computer graphics, from
rendering to compositing and image manipulations. There is currently a wide
range of operations, from addition and multiplication to maximum, minimum, and
average, that are used to manipulate colors. However, these operations are not
part of any algebraic framework, which can cause difficulties in solving
problems with colors. In this paper, we propose to represent colors as complex
functions of time over projective space, i.e. in homogeneous coordinates. The
projective space representation will allow us to formally differentiate “point
(or Hölder) functions” and “vector (or Minkowski) functions”. This
formalization also allows us to differentiate between light and material
colors. We further allow Minkowski operations, which naturally provide a
conceptually consistent framework to operate on point functions and vector
functions on projective space. This representation along with Minkowski
operations, for instance, naturally provides addition over vector functions
and weighted average over point functions.

The weighted average is among the most common operations in a wide variety of
engineering and scientific applications, including color processing Hardy
(1952). Most low-pass filters are weighted average operations Oppenheim and
Schafer (2014); Mersereau and Dudgeon (1984). In curves and surfaces, we often
use weighted average forms, such as B-splines Bartels et al. (1995); Farin
(2014); Cohen et al. (2001). The illumination of multiple lights is
implemented as a sum or a weighted average of functions. Another set of
operations commonly used in engineering and scientific applications includes
maximum and minimum, which turn into Boolean operations on binary variables
Givant and Halmos (2008). They are used as nonlinear filters in the form of
dilation and erosion Maragos and Schafer (1987a, b), and in implicit surfaces
to obtain union and intersection Bloomenthal et al. (1997).

Hölder average (or generalized average or power average) is a family of
functions for aggregating sets of numbers, including the common arithmetic
mean, geometric mean, harmonic mean, maximum, and minimum. It is the one that
unifies the common linear and nonlinear averaging operations as special cases
of a single-parameter family of nonlinear operators that behave like linear
operations. Unfortunately, the Hölder average is not naturally associative. On
the other hand, associativity is critical to obtain consistent results and to
develop computationally efficient algorithms. For example, the popularity of
$4\times 4$ matrices comes from the fact that they provide an associative
algebra to handle linear, affine, and projective operations. Similarly,
associative over operation is more useful than non-associative over operation
Porter and Duff (1984). Associativity guarantees to make the computation of
results independent of the order of the operations.

In this paper, we show that a generalized version of the Minkowski $L_{p}$
norm over complex time functions in projective space provides an associative
version Hölder average, which we, therefore, call Hölder-Minkowski Colors. We
focus mainly on the theoretical properties of this family of operations and
the structure of the proposed Hölder-Minkowski operations. Furthermore, we
demonstrate that Hölder-Minkowski operations are particularly useful for color
applications, which involve the combination of colors. Finally, we point out
that having such a nonlinear family of operations is useful for a wide variety
of applications, even beyond colors. Using the parameter as a search space, it
can be possible to identify operations that are better for given applications.

###  1.1 Inspiration & Rationale

Our inspiration for this paper came from the emergence of complex algebra as a
consequence of problem-solving. It is helpful to present a historical
perspective Crowe (1994). As is well known, the concept of zero first appeared
in India at the end of the seventh century. It reached western Europe around
the 12th century by Fibonacci’s Liber Abaci McClenon (1919). The inclusion of
zero also enforces the introduction of negative numbers as inverse elements.
This requirement was first observed by Cardano in the 16th century Heeffer
(2007). Cardano and Bombelli also realized the need for complex numbers to
have a complete algebra as a by-product of Tartaglia’s method for computing
cubic roots Heeffer (2008). The full realization of the need took another 200
years until the popularization of complex algebra by Argand and Gauss Green
(1976). This popularization also led to the sudden emergence of other
algebras, such as Quaternion, vector, matrix, and Clifford (or Geometric)
algebras, in the 19th century. See Crowe (1994) for details. Using only
positive numbers appears natural, but it always complicates dealing with
inverse problems.

This work was initially motivated by an obscure problem that can cause
aliasing in rendering. The derivative of the direct illumination term,
$max(\cos\theta,0)$, which we frequently use in rendering processes, is
discontinuous at zero. This discontinuity of the derivative causes visual
artifacts, as shown in Figure 1(a). One can argue that this problem can be
solved by using a gamma correction such as $max(\cos\theta^{\gamma},0)$, where
$\gamma\geq 2$. However, this approach is a hack that does not provide a
formal solution. For example, it is not possible to update the result once the
computation is complete. To provide a solution, we reformulated the $gamma$
correction approach into a set of operations that can be considered as Hölder
and Minkowski operations. This extension eliminates the discontinuity of the
derivative and provides the desired results by removing visual artifacts as
shown in Figures 1 and 2. However, this does not solve the problem completely.
Graphics rendering works with positive numbers. Therefore, once the rendering
is completed, it will still not be possible to update the results, such as
removing or moving some of the lights. To achieve such a result, we need to
recompute the whole scene again. This practical requirement forces us to
introduce the concept of “negative lights,”, which is usually done in computer
graphics practice. As a result, if we treat lights as elements, then
operations on light elements demand an algebraic structure over the light
elements, which operations can also be applied on “negative elements.” We
point out that such applications appear not only in the practice of rendering
but also in other areas such as image processing and digital compositing.

This extension is not as straightforward as simply introducing negative
lights. Since our approach is based on the Hölder and Minkowski operations,
which are nonlinear, we also need to deal with the inverse of these nonlinear
operations, which require the domain to cover the entire gamut of complex
numbers. However, this extension turned out to be consistent with the
interpretation of colors as waves instead of energy. The extension can even be
handled using any existing image file format, since complex numbers can be
created using two positive numbers, amplitude $r$ and phase $\theta$ in two
forms of $re^{i\theta}$. Current color representations only provide a single
positive number for each channel, which corresponds to the amplitude, i.e. $r$
term. In our new representation, the phase term $\theta$ can be provided
simply as an additional term using an additional image. For instance, instead
of a single png or jpg, we need two png or jpg images. For the projective
term, we can simply use the existing $\alpha$ channels. It is also possible to
add two more images to provide a separate projective term per channel.

To handle colors using our new representation, operations on colors need to
have efficient implementations. Two properties of the efficiency of operations
are the commutativity and the associativity of the operations. The original
Hölder and Minkowski operations are already commutative. Our extensions
preserve the original commutativity property. On the other hand, associativity
does not hold in the original Hölder operations. To provide associative
versions of original Hölder operations, there is also a need to represent
colors using projective geometry. These extensions are sufficient to provide
an algebraic structure, which removes derivative discontinuity, provides
inverse operations on lights, and has efficient implementations of its
operations.

##  2 An Overview of The Hölder-Minkowski Colors

In this section, we will provide a quick overview of Hölder-Minkowski Colors.
In these color structures, for every color channel, we have a distinct set of
elements. We do not limit the number of channels. However, without loss of
generality, these channels can be considered red, green, and blue channels.
The following is the list of elements Hölder-Minkowski colors for a given
channel:

  * •

$x$, $y$, $z$ or $a$, $b$, $c$: scalars. These can be real or complex numbers.

  * •

$\mathbf{v}=(x,a)$: the general Hölder-Minkowski element that can represent
“lights”.

  * •

$(x,a)$: a point (or Hölder element), where $a\neq 0$ with $(x,a)=(x/a,1)$.

  * •

$(x,0)$: a vector (or Minkowski element). It is used to represent
singularities, such as point light, at its center.

  * •

$(0,a)$: a special type of point that can represent “materials”.

  * •

$(0,0)$: the identity element of Hölder-Minkowski Colors.

The following is a list of operations that can manipulate these elements.

  * •

$b(x,a)=(bx,ba)$: Multiplication with a scalar, where $b$ can represent
“materials”.

  * •

$H_{p}(\mathbf{v}_{0},\mathbf{v}_{1})=((x_{0}^{p}+x_{1}^{p})^{1/p},(a_{0}^{p}+a_{1}^{p})^{1/p})$:
Hölder-Minkowski operation. This becomes a generalized Minkowski over vector
elements and a generalized Hölder type average over point elements.

  * •

$(x,a)^{-1,p}=((-1)^{1/p}x,(-1)^{1/p}a)$: Hölder-Minkowski inverse.

Using these operations and elements, there are a wide number of ways to create
individual structures. The following is the list of ways to create individual
structures:

  * •

Scalar Types: Real Numbers or Complex Numbers.

  * •

Element Types: Only vector types of elements or both vector and point types of
elements.

  * •

Operation type: The $p$ value.

We provide examples of structures and discuss the differences in their
representational powers in Section 11. A significant part of all these
structures is the existence of inverse elements. The inverse elements depend
on $p$ and are not necessarily unique. We discuss it in Section 10. As an
example, we list all types of operations related to t$p=1$ case, since it is
widely used in computer graphics.

  * •

$H_{1}((x_{0},0),(x_{1},0))=((x_{0}+x_{1}),0)$: vector addition. The result is
a vector.

  * •

$H_{1}((x_{0},a_{0}),(x_{1},0))=((x_{0}+x_{1}),a_{0})$: Adding a point to the
vector. The result is a point.

  * •

$H_{1}((x_{0},a_{0}),(x_{1},a_{1}))=((x_{0}+x_{1}),(a_{0}+a_{1}))$: weighted
average. The result is a point.

  * •

$H_{1}(a_{0}(x_{0},1),a_{1}(x_{1},1))=((a_{0}x_{0}+a_{0}x_{1}),(a_{0}+a_{1}))$:
another weighted average. The result is again a point.

We want to point out that only using $H_{1}$ on vectors by constraining
scalars into real numbers can we obtain a formal algebraic structure with
inverse and identity elements that are also consistent with most common
rendering models. Note that in most rendering types of applications, there are
forward problems, in which there is no need to make updates or solve problems.
In such cases, the four operations above can also be used with only positive
real numbers. This creates the illusion that positive numbers are sufficient.
However, once we need to solve a problem, we need inverse operations. For the
case $p=1$, having inverse elements requires only negative numbers. Complex
numbers, on the other hand, are needed for most cases where $p\neq 1$.

##  3 Our Contributions

This introduction of the paper already provides a basic overview of how to use
real or complex numbers in projective space using addition and average
operators. We think that even the brief overview in Section 2 could be
sufficient to extend the color models for many graduate students in computer
graphics. In the rest of the paper, we will provide the need for these
algebraic structures, the theorems demonstrating that they are associative and
commutative, examples of algebraic structures, and a few examples of practical
power coming from using different structures for different problems. Our
contribution to the rest of the paper includes the following:

  1. 1.

We have developed the generalized Minkowski operation based on the $L_{p}$
norm over complex numbers.

  2. 2.

Based on our generalized Minkowski operation in the projective space, we have
developed a single parameter family of binary operations that becomes an
associative version of Hölder mean, which can be used in a wide variety of
graphics applications and beyond.

  3. 3.

The new operations are not the same as Hölder mean in the weighted average
case. Therefore, we have mathematically proven that this new family of
operations also provides averaging of positive real numbers.

  4. 4.

We have mathematically proven that this family of binary operations is
commutative and associative in a homogeneous space.

  5. 5.

We have shown that the inverse always exists. This property makes it easy to
update computations.

  6. 6.

We have also proven that they are scale-invariant.

  7. 7.

We have provided a qualitatively similar continuous function for shadows to
avoid infinite frequencies caused by discontinuities.

In the rest of the paper, we first provide the mathematical and physical needs
in Sections 4 and 5. We then provide formal proofs to demonstrate that these
concepts can work for a larger set of operations by forming more general
algebraic structures. We also provide examples of Hölder-Minkowski Colors in
Section 11 and some of their applications in Section 12. The rest of the paper
is almost no visual, which is very unusual for a computer graphics paper. That
is a conscious choice for us. We focus only on the theory to demonstrate the
mathematical validity of this algebraic framework. Nevertheless, we have
provided a few examples that cannot be done with existing methods.

(a) $r_{0}$ amplitude image.

(b) $\theta_{0}$ phase image.

(c) $r_{1}$: another amplitude image.

(d) $\theta_{1}=(1,1,1)$: white phase image.

(e) Amplitude of
$0.5(r_{0}e^{i\theta_{0}}+r_{1}e^{i\theta_{1}})$

Figure 3: An example that demonstrates how to create complex representations
using multiple images. This example also demonstrates the impact of the phase
term. Note that each image consists of three channels, red, green, and blue.
We assume that in phase images the color value $c$ corresponds to $2c\pi$. For
example, the image of the white phase corresponds to $(2\pi,2\pi,2\pi)$.

##  4 Mathematical Motivations

###  4.1 Motivation for Inverse

Our motivation for this paper came from purely mathematical constraints that
existed in the color domain. In current practice, we restrict the colors to a
positive range $[0,max]$ and do not allow inverse elements. Without loss of
generality, we can assume that colors are positive real numbers in $\Re^{+}$.
Note that positive real numbers include any Low Dynamic Range (LDR) or High
Dynamic Range (HDR) case since they can be represented as a subset of
$\Re^{+}$, e.g. a subset that consists of only rational numbers in the form of
$i/2^{k}$ where $i=0,1,...,2^{k}-1$. For the Low Dynamic Range case, we
usually choose $k=8$. High dynamic range (HDR) approaches improved these color
representations, allowing us to significantly increase the range Debevec and
Malik (2008). However, HDR colors are still essentially positive numbers
Reinhard et al. (2010); Banterle et al. (2017). Constraining our domain of
colors into positive numbers creates a major issue in solving problems in the
color domain even using only linear operations.

Let us now demonstrate this issue using some examples. First, consider a
simple algebraic problem such as

$r+0.5=0.75$

even though the result is simply

$r=0.25$

we cannot solve this using standard algebraic tools in the color space, since
standard algebraic tools require adding the inverse of $+0.5$. Unfortunately,
the inverse of $+0.5$ does not exist in color space since the inverse, which
is $-0.5$, cannot be considered formally a color. This can be solved with an
ad hoc approach, by allowing subtraction but not additional inverse.

We need to open parentheses here and point out that the inverse of operations,
such as subtraction, should not be used at all. These inverse operations are
created to demonstrate concepts to elementary school children. Inverse
operators are usually not associative or commutative. On the other hand,
addition with an inverse element is both associative and commutative.

It is, therefore, that this ad hoc approach, i.e. allowing the inverse of the
addition operator, is not sufficient if the problem requires solving a chain
of equations. Now, consider the following set, in which we need to compute the
value of $r_{1}$ using an intermediate auxiliary color $r_{0}$ as follows,

$r_{0}+1.0=0.5$ $r_{1}=0.5+r_{0}$

Since we define $r_{0}$ as a color, it also must be positive. In most
applications such as Photoshop, $r_{0}=-0.5$ is turned into either $r_{0}=0$
or $r_{0}=0.5$ depending on the negation operation. Then, the value of $r_{1}$
is calculated from $r_{1}=0.5$ or $r_{1}=1.0$ instead of $r_{1}=0$. Note that
this issue is not something that can be solved by using HDR. The domain
already includes any dynamic range we want to achieve.

The problem becomes even bigger when we allow nonlinear operations such as
generalized (or Hölder average) or Minkowski operations. The inverse elements
according to such non-linear operations can be complex numbers. As we have
demonstrated negative numbers appear during the solution process involving
linear equations, and complex numbers appear during the solution process of
nonlinear equations. By not allowing them, we guarantee that we will get the
wrong results even for simple problems. Unfortunately, we cannot contain this
problem, since we cannot control what will happen during the computation
process.

###  4.2 Motivation for Associativity & Commutative

Associativity is critical for obtaining consistent results, as it guarantees
that the results are independent of the order of the operations. Associativity
is also critical to develop computationally efficient algorithms. For example,
the popularity of $4\times 4$ matrices in homogeneous space comes from the
fact that this framework provides an associative algebra to handle linear,
affine, and projective operations Roberts (1963). This property speeds up the
computation of multiple operations by concatenating all operations into a
single $4\times 4$ matrix. Undo operation also becomes easy, multiplication of
inverse matrix. Similarly, associative over operation is popular and more
useful than non-associative over operation Porter and Duff (1984). The
associative alpha operation is associative, but not commutative. We cannot
implement operations in random order. Non-commutativity makes sense for the
specific use of over-operation. However, in our case, we also want
commutativity, since we do not want order dependency. We observe that the
order of the light arrival in rendering to any surface must not be important.
Using this analogy, we allow only commutative operations even in compositing
operations. The advantage of commutativity is that we do not have to keep a
stack of operations to make undo as in the $4\times 4$ matrix operations. Undo
can be implemented in any order. We can remove and add any effect in any
order.

##  5 Physical Connections

The need for complex numbers in this paper initially emerged from mathematical
requirements, as we have explained in the previous section. Later, we realized
that complex numbers are also meaningful in handling physical problems since
complex numbers help to reformulate light as a wave. We also realized that
current practice already conceptually allows for wave formulation. However,
since only positive numbers are used, it cannot produce waves. Our
formalization makes this connection clear, and it allows one to produce waves
without making significant changes in algorithms except by replacing positive
real numbers with complex numbers.

###  5.1 Waves and Complex Functions

Now, let us consider the current view of color. In current practice, we
consider color as an energy. Our rendering algorithms reconstruct a set of
positive real numbers for any given position and direction, each representing
the “energy” of different wavelengths of visible light, which we call “a
color”. For electromagnetic radiation, the multiplication of wavelength and
frequency is constant, and it is the speed of light. Therefore, we can replace
the wavelength with its corresponding frequency. We can then view the current
representation of color as a "simplified" Fourier transformation of a periodic
function of time that is given for any given point and direction,

$F_{\mathbf{p},\vec{n}}(t)=\sum_{\omega=\omega_{min}}^{\omega_{max}}a_{\mathbf{p},\vec{n},\omega}e^{i\omega
t}$

where $\omega$ is the frequency that corresponds any particular wavelength and
$a_{\mathbf{p},\vec{n},\omega}$ is just a positive real number, $\mathbf{p}$
is a 3D position, and $\vec{n}$ is the direction given by a unit vector. Since
the Fourier transform is a linear operator, all common operations such as
addition or average over such functions turn into operations over
coefficients. Therefore, we can operate on the coefficients
$a_{\mathbf{p},\vec{n},\omega}$ only.

One problem with this formulation is that although all functions
$F_{\mathbf{p},\vec{n}}(t)$ together can be considered to form some type of
wave equation, they are not waves. All points and directions work in sync as
if the speed of the wave were infinite. This is just a theoretical problem,
not a computational problem. If we want a representation that can provide
waves, we need to introduce a delay term that could be different for each
point. Note that the term $a_{\mathbf{p},\vec{n},\omega}$ can be viewed as the
magnitude of a complex number. Then, the delay can be introduced by a phase
term that replaces the term $a_{\mathbf{p},\vec{n},\omega}$ with complex
numbers

$c_{\mathbf{p},\vec{n},\omega}=a_{\mathbf{p},\vec{n},\omega}e^{i\theta_{\mathbf{p},\vec{n},\omega}}$

as follows

$F_{\mathbf{p},\vec{n}}(t)=\sum_{\omega=\omega_{min}}^{\omega_{max}}c_{\mathbf{p},\vec{n},\omega}e^{i\omega
t}$

where $\omega$ is still the frequency.

This is not a significant change in formulation. The addition or average over
these functions still turns into operations over coefficients. In this paper,
we also demonstrate that Hölder and Minkowski operations over functions can
also be implemented as operations over coefficients. Moreover, there is no
need for subtraction. It can be included as an addition with an inverse. Using
a phase term is also meaningful for representing some physical processes. For
instance, in iridescence, some wavelengths with different phases can cancel
each other, which can only be obtained by allowing complex numbers.

We also want to point out that this is not just useful for rendering. Even an
image or a photograph should (or could) have a phase term. The reason is that
the color of any pixel in an image should also be a function representing
waves. We can potentially compute the phase term. We can also include such a
phase term using an additional image. Assuming that the phase term is computed
and stored in the second image, the impact of this extension is shown in the
examples provided in Figures 3 and 6. Even when the amplitudes of coefficients
are the same, having a phase term can significantly change the resulting
amplitude image.

The phase term is of paramount importance in our approach. Sensors (such as
eyes or cameras) may record only the amplitude since it is difficult to record
the phase. Our brains, therefore, may be processing these data using only
positive real numbers. However, our computers should not necessarily mimic the
process in the brain. We know that interactions outside of our sensors occur
using the full flexibility of waves. Our computational framework should mimic
this flexibility. Algebraic consistency appears to follow directly from this
physical flexibility.

In conclusion, we believe that the extension to complex numbers is not based
only on mathematical or computational needs. Extension to complex numbers also
makes sense to represent the wave behavior of light. We claim that by viewing
color as an energy, we lose important phase information that will not only be
physically more meaningful, but will also be useful for problem-solving. From
a mathematical point of view, this restriction is also the reason why we do
not have inverse elements.

###  5.2 Need for Projective Space for Physical Consistency

The projective space was originally motivated also by the mathematical need to
implement an associative version of Hölder operations. We noticed later that
this also required physical consistency. In current practice, we represent
both lights and materials as colors. However, as we have discussed in the
previous section, the lights must be functions. If materials are also
functions, the multiplication of materials with lights does not make formal
sense, since the multiplication changes the frequency, which will be
meaningless. Therefore, materials cannot be functions. They should only be a
set of real numbers that are given as ratios between $0$ and $1$.

To make them part of the same algebraic structure, we need a formal device
that can allow both lights and materials to be used as elements of this formal
algebraic structure. Projective space gives us such a formalism. Note that
projective spaces are given by two elements as $(x,a)$. In our case, $x$ can
be a periodic function in the form of $x=ce^{i\omega t}$ where $c$ and $a$ can
be any complex number for each wavelength. This formulation also allows us to
include singularities such as the singularity in the center of point light by
using $a=0$ as $(c_{\omega}e^{i\omega t},0)$.

This formulation also gives two ways to define material or loss. The first way
is to represent materials as just scalars that are multiplied vector (or
Minkowski) or point (or Hölder) elements. Note that the multiplication of a
vector element with a real scalar changes its amplitude, which corresponds to
one of the most common rendering operations. The multiplication of a vector
element with a complex scalar changes both its amplitude and phase, which can
be used in wave applications. It is even more interesting with point (or
Hölder) elements. Multiplication of a point or Hölder entity with any number
does not change the amplitude or color. However, if we have multiple terms, it
gives different weights to different weights, indirectly affecting Hölder
averaging. The result is easier to grasp in this case. In other words, the
projective space not only helps to transform Hölder average into an
associative operation, but also gives us a general framework in which every
type of element can be consistently included.

There is also another way to define materials that can lead to different types
of operation. If the $(0,a_{\omega})$ element is an added vector element, such
as the point light $(c_{\omega}e^{i\omega t},0)$, it changes its amplitude and
phase. For example, a light leaving point light and travel for a length of $r$
can be calculated using the following formula:

$(c_{\omega}e^{i\omega t},0)+(0,r^{2})=(c_{\omega}e^{i\omega t},r^{2})$

We can also introduce phase shift by choosing $a_{\omega}$ term appropriately.
For materials, the value of $a_{\omega}$ can be provided for the BRDF of the
material. In this case, care is needed in the calculation of the term
$a_{\omega}$ to obtain the desired results. This method is complicated and
requires additional investigation to have more control over the results.

##  6 Background

Now we are ready to discuss related work. The concepts we present in this
section are already well-known. We have included them here to complete the
presentation and for comparing and contrasting with our Hölder-Minkowski
Colors.

###  6.1 Distance Functions and Lp Norm

The concept of a distance function has been developed to provide a formal
description of measuring the distance between two points in a vector space.
_Any_ function that satisfies the following logical conditions for distance
can be used to measure distance in a vector space.
Definition  Let $V$ be a vector space and $\Re^{*}$ be the set of all
nonnegative numbers, a function $f:V\longrightarrow\Re^{*}$ is a distance
function, if it satisfies the following conditions:

  * •

$f(v)=0$ if and only if $v=0$;

  * •

$f(v)=f(-v)$;

  * •

$f(v1+v2)\leq f(v1)+f(v2)$ for any $v1,v2\in V$.

There exist various distance functions defined over different vector spaces,
such as the $L_{p}$ norm, the Hausdorff-Besicovitch distance and the Hamming
distance. $L_{p}$ norm is developed based on the well-known Minkowski’s
inequality

$\left(\sum(a_{i}^{p}+b_{i}^{p})\right)^{\frac{1}{p}}\leq\left(\sum(a_{i}^{p})\right)^{\frac{1}{p}}+\sum\left(b_{i}^{p}\right)^{\frac{1}{p}}$

where $a_{i}\geq 0$, $b_{i}\geq 0$, $p\geq 1$, and $i=0,1,\ldots,n-1$ where
$n$ is any positive integer. Interested readers can find proof of this
inequality in many classical mathematics textbooks (e.g., Mitrinovic and Vasic
(1970), page 55). In an n-dimensional vector space where
$v=(x_{0},x_{1},\ldots,x_{n-1})$, using the Minkowski operator, the norm
$L_{p}$ is given as

$f(v)=\left(\sum(|x_{i}|^{p})\right)^{\frac{1}{p}}$

$L_{p}$ The norm was originally introduced by Hermann Minkowski and is also
called the Minkowski distance. It has been widely used in implicit shape
modeling for quite a long time to model shapes. Ricci Ricci (1973) extended
these operators by including negative values of $p$ and providing exact and
approximate set operations, which we now call Ricci operators. Barr Barr
(1981), independently, has developed superquadrics using Minkowski operators.
Hanson Hanson (1988) and Akleman Akleman (1996) also used Minkowski operators
to generalize superquadrics to hyperquadrics. The concept of constant-time
updateability is also developed using the associative property of Ricci
operators Akleman and Chen (1999). Using Ricci operators, Wyvill Wyvill et al.
(1999) developed Constructive Soft Geometry. Even Rvachev’s exact set
operations Pasko et al. (1995) are related to the $L_{p}$ norm. Distance
functions are also useful for generating implicit field functions from various
types of shape information Blanc and Schlick (1995); Crespin et al. (1996).

Minkowski operations are defined on nonnegative numbers. It is not possible to
extend Minkowski operations to all real numbers, since we cannot avoid complex
numbers if we allow negative numbers. In our Hölder-Minkowski Colors, we allow
complex numbers to be closed under Minkowski operations. Distance properties
such as triangular equality are, of course, meaningful for only positive real
numbers, since we can order numbers trivially only in one dimension.

###  6.2 Hölder Average: Generalized Mean & Associativity

The generalized mean is defined as

$\displaystyle M(x_{0},...,x_{n-1})$ $\displaystyle=$
$\displaystyle\left(\sum\limits_{j=0}^{n-1}a_{j}x_{j}^{p}\right)^{1/p}$ where
$\displaystyle\sum\limits_{j=0}^{n-1}{a_{j}}=1$

This formula provides all the operations mentioned above. However, its binary
form is not associative, even though the original Minkowski operations are
associative. In this paper, we demonstrate that we can solve this problem by
rewriting the equation in a projective space using the $L_{p}$ norm. The new
formula is equivalent to the generalized mean only for equal weights. On the
other hand, it still guarantees to provide average over positive numbers.

Associativity has always been important in computer graphics, as it provides
several advantages such as computational efficiency with better data
management Foley et al. (1996). For example, $4\times 4$ matrices were
introduced in 1963 to make translation and perspective associative operations
Roberts (1963). Similarly, associative alpha matting has been developed to
make the computation of alpha operations order independent Porter and Duff
(1984); Smith (1995), which allowed alpha compositing to be used in volume
rendering Drebin et al. (1988). We recognize that the basic conceptual idea in
these cases is the same as ours: (1) extend the problem to the projective
space and (2) use the same operation for both $x$ and $w$.

Similarly to Minkowski operations, our extension allows complex numbers in
generalized mean. For complex numbers, we cannot obtain properties similar to
"average". For instance, our Hölder Average of n-number of complex numbers may
not necessarily stay inside the convex hull of the positions of all complex
numbers. On the other hand, if all numbers are positive real, we obtain the
convex hull property.

###  6.3 Color Representations

Even though Hölder-Minkowski Colors can potentially be used in many
applications, in this paper we focus on color applications due to their direct
impact on color representations. In computer graphics, we currently use
special subsets of positive real numbers to represent color as an energy in
the form of

$C=[c_{min},c_{max}]\subset[0,\infty),$

where $c_{min}<c_{max}$. The values of $c_{min}$ and $c_{max}$ are imposed by
the constraints of the display or sensor device, and never hold the values of
$0$ or $\infty$. This is a de facto constraint when dealing with color on
display devices. Similarly, we use special subsets of positive real numbers to
represent wavelengths

$\omega=\\{\omega_{0},\omega_{1},\ldots,\omega_{K-1}\\}\subset[0,\infty),$

where the values of $\omega_{0},\omega_{1},\ldots,\omega_{K-1}$ are also
imposed by the constraints of display or sensory devices. For example,
detectable wavelengths are different for dogs, humans, birds, or infrared
cameras. The colors can then be represented as functions of discrete
wavelengths $\mathbf{c}(\omega)$, such as

$\mathbf{c}:\omega\longrightarrow C$

This is useful because it allows us to simply ignore all device dependencies
and view the color as a positive real number between $[c_{min},c_{max}]$ for a
given frequency.

###  6.4 Dynamic Range

Two positive real numbers $c_{min}$ and $c_{max}$ directly define the dynamic
range of any given display or sensory device Debevec and Malik (2008) as

$d=c_{max}/c_{min}.$

From this equation it is clear why $0$ and $\infty$ are not theoretically
allowed - infinite dynamic range is not possible. To increase the dynamic
range of a given device, we have two options: (1) increase $c_{max}$, and (2)
decrease $c_{min}$. It also is possible to normalize the numbers by dividing
each by $c_{max}$. Using the subset $[c_{min},1]$, we can still obtain an
indefinitely high dynamic range, but not an infinite range.

This discussion also helps to ignore actual device dependencies and to view
the dependencies as abstract mathematical constraints. From this discussion,
it must be clear that regardless of dynamic range we still have to deal with
boundaries imposed by display or sensory devices. To avoid problems caused by
producing numbers larger than $c_{max}$ and smaller than $c_{min}$, our
operations should produce only the numbers in this subset from the numbers in
this subset. This constraint can be satisfied only by using a Barycentric
framework Akleman et al. (2016) since with a Barycentric algebra we can
guarantee to stay in the convex hull of a given set of numbers.

###  6.5 Barycentric Algebra, Partition of Unity and Convex Hull

Barycentric algebra emerged as a dominating algebra in particular curve and
surface modeling Bartels et al. (1995); Farin (2014); Cohen et al. (2001)
since in curve and surface modeling we face a similar requirement. For
instance, consider the problem of interactive curve drawing on a screen. In
this case, users expect the curve to stay within the boundaries of the screen.
We can guarantee that the curve stays within the boundaries with barycentric
algebra by using basis functions that satisfy the partition of unity
principle.

Let a set of points $\mathbf{v}_{0},\mathbf{v}_{1},\ldots,\mathbf{v}_{m-1}$ be
given, then

$\mathbf{v}=\sum_{i=0}^{n-1}a_{i}v_{i}$

is in convex hull that is constructed by
$\mathbf{v}_{0},\mathbf{v}_{1},\ldots,\mathbf{v}_{m-1}$ if and only if
$a_{i}$’s satisfy the partition of unity principle, namely,

$\sum_{i=0}^{n-1}a_{i}=1,\;\;\;\mbox{and}\;\;\;0\leq a_{i}$

The partition of unity property is useful, as it provides translation,
rotation, and scaling invariance. In other words, if all original points are
translated, rotated, or scaled in the same way, the result of the operation
$\mathbf{v}$, also translates, rotates, and scales in the same way.
Barycentric algebra is not only limited to curve and surface modeling. In
rendering and compositing, there are already many operations that provide
barycentric properties. For instance, all blur kernels, such as Gaussian blur,
satisfy the Partition of Unity property. Similarly, associative over operation
satisfies partition of unity. Barycentric algebra is also used to develop
shaders Akleman et al. (2016) to obtain nonphotorealistic styles from charcoal
Du and Akleman (2016), crosshatching Du and Akleman (2017) to Painterly
Portraits Castaneda and Akleman (2017). Barycentric algebra is also useful to
obtain specific artists such as the contemporary Chinese artist Yang Ming-Yi
Liu and Akleman (2015), the American Western landscape painter Edgar Payne
Justice and Akleman (2018), wine and glass still life paintings Subramanian
and Akleman (2020), and the American contemporary Fauvist-Expressionist
painter Anne Garney Clifford and Akleman (2020).

###  6.6 Projective Alpha Colors

The projective alpha colors are another barycentric structure for colors. The
projective space for colors was first proposed by Jim Blinn Blinn (1994) as an
extension of the associative over operations. Philip Willis later introduced
the projective alpha color formally Willis (2006). One issue is projective
alpha colors; it does not have inverse elements. In this paper, we will show
how to extend projective alpha colors into a consistent structure under the
Hölder-Minkowski framework (See section 11). Projective alpha colors are
considered as positive real four-tuples that can be transformed by 4x4
matrices. Hölder-Minkowski Colors allow matrix transformations only for $p=1$
cases. In particular, extensions for $p=1$ cases can still allow an
associative property but must lose the commutativity property. We discuss this
case in Section 11.5.

###  6.7 Overview of Projective Space

Working in projective space simplifies dealing with the partition of unity
property Foley et al. (1996) in general. In this section, we will provide an
algebraic extension to classical homogeneous coordinates. Let us first
introduce the classical formulation. This will help to differentiate with our
extension. In classical formulation, any point in projective space using
homogeneous coordinates be represented in two different forms that are defined
as follows

$\displaystyle(a\mathbf{v},a)$ $\displaystyle=$ $\displaystyle(\mathbf{v},1)$
(1) $\displaystyle(\mathbf{v},a)$ $\displaystyle=$
$\displaystyle(\mathbf{v}/a,1)$ (2)

where $a$ is a positive real number including zero. In Section 6.8, we will
see the need to include zero even in the classical formulation. Equation 1 is
called the post-multiplication form and Equation 2 is called the pre-
multiplication form. We will show later in Section 7 that there is no need to
differentiate between these two forms.

In the classical formulation, we usually view $\mathbf{v}$ as 2D or 3D spatial
information such as $\mathbf{v}=(x,y)$ and $\mathbf{v}=(x,y,z)$. In the
projective color space, we view the discrete color information as
$\mathbf{v}=(r,g,b)$. The reason behind this formulation is usually to use
matrices to manipulate positions. In this way, we can include translation and
perspective as matrix multiplication. The formulation is also useful for
manipulating color in the projective color space using matrices. For instance,
using rotation, we can move the red component into the blue component Willis
(2006). The associativity of the matrices also made use of the projective
space desirable.

###  6.8 Overview of Vectors and Points in Projective Space

A not well-known property of the classical homogeneous coordinates is that
they can represent points and vectors in the same form. Now consider the
triple $\mathbf{v}=(x,y,z)$ with the following case in which $a$ is
approaching zero as

$\lim_{t\rightarrow\infty}\Big{(}\frac{1}{t}tx,\frac{1}{t}ty,\frac{1}{t}tz,\frac{1}{t}\Big{)}\longrightarrow(x,y,z,0)$

the correspondent position in homogeneous coordinates approaches $(x,y,z,0)$
in limit. In post-multiplication form, this could be considered meaningless at
first impression since its canonical form corresponds to undefined terms of
$(0\times\infty,0\times\infty,0\times\infty,1)$ regardless of values of $x,y$
and $z$.

Fortunately, these types of entities are possible premultiplication forms and
correspond to classical vectors. For vectors, we usually ignore the last term
$0$ since it does not provide additional information. As we shall see later,
this will provide a consistent framework for both positions, relative
positions, colors, and relative colors.

An important implication of this formalization through the classical
projective space is that it can successfully differentiate between points and
vectors without any explicit awareness. In practice, we ignore the term $a$ in
the calculation. However, ignoring the term $a$ is not desirable, since in
that case vectors and points appear to be the same. The problem with this
ignorance is that we cannot apply the same operations to vectors and points.
We can add vectors but we cannot add points. We can only find the barycentric
average of points. As we have demonstrated in the following, such an awareness
is not necessary in a homogeneous space. The addition is meaningful even
without an algebraic structure.

###  6.9 Overview of Addition on Projective Space

Now assume that we add two vectors $(x_{0},y_{0},z_{0},0)$ and
$(x_{1},y_{1},z_{1},0)$, the addition is still the classical vector addition
as $(x_{0}+x_{1},y_{0}+y_{1},z_{0}+z_{1},0)$. However, if we add two points,
given in post-multiplication form as

$(a_{0}x_{0},a_{0}y_{0},a_{0}z_{0},a_{0})=(x_{0},y_{o},z_{0},1)\;\;\mbox{and}$
$(a_{1}x_{1},a_{1}y_{1},a_{1}z_{1},a_{1})=(x_{1},y_{1},z_{1},1);$

the addition is still legal and turns into a Barycentric average by producing
a point between these two points as

$\displaystyle(a_{0}x_{0}+a_{1}x_{1},a_{0}y_{0}+a_{1}y_{1},a_{0}z_{0}+a_{1}z_{1},a_{0}+a_{1})=$
$\displaystyle\left(\frac{a_{0}x_{0}+a_{1}x_{1}}{a_{0}+a_{1}},\frac{a_{0}y_{0}+a_{1}y_{1}}{a_{0}+a_{1}},\frac{a_{0}z_{0}+a_{1}z_{1}}{a_{0}+a_{1}},1\right).$

In this case, we use the post-multiplication form to demonstrate that the
addition of the two points is a weighted average operation. We can also add a
point and vector, such as $(a_{0}x_{0},a_{0}y_{0},a_{0}z_{0},a_{0})$ and
$(x_{1},y_{1},z_{1},0)$, the result being a point
$(a_{0}x_{0}+a_{0}x_{1},a_{0}y_{0}+y_{1},z_{0}+z_{1},a_{0})$. This is expected
since vectors are conceptually considered as differences between two points.
In the last case, we used mixed forms to demonstrate the concept, but all of
these examples can be shown in pre-multiplied form. As discussed earlier, we
use the post-multiplication form to provide a simple demonstration of how
weighted averages work.

These are very useful properties, but unfortunately, the addition operation
does not form an algebraic structure. Consider the two points as

$(sa_{0}x_{0},sa_{0}y_{0},sa_{0}z_{0},sa_{0})=(x_{0},y_{o},z_{0},1)\;\;\mbox{and}$
$(a_{1}x_{1},a_{1}y_{1},a_{1}z_{1},a_{1})=(x_{1},y_{1},z_{1},1);$

where $s$ is any positive number. Now if we compute addition we still obtain a
weighted average as follows,

$\displaystyle(sa_{0}x_{0}+a_{1}x_{1},sa_{0}y_{0}s+a_{1}y_{1},sa_{0}z_{0}+a_{1}z_{1},sa_{0}+a_{1})=$
$\displaystyle\left(\frac{sa_{0}x_{0}+a_{1}x_{1}}{sa_{0}+a_{1}},\frac{sa_{0}y_{0}+a_{1}y_{1}}{sa_{0}+a_{1}},\frac{sa_{0}z_{0}+a_{1}z_{1}}{sa_{0}+a_{1}},1\right).$

However, the result depends on $s$. If $s\rightarrow\infty$, it goes to
$(x_{0},y_{0},z_{0},1)$. If $1/s\rightarrow\infty$, it goes to
$(x_{1},y_{1},z_{1},1)$. Having infinitely many results does not make
algebraic sense if we assume the original equality of projection space holds.
There is a need for a solution to this problem to turn this addition operation
into an algebraic structure.

The second issue is that all these operations are well defined for any
$\mathbf{v}$ as long as we use the same domain for all $\mathbf{v}$. On the
other hand, identity and inverse elements are still not defined. In other
words, despite its elegance, this formulation in homogeneous coordinates does
not provide an algebraic structure. To develop such a structure like an
Abelian group we also need to provide identity and inverse elements. The next
section presents our solution.

##  7 Algebralization of Projective Space

For algebraization of the classical projective space of 3D points and vectors,
we need to reinterpret the projective space. In this section, we first
introduce a multiplication operation as follows:

$b(x,y,z,a)=(bx,by,bz,ba)$

for any real number $b$. We then assume that

$(x,y,z,a)\neq(x/a,y/a,z/a,1)$

for any real number $a$. Note that this also means that

$a(x,y,z,1)=(ax,ay,az,a)\neq(x,y,z,1)$

Note that these new conditions remove the need for post-multiplication and
pre-multiplication forms. Moreover, each 4D element is now unique, and the
addition operation over two 4D elements creates another 4D element. In
addition, we now have an identity element for addition, which is $(0,0,0,0)$
since

$(x,y,z,a)+(0,0,0,0)=(x,y,z,a)$

and we have the inverse element of $(x,y,z,a)$ as $(-x,-y,-z,-a)$ since

$(x,y,z,a)+(-x,-y,-z,-a)=(0,0,0,0)$

Another important property of this framework is that projection is already
included as multiplication with multiplicative inverse of $a$ as follows:

$(x,y,z,1)=\frac{1}{a}(ax,ay,az,a)$

We can view this as a projection operator as follows:

$(x,y,z,1)=C((ax,ay,az,a))$

where $C((a\mathbf{v},a))=(\mathbf{v},1)$ is a projection operator. This
reinterpretation appears to be conceptually similar to homogeneous coordinates
as follows:

$C((x,y,z,1))=C((ax,ay,az,a))=C((bx,by,bz,b))$

In other words, the elements are not equivalent, but their projections are
equivalent. Note that the projection of the addition is not algebraic. This is
not a problem, since we will not use it to solve problems. It is used only
after completing the computation to obtain the final result. Now, we are ready
to extend this framework with a more general form by replacing $\mathbf{v}$
and $a$ with complex numbers and functions.

##  8 Extension to Complex Functions

One of our key ideas is to view $\mathbf{v}$ and $a$ as complex functions in
the form of $\mathbf{v}:D\rightarrow\mathbb{C}$ where $D$ can be a discrete or
continuous domain and $\mathbb{C}$ is set of complex numbers. In the
explanation of the idea, we first ignore the complex space and focus on the
function property. Note that if the domain is discrete, these functions can
still be viewed as 2D or 3D spatial information such as $\mathbf{v}=(x,y)$ and
$\mathbf{v}=(x,y,z)$, discrete color information such as $\mathbf{v}=(r,g,b)$.
However, it should be noted that these are not 2D or 3D vectors in the
classical sense. As we have explained earlier, this formulation consists of
three periodic functions

$r(t)=re^{i\omega_{r}t}$ $g(t)=ge^{i\omega_{g}t}$ $b(t)=be^{i\omega_{b}t}$

and $\mathbf{v}$ is actually a single function that can be written as follows

$\mathbf{v}(t)=re^{i\omega_{r}t}+ge^{i\omega_{g}t}+be^{i\omega_{b}t}$

where $\omega_{r}$, $\omega_{g}$ and $\omega_{b}$ frequencies that correspond
to related wavelengths. We treat them as three separate entities to simplify
the operations. We do not consider a continuous domain, but note that the
number of channels can be arbitrarily large and the color can be represented
as a summation

$\mathbf{v}(t)=\sum_{\omega}\mathbf{c}(\omega)e^{i\omega t}$

where the term $\omega$ is the frequency that corresponds to the related
wavelength. It is important to note that the number of channels does not
change much. We still treat each channel separately. Now, let $a$ denote a
discrete function of the wavelength as $\mathbf{a}=\mathbf{a}(\omega)$. In
classical homogeneous coordinates, the term $a$ is a positive scalar
$[0,\infty)$. In this paper, we extend $a$ to all complex numbers as
$a\in\mathbb{C}$. Transformations are achieved in this form by simply dividing
and multiplying color functions with $a\in\mathbb{C}$ such as
$\mathbf{v}(\omega)/\mathbf{a}(\omega)$ and
$\mathbf{v}(\omega)\mathbf{a}(\omega)$. For example, the classical
$\mathbf{v}=(r,g,b)$ term can be given as follows:

$\mathbf{v}=(r,g,b)=\left(\frac{x_{r}}{a_{r}},\frac{x_{g}}{a_{g}},\frac{x_{b}}{a_{b}}\right)$

The corresponding functions are now

$r(t)=\frac{x_{r}}{a_{r}}e^{i\omega_{r}t}$
$g(t)=\frac{x_{g}}{a_{g}}e^{i\omega_{g}t}$
$b(t)=\frac{x_{b}}{a_{b}}e^{i\omega_{b}t}$

and $\mathbf{v}$ is also a single function that can be written as follows

$\mathbf{v}(t)=\frac{x_{r}}{a_{r}}e^{i\omega_{r}t}+\frac{x_{g}}{a_{g}}e^{i\omega_{g}t}+\frac{x_{b}}{a_{b}}e^{i\omega_{b}t}$

where $\omega_{r}$, $\omega_{g}$, and $\omega_{b}$ are frequencies that
correspond to related wavelengths. One problem with these forms is that they
do not support associativity. The identity element that requires
$x_{r}=x_{g}=x_{b}=a_{b}=a_{g}=a_{b}=0$ is not defined even when we include
complex numbers.

Our goal is to operate effectively on $r(t)$, $g(t)$, and $b(t)$. Our first
observation is that we can obtain each term as a projection of positions in
projection space as follows

$r(t)=C(x_{r}e^{i\omega_{r}t},a_{r})$ $g(t)=C(x_{g}e^{i\omega_{r}t},a_{g})$
$b(t)=C(x_{b}e^{i\omega_{r}t},a_{b})$

Note that these are the final color results. Our operations do not have to be
in this space. We can simply consider the following element as our basic
element for any given $\omega$ as

$\mathbf{v}(\omega,t)=(x(\omega)e^{i\omega t},a(\omega))$

In the previous section, we have already shown that this space already has an
identity and an inverse for addition. Since the addition of elements
$(x(\omega)e^{i\omega t},a(\omega))$ is also associative, this structure
already supports all properties of the Abelian group (for a full treatment of
this case, see Section A). This extended form still captures the properties of
the original projective space for the positive real values of $a$. The only
problem is to handle the terms of $e^{i\omega t}$. Fortunately, we can ignore
the terms of $e^{i\omega t}$ if we deal with only addition. It can also be
ignored under the projection that gives the average. Then we can make
operations directly on coefficients considering elements in the form of

$\mathbf{v}(\omega)=(x(\omega),a(\omega)).$

If we know the channel $\omega$, there is no need to explicitly list terms of
$\omega$. As a result, we can further remove the term of $\omega$ and view
elements as only two complex numbers as follows

$\mathbf{v}=(x,a).$

We can also ignore the terms of $e^{i\omega t}$ for the Hölder-Minkowski
operations as discussed in Section 9.1. Now we are ready to replace the
addition operation with Hölder-Minkowski operations.

##  9 Hölder-Minkowski Colors

Our key idea in this paper is the generalization of the $L_{p}$ norm, which we
can call the generalized Minkowski operator. $L_{P}$ norm, which was
originally invented by Minkowski, is outlined in Section 6.1. Our generalized
Minkowski operator, or Hölder-Minkowski operator as we call it, is given as
follows:

$H(x_{0},x_{1})=(x_{0}^{p}+x_{1}^{p})^{\frac{1}{p}}$

where $x_{0}$ and $x_{1}$ are complex numbers and $p\in\Re$. There are two
differences from the classical $L_{p}$ norm.

  1. 1.

Unlike $L_{p}$ norm, $x_{0}$ and $x_{1}$ are not just positive real numbers.
Note that for the $L_{p}$ norm, we usually need to apply the absolute value
operator to deal with only positive real numbers.

  2. 2.

Unlike the $L_{p}$ norm, we allow negative values of $p$ like Hölder
operators.

It appears at first glance that allowing negative real numbers and zero for
parameter $p$ is not meaningful from the perspective of distance functions. On
the other hand, negative values of $p$ are acceptable and useful for the
Hölder averaging. It is well known that the value of $p=0$ provides a
geometric mean in Hölder averaging as it will be explained later. The
operation also provides basic Hölder Average for equal weights.

We now build our operations using this family of generalized Minkowski
operators. Let $a_{0}v_{0}=(a_{0}x_{0},a_{0})$ and
$a_{1}v_{1}=(a_{1}x_{1},a_{1})$ denote two color points, then our Hölder-
Minkowski addition operator is defined as a binary operator as follows:

$\displaystyle H_{p}(v_{0},v_{1})$ $\displaystyle=$
$\displaystyle\left(\left(a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}\right)^{\frac{1}{p}},\left(a_{0}^{p}+a_{1}^{p}\right)^{\frac{1}{p}}\right)$

where $x$ and $w$ are complex numbers or functions, and $p\in\Re$. We will
later show that this operator is associative and commutative. Moreover, if we
obtain the project result, the projection operation is given as follows.

$\displaystyle C(H_{p}(v_{0},v_{1}))$ $\displaystyle=$
$\displaystyle\left(\left(\frac{a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}}{a_{0}^{p}+a_{1}^{p}}\right)^{\frac{1}{p}},1\right)$

Note that the project operation itself is not associative. It is useful only
to obtain generalized, or Hölder, an average of $v_{0}$ and $v_{1}$. Note that
for the $C$ operation, we can ignore the term $1$ since this will always be
the case. Therefore, we usually write directly as

$\displaystyle C(H_{p}(v_{0},v_{1}))$ $\displaystyle=$
$\displaystyle\left(\frac{a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}}{a_{0}^{p}+a_{1}^{p}}\right)^{\frac{1}{p}}$

Note that in addition to Hölder-Minkowski operations, we also allow
multiplication any element $v=(x,a)$ with any complex scalar $z$ as follows:

$zv=z(x,a)=(xz,az)$

Note that the multiplication does not change the projection. It is useful
mainly to control weights for Hölder averaging after an application of an
Hölder-Minkowski operation. For example, letting $v_{0}=(x_{0},a_{0})$ and
$v_{1}=(x_{1},a_{1})$ denote two color points, we can then change the Hölder-
Minkowski computation by using this multiplication as follows:

$\displaystyle H_{p}(z_{0}v_{0},z_{1}v_{1})$ $\displaystyle=$
$\displaystyle\left(\left(z_{0}^{p}a_{0}^{p}x_{0}^{p}+z_{1}^{p}a_{1}^{p}x_{1}^{p}\right)^{\frac{1}{p}},\left(z_{0}^{p}a_{0}^{p}+z_{1}^{p}a_{1}^{p}\right)^{\frac{1}{p}}\right)$
$\displaystyle C(H_{p}(z_{0}v_{0},z_{1}v_{1}))$ $\displaystyle=$
$\displaystyle\left(\frac{z_{0}^{p}a_{0}^{p}x_{0}^{p}+z_{1}^{p}a_{1}^{p}x_{1}^{p}}{z_{0}^{p}a_{0}^{p}+z_{1}^{p}a_{1}^{p}}\right)^{\frac{1}{p}}$

###  9.1 Removing Periodic Function Terms

Recall that $x$ terms are not scalar, but functions in the form of
$x=x(\omega)e^{i\omega t}$. We will show that we can ignore periodic functions
and operate only on coefficients. Note that the two color points are actually
$v_{0}=(x_{0}(\omega)e^{i\omega t},a_{0})$ and $v_{1}=(x_{1}(\omega)e^{i\omega
t},a_{1})$. We will now show that it is possible to ignore $e^{i\omega t}$
terms. Note the following formulation:

$\displaystyle\left(\left(a_{0}^{p}x_{0}^{p}(\omega)e^{ip\omega
t}+a_{1}^{p}x_{1}^{p}(\omega)e^{ip\omega
t}\right)^{\frac{1}{p}},\left(a_{0}^{p}+a_{1}^{p}\right)^{\frac{1}{p}}\right)$
$\displaystyle=$
$\displaystyle\left(\left(a_{0}^{p}x_{0}^{p}(\omega)+a_{1}^{p}x_{1}^{p}(\omega)\right)^{\frac{1}{p}}\;\;e^{\frac{ip\omega
t}{p}},\left(a_{0}^{p}+a_{1}^{p}\right)^{\frac{1}{p}}\right)$ $\displaystyle=$
$\displaystyle\left(\left(a_{0}^{p}x_{0}^{p}(\omega)+a_{1}^{p}x_{1}^{p}(\omega)\right)^{\frac{1}{p}}\;e^{i\omega
t},\left(a_{0}^{p}+a_{1}^{p}\right)^{\frac{1}{p}}\right)$

Note that the operations do not have any effect on $e^{i\omega t}$. It is also
the same for the term of $C(H_{p}(v_{0},v_{1}))$. This property is useful; we
can simply ignore the term of $e^{i\omega t}$ and apply the operation on
coefficients. In the rest of the paper, we simply ignore $e^{i\omega t}$ in
our proofs. We also do not have to speak in terms of $(\omega)$, since each
frequency is computed separately. In conclusion, after this point, $(x,a)$ can
be considered truly as only two complex numbers.

###  9.2 A Remark on Minkowski Operations over Complex Numbers

Minkowski operations on complex numbers need to be carefully defined. In the
rest of the paper, for any complex number $z$, we assume that the following is
always correct

$(z^{p})^{\frac{1}{p}}=z.$

Note that this is not really correct if we assume that the numbers are real.
Consider $p=2$ and $z=-1$. Then $((-1)^{2})^{0.5}$ will most likely be
computed as $1$. To avoid that, we assume the numbers are always represented
in a general complex form as, for example, $-1=e^{i(2n+1)\pi}$ and
$1=e^{i(2n)\pi}$. Now, the operation $(z^{p})^{\frac{1}{p}}$ simply returns
the original number, since $p$ and $1/p$ are multiplicative inverses and
cancel each other. In fact, we use this property in our proofs.

Working in a general form does not only help to obtain a single result with
Minkowski operations. It is also important to obtain multiple inverses as we
discuss in section 10.

###  9.3 Realizing Classical Operations

It is known that the Hölder average provides all classical or well-known
averaging operations on positive real numbers. Therefore, it is also called
generalized average. Our formulation is related Hölder average. Among positive
real numbers, it can be considered associative Hölder operator. It is easy to
show that the Hölder-Minkowski Average is capable of providing classical
operations if $x$ and $a$ are positive numbers using different values of $p$.
For $p=1$, the operation becomes the classical weighted (additive) average as
follows:

$C(H_{1}(v_{0},v_{1}))=\frac{a_{0}x_{0}+a_{1}x_{1}}{a_{0}+a_{1}}$

For $\lim p\rightarrow 0$, the operation turns into multiplication regardless
of the values of $w$ as follows:

$\lim_{p\longrightarrow
0}C(H_{p}(v_{0},v_{1}))=\frac{a_{0}x_{0}a_{1}x_{1}}{a_{0}a_{1}}=x_{0}x_{1}$

For $p=-1$, the operation turns into a form of harmonic mean as follows:

$C(H_{-1}(v_{0},v_{1}))=\left(\frac{a_{0}^{-1}x_{0}^{-1}+a_{1}^{-1}x_{1}^{-1}}{a_{0}^{-1}+a_{1}^{-1}}\right)^{-1}=\frac{(a_{0}+a_{1})}{a_{0}x_{0}+a_{1}x_{1}}x_{0}x_{1}$

When $p\rightarrow\infty$ and $w=a_{0}=a_{1}$, the operation turns into
maximum as follows:

$\lim_{p\longrightarrow\infty}C(H_{p}(v_{0},v_{1}))=\lim_{p\longrightarrow\infty}\left(\frac{w^{p}x_{0}^{p}{-1}+w^{p}x_{1}^{p}}{w^{p}+w^{p}}\right)^{\frac{1}{p}}=max(x_{0},x_{1})$

Similarly, when $p\rightarrow-\infty$ and $w=a_{0}=a_{1}$, the operation turns
into minimum as follows:

$\lim_{p\longrightarrow-\infty}C(H_{p}(v_{0},v_{1}))=\lim_{p\longrightarrow-\infty}\left(\frac{w^{p}x_{0}^{p}{-1}+w^{p}x_{1}^{p}}{w^{p}+w^{p}}\right)^{\frac{1}{p}}=min(x_{0},x_{1})$

Unfortunately, Hölder-Minkowski operations do not provide a general geometric
mean for $p=0$ as in Hölder average. Instead, it provides only a specific
geometric mean. To demonstrate how the geometric mean is obtained Hölder-
Minkowski, we provide a version of the classical proof of what is the result
of the Minkowski operation at $zero$.

###### Theorem 9.1

$\lim_{p\rightarrow
0}(a_{0}x_{0}^{p}+a_{1}x_{1}^{p})^{\frac{1}{p}}\longrightarrow
x_{0}^{\frac{a_{0}}{(a_{0}+a_{1})}}x_{1}^{\frac{a_{1}}{(a_{0}+a_{1})}}$

for all positive real values of $x_{0}$, $x_{1}$, $a_{0}$, and $a_{1}$.
Remark 1. Note that here we do not take the $p$ power of $a_{0}$ and $a_{1}$.
Also note that even if $a_{0}+a_{1}$ is not $1$, this formula still results in
the geometric mean.
Proof.  we can rewrite the function using exponential and logarithm as
follows:

$\displaystyle(a_{0}x_{0}^{p}+a_{1}x_{1}^{p})^{\frac{1}{p}}$ $\displaystyle=$
$\displaystyle\exp\left(\ln\left((a_{0}x_{0}^{p}+a_{1}x_{1}^{p})^{\frac{1}{p}}\right)\right)$
$\displaystyle=$
$\displaystyle\exp\left(\frac{\ln(a_{0}x_{0}^{p}+a_{1}x_{1}^{p})}{p}\right)$

In the limit p → 0, we can apply L’Hôpital’s rule to the argument of the
exponential function. Differentiating the numerator and denominator with
respect to $p$, we have

$\displaystyle\lim_{p\rightarrow
0}\left(\frac{\ln(a_{0}x_{0}^{p}+a_{1}x_{1}^{p})}{p}\right)$ $\displaystyle=$
$\displaystyle\lim_{p\rightarrow
0}\left(\frac{\frac{a_{0}x_{0}^{p}\ln(x_{0})+a_{1}x_{1}^{p}\ln(x_{1})}{(a_{0}x_{0}^{p}+a_{1}x_{1}^{p})}}{1}\right)$
$\displaystyle=$ $\displaystyle\lim_{p\rightarrow
0}\left(\frac{a_{0}x_{0}^{p}\ln(x_{0})+a_{1}x_{1}^{p}\ln(x_{1})}{(a_{0}x_{0}^{p}+a_{1}x_{1}^{p})}\right)$
$\displaystyle=$
$\displaystyle\left(\frac{a_{0}\ln(x_{0})+a_{1}\ln(x_{1})}{(a_{0}+a_{1})}\right)$
$\displaystyle=$
$\displaystyle\left(t_{0}\ln(x_{0})+(1-t_{0})\ln(x_{1})\right)$

where

$t_{0}=\frac{a_{0}}{(a_{0}+a_{1})}.$

Now, by the continuity of the exponential function, we can substitute back
into the above relation to obtain

$\displaystyle\lim_{p\rightarrow
0}\left(\frac{\ln(a_{0}x_{0}^{p}+a_{1}x_{1}^{p})}{p}\right)$ $\displaystyle=$
$\displaystyle\exp\left(t_{0}\ln(x_{0})+(1-t_{0})\ln(x_{1})\right)$
$\displaystyle=$ $\displaystyle x_{0}^{t_{0}}x_{1}^{1-t_{0}}$ $\displaystyle=$
$\displaystyle
x_{0}^{\frac{a_{0}}{(a_{0}+a_{1})}}x_{1}^{\frac{a_{1}}{(a_{0}+a_{1})}}$

This concludes the proof.

In our case, the formula turns into the following form, which is still a
geometric mean, but we no longer have control over power:

$\lim_{p\rightarrow
0}C(H_{1}(v_{0},v_{1}))\longrightarrow\frac{(a_{0}x_{0})^{1/2}a_{1}x_{1}^{1/2}}{(a_{0})^{1/2}a_{1}^{1/2}}=x_{0}^{1/2}x_{1}^{1/2}$

Next, we show that the operation guarantees to yield an average even for
complex numbers if they satisfy a special property.

###  9.4 Averaging Properties on Complex Numbers

We first need to define the averaging operation for complex numbers. The
problem is that we allow complex numbers and they cannot simply be ordered. We
can only use the convex hull property. Using the fact that the convex hull
will be a line segment for two points, we will define the strong averaging
properties.
Definition  Let $H$ be a binary operation from $S^{2}$ to $S$ and $0\leq
x_{0}\leq x_{1}\in S$. Then the function $H$ is a strong averaging operator if
the following condition always holds

$H(x_{0},x_{1})=\frac{x_{0}+t_{1}x_{1}}{1+t_{1}}$

for a positive real $t_{1}$.
Note that addition can provide this property on complex numbers. On the other
hand, this property is too strong for other Hölder-Minkowski operations on
complex numbers. However, they provide a less strong averaging property.
Definition  Without loss of generality, let $x_{0}\leq x_{1}$. Let $H$ be a
binary operation from $S^{2}$ to $S$ and $0\leq x_{0}\leq x_{1}\in S$. Then
the function $H$ is a weak averaging operator if the following condition
always holds for all $x_{0}$ and $x_{1}$ that satisfy the following equality
$x_{1}=t_{1}x_{0}$: where $t_{1}$ is a positive real number greater than $1$.
Then the following inequality holds:

$1\leq\frac{H(x_{0},x_{1})}{x_{0}}\leq t_{1}.$

Note that a weak averaging operator works as a strong operator if we focus on
only positive real numbers. In practice, all forward operations will work
mostly on positive real numbers. As we shall see later, we will need negative
and complex numbers to implement inverse problems. Now, we are ready to
demonstrate the weak averaging properties of Hölder-Minkowski operations.

###### Theorem 9.2

$C(H_{p}(a_{0}x_{0},a_{0}),(a_{1}x_{1},a_{1}))$ is a weak averaging operator
on $x_{0}=C(a_{0}x_{0},a_{0})$ and $x_{1}=C(a_{1}x_{1},a_{1})$ for any
$x_{0},x_{1},a_{0},a_{1}\in S$ such that $x_{1}/x_{0}$ and $a_{1}/a_{0}$ are
positive real numbers.

Proof.  Without loss of generality, let $x_{0}\leq x_{1}$ and
$t_{1}=x_{1}/x_{0}$ be positive real numbers larger than $1$. We want to show
that the following inequality holds

$1\leq\frac{C(H_{p}(a_{0}x_{0},a_{0}),(a_{1}x_{1},a_{1}))}{x_{0}}\leq t_{1}$

for all values $p\in\Re$ and $s_{1}=a_{1}/a_{0}$ is positive real. Now, let us
replace

$C(H_{p}(a_{0}x_{0},a_{0}),(a_{1}x_{1},a_{1}))$

with actual formulation:

$\frac{(a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p})^{\frac{1}{p}}}{(a_{0}^{p}+a_{1}^{p})^{\frac{1}{p}}}=\frac{a_{0}x_{0}(1+s_{1}^{p}t_{1}^{p})^{\frac{1}{p}}}{a_{0}(1+s_{1}^{p})^{\frac{1}{p}}}=\frac{x_{0}(1+s_{1}^{p}t_{1}^{p})^{\frac{1}{p}}}{(1+s_{1}^{p})^{\frac{1}{p}}}$

Note that all we need to show now is that

$1\leq\frac{(1+s_{1}^{p}1_{1}^{p})^{\frac{1}{p}}}{(1+s_{1}^{p})^{\frac{1}{p}}}\leq
t_{1}$

Since now all the numbers are positive, we can take $p$’th power of all sides
without changing the direction, then we obtain following equation:

$1\leq\frac{1+s_{1}^{p}t_{1}^{p}}{1+s_{1}^{p}}\leq t_{1}^{p}$

If we multiply all sides with $1+1_{1}^{p}$, we obtain the following
inequality:

$1+s^{p}\;\;\leq\;\;1+s_{1}^{p}t_{1}^{p}\;\;\leq\;\;t_{1}^{p}+t_{1}^{p}s_{1}^{p}$

Since we chose, $1\leq t_{1}$, the middle part is always larger or equal to
left part and it is always smaller or equal to right part regardless of the
values of $p,a_{0}$, and $a_{1}$. This completes the proof.

###  9.5 Commutativity and Associativity

In this section, we will evaluate the commutativity and associativity
properties of $H_{p}(v_{0},v_{1})$. Demonstrating commutativity, that is,
$H_{p}(v_{0},v_{1})=H_{p}(v_{1},v_{0})$ is trivial since the operation is
symmetric. On the other hand, associativity needs a little more elaboration.

###### Theorem 9.3

The operator $H_{p}$ is associative for all values of $p\in\Re$ except zero.

Proof.  Let $v_{0},v_{1},v_{2}$ denote any three color points in the
projective space. If $H_{p}$ is an associative operator, then the following
equality must hold:

$H_{p}(H_{p}(v_{0},v_{1}),v_{2})=H_{p}(v_{0},H_{p}(v_{1},v_{2})$

Let us first compute $H_{p}(H_{p}(v_{0},v_{1}),v_{2})$ as follows:

$H_{p}\left(\left(\left(a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}\right)^{\frac{1}{p}},\left(a_{0}^{p}+a_{1}^{p}\right)^{\frac{1}{p}}\right),(a_{2}x_{2},a_{2})\right)$

We can simply compute the first and second terms for all values of
$p\in\Re-\\{0\\}$ as follows:

$\displaystyle\left(\left(\left(a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}\right)^{\frac{1}{p}}\right)^{p}+a_{2}^{p}x_{2}^{p}\right)^{\frac{1}{p}}$
$\displaystyle=$
$\displaystyle\left(a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}+a_{2}^{p}x_{2}^{p}\right)^{\frac{1}{p}}$
$\displaystyle\left(\left(\left(a_{0}^{p}+a_{1}^{p}\right)^{\frac{1}{p}}\right)^{p}+a_{1}^{p}\right)^{\frac{1}{p}}$
$\displaystyle=$
$\displaystyle\left(a_{0}^{p}+a_{1}^{p}+a_{2}^{p}\right)^{\frac{1}{p}}$

Therefore,

$H_{p}(H_{p}(v_{0},v_{1}),v_{2})=\left(\left(a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}+a_{2}^{p}x_{2}^{p}\right)^{\frac{1}{p}},\left(a_{0}^{p}+a_{1}^{p}+a_{2}^{p}\right)^{\frac{1}{p}}\right)$

Now, let us compute $H_{p}(v_{0},H_{p}(v_{1},v_{2}))$ as follows:

$H_{p}\left(\left(\left(a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}\right)^{\frac{1}{p}},\left(a_{0}^{p}+a_{1}^{p}\right)^{\frac{1}{p}}\right),(a_{1}x_{1},a_{1})\right)$

We can again compute the first and second terms for all values of
$p\in\Re-\\{0\\}$ as follows:

$\displaystyle\left(a_{0}^{p}x_{0}^{p}\right)^{\frac{1}{p}}+\left(\left(a_{1}^{p}x_{1}^{p}+a_{2}^{p}x_{2}^{p}\right)^{\frac{1}{p}}\right)^{p}$
$\displaystyle=$
$\displaystyle\left(a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}+a_{2}^{p}x_{2}^{p}\right)^{\frac{1}{p}}$
$\displaystyle\left(a_{0}^{p}\right)^{\frac{1}{p}}+\left(\left(a_{1}^{p}+a_{2}^{p}\right)^{\frac{1}{p}}\right)^{p}$
$\displaystyle=$
$\displaystyle\left(a_{0}^{p}+a_{1}^{p}+a_{2}^{p}\right)^{\frac{1}{p}}$

Therefore,

$H_{p}(v_{0},H_{p}(v_{1},v_{2}),)=\left(\left(a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}+a_{1}^{p}x_{1}^{p}\right)^{\frac{1}{p}},\left(a_{0}^{p}+a_{1}^{p}+a_{1}^{p}\right)^{\frac{1}{p}}\right)$

In conclusion, for all values of $p\in\Re-\\{0\\}$

$H_{p}(H_{p}(v_{0},v_{1}),v_{2})=H_{p}(v_{0},H_{p}(v_{1},v_{2})$

This completes the proof.

As a direct consequence of associative property, we can remove the parentheses
and can write the operation as an n-ary operation where $n$ can be any integer
as follows:

$H_{p}(H_{p}(v_{0},v_{1}),v_{2})=H_{p}(v_{0},H_{p}(v_{1},v_{2})=H_{p}(v_{0},v_{1},v_{2})$

Commutative and associative properties are useful for practical applications.
For instance, these operators can be used in path tracing to update color
values per pixel. It is sufficient to keep cumulative $x$ and $w$ values per
pixel to update a color or a pixel. As n-ary operators, they can be formulated
to be used as image filters.

###  9.6 Scale Invariant Property of Projection

###### Theorem 9.4

The operation $C(H_{p})$ is scale invariant for all $p\in\Re$ except zero, in
other words, for all $p\in\Re$ except zero
$C(H_{p}((a_{0}ax_{0},a_{0}),(a_{1}ax_{1},a_{1}))=aC(H_{p}((a_{0}x_{0},a_{0}),(a_{1}x_{1},a_{1})).$
Proof.  Let two color points are denoted by $(a_{0}x_{0},a_{0})$ and
$(a_{1}x_{1},a_{1})$. Let $C(a_{0}x_{0},a_{0})=x_{0}$ and
$C(a_{1}x_{1},a_{1})=x_{1}$ be scaled by $a$. Note that $a$ can be a function
of $a$ as $a(a)$. With this scaling, we obtain two new colors
$C(a_{0}ax_{0},a_{0})=ax_{0}$ and $C(a_{1}ax_{1},a_{1})=ax_{1}$. Now,

$\displaystyle C(H_{p}((a_{0}ax_{0},a_{0}),(a_{1}ax_{1},a_{1}))\\!$
$\displaystyle=$
$\displaystyle\\!\left(\frac{a_{0}^{p}a^{p}x_{0}^{p}+a_{1}^{p}a^{p}x_{1}^{p}}{a_{0}^{p}+a_{1}^{p}}\right)^{\frac{1}{p}}$
$\displaystyle=$
$\displaystyle\\!(a^{p})^{\frac{1}{p}}\left(\frac{a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}}{a_{0}^{p}+a_{1}^{p}}\right)^{\frac{1}{p}}$
$\displaystyle=$
$\displaystyle\\!a\left(\frac{a_{0}^{p}x_{0}^{p}+a_{1}^{p}x_{1}^{p}}{a_{0}^{p}+a_{1}^{p}}\right)^{\frac{1}{p}}$
$\displaystyle=$
$\displaystyle\\!aC(H_{p}((a_{0}x_{0},a_{0}),(a_{1}x_{1},a_{1}))$

This completes the proof.

This means that if we multiply each color by the same amount, the final
computed color will also be multiplied by the same amount. Unfortunately, the
operation is not affine invariant; i.e. it is not invariant under translation.
As we discussed earlier, the reason we do not consider matrix transformations
on colors (as in projective alpha colors) is that the general transformation
is not invariant under rotation or other matrix manipulations. On the other
hand, for $p=1$, we can obtain the affine and rotation invariance, but that is
already known.

###  9.7 Qualitative Similarity

We also demonstrate that the family of operations is qualitatively similar to
the weighted average operator.

We base our model on the concept of qualitative similarity introduced by
Forbus et al. Forbus (1984) to compare functions. The following definition
comes directly from Forbus (1984).

Definition  Let $F_{x}:\mathfrak{D}\rightarrow\mathbb{R}$ and
$F_{y}:\mathfrak{D}\rightarrow\mathbb{R}$ denote functions $x=F_{x}(z)$ and
$y=F_{y}(z)$ where $z\in\mathfrak{D}$ denote any given domain and
$x,y\in\mathbb{R}$ denote real numbers. We then say that $F_{x}$ and $F_{y}$
are qualitatively proportional to each other if there exists a monotonically
increasing mapping $y=f(x)$. One advantage of this formulation is that there
is no need to explicitly derive the monotonically increasing function $f$. The
symbol $\propto_{+}$ is used to relate two qualitatively proportional entities
to each other as

$F_{y}\propto_{+}F_{x}.$

###### Lemma 9.5

Any power function $F_{y}(z)=z^{\gamma}$ where $a$ is any real number except
zero is qualitatively similar to $F_{x}(z)=z$.
Proof.  The proof is straightforward. $F_{y}(z)=(F_{x}(z))^{\gamma}$, i.e.
$y=f(x)=x^{\gamma}$, which is a monotonically increasing function for all
values of $a$ except zero. Note that even zero is formally monotonically
increasing but practically useless.

Remark: This is the reason why $\gamma$ correction is popular in image
manipulation. The $\gamma$ correction operation only creates resulting images
that are qualitatively similar to the original image.

It is not always easy to find a monotonically increasing function that relates
the two functions. Fortunately, there is another way to demonstrate that
$F_{x}$ and $F_{y}$ are qualitatively proportional by showing that the
following inequality is correct for all $x_{0}$ and $x_{1}$:

$\frac{F_{x}(z_{1})-F_{x}(z_{0})}{F_{y}(z_{1})-F_{y}(z_{0})}\geq 0$

If we fix all the other inputs, an operation becomes a function. Assume fixing
$v_{0}=(a_{0}x_{0},a_{0})$ and $a_{1}$ in $C(H_{p}(v_{0}.v_{1}))$ and varying
only $x_{1}$; we can call this function $F_{p}(z)$ where $z=v_{1}$.

###### Theorem 9.6

The functions

$F_{p}(z)=\left(\frac{a_{0}^{p}x_{0}^{p}+a_{1}^{p}z^{p}}{a_{0}^{p}+a_{1}^{p}}\right)^{\frac{1}{p}}$

and

$F_{1}(z)=\frac{a_{0}x_{0}+a_{1}z}{a_{0}+a_{1}}$

are qualitatively similar to each other.
Proof.  We want to show that all for all $p$, $z_{0}$ and $z_{1}$:

$\frac{F_{p}(z_{1})-F_{p}(z_{0})}{F_{1}(z_{1})-F_{1}(z_{0})}\geq 0$

Note that

$\displaystyle F_{p}(z_{0})$ $\displaystyle=$
$\displaystyle\left(\frac{a_{0}^{p}x_{0}^{p}+a_{1}^{p}z_{0}^{p}}{a_{0}^{p}+a_{1}^{p}}\right)^{\frac{1}{p}}$
$\displaystyle F_{p}(z_{1})$ $\displaystyle=$
$\displaystyle\left(\frac{a_{0}^{p}x_{0}^{p}+a_{1}^{p}z_{1}^{p}}{a_{0}^{p}+a_{1}^{p}}\right)^{\frac{1}{p}}$
$\displaystyle F_{1}(z_{0})$ $\displaystyle=$
$\displaystyle\frac{a_{0}x_{0}+a_{1}z_{0}}{a_{0}+a_{1}}$ $\displaystyle
F_{1}(z_{1})$ $\displaystyle=$
$\displaystyle\frac{a_{0}x_{0}+a_{1}z_{1}}{a_{0}+a_{1}}$

Now let us take the $p$th power of $F_{p}$ functions and compute the
difference:

$\displaystyle F_{p}(z_{1})^{p}-F_{p}(z_{0})^{p}$ $\displaystyle=$
$\displaystyle\frac{a_{1}^{p}(z_{1}^{p}-z_{0}^{p})}{a_{0}^{p}+a_{1}^{p}}$
$\displaystyle F_{1}(z_{1})-F_{1}(z_{0})$ $\displaystyle=$
$\displaystyle\frac{a_{1}(z_{1}-z_{0})}{a_{0}+a_{1}}$

Then if we divide these two into each other, we obtain

$\frac{F_{p}(z_{1})^{p}-F_{p}(z_{0})^{p}}{F_{1}(z_{1})-F_{1}(z_{0})}=A\frac{z_{1}^{p}-z_{0}^{p}}{z_{1}-z_{0}}$

where $A$ is a positive number given as

$A=\frac{(a_{0}+a_{1})a_{1}^{p-1}}{a_{0}^{p}+a_{1}^{p}}.$

Since $A$ is positive, we know that the rest are positive. This is because
power functions are qualitatively similar to each other as already shown in
Lemma 9.5. Note that $F_{p}(z)^{p}$ is also a monotonically increasing
function of $F_{p}(z)$. As a result, $F_{p}(z)$ is qualitatively similar to
$F_{1}(z)$ This concludes the proof.

$F_{p}\propto_{+}F_{1}.$

This theoretical result is important for practical applications. Assume that
we have already computed an average value and new input is fed to the
operation; based on this result, we know that we always guarantee that larger
inputs yield larger outputs, and vice versa.

##  10 Hölder-Minkowski Identity and Inverse

The Hölder-Minkowski Colors include inverses by allowing $a$ and $x$ to be
complex numbers. It is easy to see that $(0,0)$ is an identity element.

###### Theorem 10.1

The term $(0,0)$ is the identity element for all Hölder-Minkowski operations.
Proof.  Let $(x,a)$ be any element of an Hölder-Minkowski Color, let us now
combine it with $(0,0)$. The combination is the following:

$\displaystyle H_{p}((x,a),(0,0))$ $\displaystyle=$
$\displaystyle\left((x^{p}+0^{p})^{1/p},(a^{p}+0^{p})^{1/p}\right)$
$\displaystyle=$ $\displaystyle\left((x^{p})^{1/p},(a^{p})^{1/p}\right)$
$\displaystyle=$ $\displaystyle(x,a)$

Since combining $(0,0)$ with any element using the Hölder-Minkowski operation
gives the the element itself; this concludes the proof.

The introduction of the identity element into our set also helps us to
formally introduce Hölder-Minkowski inverse.

###### Theorem 10.2

$(x,a)^{-1_{p}}=\left(xe^{\frac{i(2n+1)\pi}{p}},ae^{\frac{i(2n+1)\pi}{p}}\right)$
is Hölder-Minkowski inverse if $n$ is any positive integer, including zero.
Proof.  Let $(x,a)$ and
$(y,b)=\left(xe^{\frac{i(2n+1)\pi}{p}},ae^{\frac{i(2n+1)\pi}{p}}\right)$ be
two elements of a Hölder-Minkowski Colors. We want to show that Hölder-
Minkowski operations:

$H_{p}((x,a),(y,b))=(0,0)$

Now, let us plug these two into

$\displaystyle H_{p}((x,a),(y,b))$ $\displaystyle=$
$\displaystyle(x^{p}+y^{p})^{\frac{1}{p}},(a^{p}+b^{p})^{\frac{1}{p}}$
$\displaystyle=$
$\displaystyle\left(x^{p}+\left(xe^{\frac{i(2n+1)\pi}{p}}\right)^{p}\right)^{\frac{1}{p}},\left(a^{p}+\left(ae^{\frac{i(2n+1)\pi}{p}}\right)^{p}\right)^{\frac{1}{p}}$
$\displaystyle=$
$\displaystyle(x^{p}+x^{p}e^{i(2n+1)\pi})^{\frac{1}{p}},(a^{p}+a^{p}e^{i(2n+1)\pi})^{\frac{1}{p}}$
$\displaystyle=$
$\displaystyle(x^{p}-x^{p})^{\frac{1}{p}},(a^{p}-a^{p})^{\frac{1}{p}}$
$\displaystyle=$ $\displaystyle(0,0)$

This concludes the proof.

This theorem demonstrates the need for complex numbers. Even if we allow $a$
and $x$ to be real numbers (positive and negative), inverse exists only for
odd integer values $p$ where $p=2n+1$. For even integers, there is no inverse
with real numbers. The number of inverse elements is $p$ for integers. For
irrational numbers, there are infinitely many inverse elements. This result is
useful in practice. Assume that we have a dynamic scene where an object is
moving. The impact of that object can be removed from some shading points and
added to other shading points. The major impact of this property, which is
called constant time update-ability in implicit surfaces Akleman and Chen
(1999), is that we do not have to re-render the whole scene to make an update
if we use this during rendering. In fact, negative lights are already being
used in current practice to make changes. People even use negative lights to
darken some areas. Since these approaches correspond to the $p=1$ case, our
algebraic structures turn these practical solutions into formally consistent
methods.

##  11 Examples of Hölder-Minkowski Colors

In this section, we provide a set of examples of Hölder-Minkowski Colors. They
can be used according to the problems to be solved.

###  11.1 Algebralization of the Standard Model

Our basic algebraic structure is the generalization of the standard model in
computer graphics, which is based on the rendering equation Kajiya (1986).
Note that the rendering equation is approximated using summation. Therefore,
it can be implemented using $H_{1}$. For generalization, it is sufficient to
add zero and negative elements by allowing all real numbers.

  * •

$x$, $y$, $z$ or $a$, $b$, $c$: real scalars including negative real numbers
and zero.

  * •

$\mathbf{v}=(x,0)$: The Minkowski element.

  * •

$\mathbf{v}=(0,0)$: The identity element.

  * •

$\mathbf{v^{\prime}}=(-x,0)$: The inverse element of $\mathbf{v}=(x,0)$.

  * •

$H_{1}((x_{0},0),(x_{1},0))=((x_{0}+x_{1}),0)$: The addition operator. The
result is a vector.

  * •

$b(x,0)=(bx,0)$: Multiplication by scalar, where $b$ is material.

It is straightforward to extend the standard model into this basic algebraic
structure. All we need is to add negative numbers, which is already done in
practice. However, it is critical not to add subtraction. It should be
implemented as adding two numbers, one of them as a complement. Note that in
practice it is acceptable to ignore $0$ in $(x,0)$, and use $x$. This is not
really that unusual. Even for 3D vectors, we use $(x,y,z)$, not $(x,y,z,0)$.

Since the operation $H_{1}$ does not cause one to obtain complex numbers, this
particular structure is also consistent. The only issue with this particular
structure, it does not allow wave-type of operations since for those we need
phase shifts that can be created by complex numbers.

###  11.2 Extension of the Basic Model to Complex Numbers

Extending the basic model to handle wave-type operations is straightforward.
We can simply allow complex numbers with $H_{1}$ to be over vectors as
follows.

  * •

$x$, $y$, $z$ or $a$, $b$, $c$: complex scalars.

  * •

$\mathbf{v}=(x,0)$: The Minkowski element.

  * •

$\mathbf{v}=(0,0)$: The identity element.

  * •

$\mathbf{v^{\prime}}=(-x,0)$: The inverse element of $\mathbf{v}=(x,0)$.

  * •

$H_{1}((x_{0},0),(x_{1},0))=((x_{0}+x_{1}),0)$: The addition operator. The
result is a vector.

  * •

$b(x,0)=(bx,0)$: Multiplication by scalar, where $b$ is material.

This extension is useful to obtain additional power. In this paper, we did not
provide any example, but it can be possible to get examples that are similar
to those shown in Figures 3 and 6 .

###  11.3 Extended Barycentric Models with Hölder elements

For barycentric models, we need to extend elements to point (or Hölder)
elements. We still need to work with $H_{1}$ to obtain barycentric operations
as follows:

  * •

$x$, $y$, $z$ or $a$, $b$, $c$: complex scalars.

  * •

$\mathbf{v}=(x,a)$: The Hölder or Minkowski element ($a$ can also be 0).

  * •

$\mathbf{v}=(0,0)$: The identity element.

  * •

$\mathbf{v^{\prime}}=(-x,-a)$: The inverse element of $\mathbf{v}=(x,a)$.

  * •

$H_{1}((x_{0},a_{0}),(x_{1},a_{1}))=((x_{0}+x_{1}),a_{0}+a_{1})$: The addition
operator.

  * •

$b(x,a)=(bx,ba)$: Multiplication with scalar.

As we have proven in Theorem 9.2, if $a$’s are positive real numbers,
$H_{1}((x_{0},a_{0}),(x_{1},a_{1}))$ is a Barycentric operator. Since the
operator is associative, we can generalize for any barycentric case. For
instance, let $B_{i}(t)$ denote always-positive real basic functions for
$i=0,1,\ldots,n$. Examples of such functions are B-spline or Bézier basis
functions. Now, the following function gives us a rational parametric curve in
the color space where $w_{i}$ can be any positive real number as

$H_{1}(w_{0}B_{0}(t)(x_{0},1),w_{1}B_{1}(t)(x_{1},1),\ldots
w_{n}B_{n}(t)(x_{n},1))$

Similarly, we can produce rational parametric surfaces. The advantage of
Barycentric formulation is that we can design any desired shader easily. The
advantage of even simpler interpolation is shown in Figures 3 and 6. If $x$’s
are complex, we can obtain unusual results in compositing two images. Now, if
we replace $b$’s with complex numbers, it is possible to extrapolate the
colors.

###  11.4 Generalized Structures with Hölder elements

Generalized structures are simply extensions of barycentric forms to general
$H_{p}$ operations. In this paper, we have provided two cases that can
demonstrate the need for $H_{p}$ operations. The first is to remove derivative
discontinuities at zero (see Figures 1 and 2) and the second is to improve
filtering operations (see Figure 4).

An interesting approach in these structures is to represent materials as
Hölder elements in the form of $(0,a)$ instead of the multiplicative term $b$.
This does not really fit the standard model. However, for some non-
photorealistic rendering applications, it can be appropriate to use.

We must point out that decoupling different frequencies is critical for
turning general $H_{p}$ operations into commutative and associative
operations. Because of these commutativity and associativity, it is possible
to update a rendering when lights changed, moved, or removed, materials
changed, or shapes moved, or removed.

Using the same conceptual framework, it is also possible to couple different
frequencies. However, this can only be done using $H_{1}$. It also comes with
a price of losing commutativity. In the next subsection, we demonstrate the
existence of matrix algebraic case that can allow coupling different
frequencies.

###  11.5 On Matrix Models

Now, assume that $b$’s are not just complex numbers, but periodic functions in
the form of $\sum_{m}^{M_{1}}re^{iw_{m}t+\theta_{m}}$. By using these
multiplication terms, we can shift frequencies to obtain other frequencies for
the $H_{1}$ operation. Assume that we have three terms, i.e. $M=3$. Without
loss of generality, we can call them red, green, and blue, which are given as
three elements $(x_{r},0)$, $(x_{g},0)$, and $(x_{b},0)$. Each term can be
multiplied by periodic functions consisting of three terms as follows:

$(b_{r,r}+b_{r,g}+b{r,b})(x_{r},0)$ $(b_{g,r}+b_{g,g}+b{g,b})(x_{b},0)$
$(b_{b,r}+b_{b,g}+b{b,b})(x_{g},0)$

where $b_{g,r}$ moves green to red, for example. Note that in this case, we do
not produce any frequency other than those related to red, green, and blue
with the $H_{1}$ operation. The whole operation can be written in matrix form
as follows:

$\displaystyle\begin{pmatrix}(x^{\prime}_{r},0)\\\ (x^{\prime}_{g},0)\\\
(x^{\prime}_{b},0)\end{pmatrix}=\begin{pmatrix}b_{r,r}&b_{g,r}&b_{b,r}\\\
b_{r,g}&b_{g,g}&b_{b,g}\\\
b_{r,b}&b_{g,b}&b_{b,b}\end{pmatrix}\begin{pmatrix}(x_{r},0)\\\ (x_{g},0)\\\
(x_{b},0)\end{pmatrix}=M\begin{pmatrix}(x_{r},0)\\\ (x_{g},0)\\\
(x_{b},0)\end{pmatrix}$ (3)

In this case, $M$ is material matrix it can also shift colors from red to
green, green to blue, and so on. The number of elements can be more than three
to have more control. We have simplified it to demonstrate the idea. Such an
operation can particularly be useful non-photorealistic rendering application
where we may want to change hues. This form is still useful since the matrices
are associative. We can still concatenate material effects using the
associative property.

There are several limitations in this case. This operation is not necessarily
commutative. Note that in commutative case we did not allow different channels
to impact each other. Therefore, in this case, we cannot change one of the
materials along a set of reflections. In our standard structures, we can
change one the materials since material effects are simply multiplication with
a complex or real scalar. That operation is commutative, and we can always
invert it.

Therefore, it is not surprising that we cannot use such functional
multiplicative terms $b$ for the general $H_{p}$ case. This formulation is
possible only for $H_{1}$, since the operation $H_{1}$ is linear. Another
issue is that this formulation will not provide a mathematically consistent
representation of projective alpha colors using $\alpha$ in terms of $a$ such
as $a_{r}=a_{b}=a_{g}=\alpha$. It is also important to note that the operation
involving the associative $\alpha$ is also different. Therefore, the only way
to include $\alpha$ is by considering $\alpha$ as just another multiplicative
term. We can then create a version of projective alpha colors using $4\times
4$ matrices.

$\displaystyle\begin{pmatrix}(x^{\prime}_{r},0)\\\ (x^{\prime}_{g},0)\\\
(x^{\prime}_{b},0)\\\ \alpha^{\prime}\\\
\end{pmatrix}=\begin{pmatrix}b_{r,r}&b_{g,r}&b_{b,r}&(x_{\alpha,r},0)\\\
b_{r,g}&b_{g,g}&b_{b,g}&(x_{\alpha,b},0)\\\
b_{r,b}&b_{g,b}&b_{b,b}&(x_{\alpha,b},0)\\\ 0&0&0&b_{\alpha,\alpha}\\\
\end{pmatrix}\begin{pmatrix}(x_{r},0)\\\ (x_{g},0)\\\ (x_{b},0)\\\ \alpha\\\
\end{pmatrix}$ (4)

The first three terms in the last row must be zero, since we have not defined
multiplicative inverses of Minkowski elements to obtain scalars. This also
demonstrates that our projective space is conceptually different than
projective alpha colors.

(a) Original Images

(b) $p=-2$

(c) $p=-1$

(d) $p=-0.5$

(e) $p=0.5$

(f) $p=1$

Figure 4: An example of the effect of the value of $p$ on the aliased
boundaries. Bottom images are details. In this case, we use the $15\times 15$
box filter by changing the values to see the impact of the $p$ value on
aliasing.

(a) $p=2$

(b) $p=3$

(c) $p=4$

(d) $p=0.5$ followed by $p=-0.5$

(e) $p=1$ followed by $p=-1$

(f) $p=2$ followed by $p=-2$

Figure 5: Following up the Figure 4 demonstrating more examples on the effect
of the value of $p$ on the aliased boundaries. We observe that $p=1$ followed
by $p-1$ gives the best results, which is similar to erosion followed by
dilation.

##  12 Examples of Applications

There are three main applications of this set of algebraic structures: (1)
Rendering, (2) Compositing, and (3) Filtering. We provided earlier a few
examples of rendering and compositing that cannot be obtained without the
Hölder-Minkowski framework. In the section, we provide additional examples and
discuss how to use the Hölder-Minkowski framework in filtering and
composition. This section is just to demonstrate the existence of potential
applications. The full treatment requires a deeper analysis.

###  12.1 Low-Pass Filtering

Based on our generalized operations’ associative property, we can reformulate
the generalized nonlinear filters as an extension of classical convolution
filters as follows:

$\displaystyle w^{\prime}c^{\prime}_{(x,y)}$ $\displaystyle=$
$\displaystyle\left(\sum\limits_{i=0}^{2n}{}\sum\limits_{j=0}^{2m}{w_{(i,j)}^{p}c_{(x+i-n,y+j-m)}^{p}}\right)^{1/p}$
$\displaystyle w^{\prime}$ $\displaystyle=$
$\displaystyle\left(\sum\limits_{i=0}^{2n}{}\sum\limits_{j=0}^{2m}{w^{p}_{(i,j)}}\right)^{1/p}$
$\displaystyle c^{\prime}_{(x,y)}$ $\displaystyle=$
$\displaystyle\left(\frac{\sum\limits_{i=0}^{2n}{}\sum\limits_{j=0}^{2m}{w_{(i,j)}^{p}c_{(x+i-n,y+j-m)}^{p}}}{\sum\limits_{i=0}^{2n}{}\sum\limits_{j=0}^{2m}{w^{p}_{(i,j)}}}\right)^{1/p}$

where $c_{(x,y)}$ and $c^{\prime}_{(x,y)}$ is the old and new colors of pixel
$(x,y)$ and $w_{(i,j)}$ are positive real numbers (kernel weights), $n$ and
$m$ are two integers, and the filter size $(2n+1)\times(2m+1)$. As discussed
earlier $p$ can be any real number except zero and the values of can create
different filters.

  * •

$p=1$: This is the classical convolution blur filter.

  * •

$p\rightarrow\infty$: The operation is maximum, and this is a dilation filter
(or erosion depending on what is considered inside).

  * •

$p\rightarrow-\infty>$: The operation is minimum and this is an erosion
filter.

Note that the use of very large numbers of $p$ does not make sense
computationally. Instead, we can simply use the maximum and minimum. In those
cases, the filters will be as follows:

$c^{\prime}(x,y)=\frac{max\left(w_{(i,j)}c_{(x+i-n,y+j-m))}\right)}{max\left(w_{(i,j)}\right)}\;\;\;\forall\;i,j$

$c^{\prime}(x,y)=\frac{min\left(w_{(i,j)}c_{(x+i-n,y+j-m)}\right)}{max\left(w_{(i,j)}\right)}\;\;\;\forall\;i,j$

(a) $r_{0}=(1,1,1)$ white amplitude image.

(b) $\theta_{0}$ phase image.

(c) $r_{1}=(1,1,1)$: another white amplitude image.

(d) $\theta_{1}=(1,1,1)$: white phase image.

(e) Amplitude of
$0.5(r_{0}e^{i\theta_{0}}+r_{1}e^{i\theta_{1}})$

Figure 6: An example that demonstrates how to create complex representations
using multiple images. This example also demonstrates the impact of the phase
term. Note that each image consists of three channels, red, green, and blue.
We assume that in phase images color value $c$ corresponds to $2c\pi$. For
example, white-phase images correspond to $(2\pi,2\pi,2\pi)$.

We do not know whether Minkowski average benefit from Fast Fourier transform
except the obvious $p=1$ case. Since computation time is important in
interactive applications, we have implemented Hölder-Minkowski filter in
fragment shader using GLSL. We have observed that it is possible to obtain
interactive real-time results. Therefore, we do not expect that the
computation time poses any problem for Hölder-Minkowski filters. Therefore,
Hölder-Minkowski formulations may also be useful in deep learning applications
since they provide fast computation along with a single parameter to move one
filter and another. In terms of visual quality, we observed that $p=1$
followed by $p-1$ provides the best results to remove aliasing in the
boundaries (see Figure 4). In fact, values such as $p=0.5$ and $p=-0.5$ also
give good results. This direction needs much more research.

###  12.2 Compositing

Let $x$ and $\alpha$ denote the color and transparency of a given pixel in an
image $I$. Then, the associative over operationPorter and Duff (1984) of
foreground and background images, $I_{1}$ and $I_{0}$ is given as

$\displaystyle\alpha\;x$ $\displaystyle=$
$\displaystyle\alpha_{1}\;x_{1}+(1-\alpha_{1})\;x_{0}$ $\displaystyle\alpha$
$\displaystyle=$ $\displaystyle\alpha_{1}+(1-\alpha_{1})\;\alpha_{0}.$

where $\alpha x$ is usually called pre-multiplied color. Note that this
operation is associative but not commutative. In operations we also want
commutativity Hölder-Minkowski operations can provide an alternative. There
can be two potential usages: (1) $\alpha$ can be used as a common $w$ for all
channels; (2) an additional image can be used as color channels of $w$.

Hölder-Minkowski operations can also be used in conjunction with generalized
compositing operations where compositing is defined as

$\displaystyle\alpha\;x$ $\displaystyle=$
$\displaystyle\alpha_{1}\;F+(1-\alpha_{1})\;x_{0}$ $\displaystyle\alpha$
$\displaystyle=$ $\displaystyle\alpha_{1}+(1-\alpha_{1})\;\alpha_{0}.$

where $F$ can be any function of $x_{1}$ and $x_{0}$. Some of these
operations, such as maximum and minimum, produce a color, i.e., a number in a
desired range. Some functions such as multiplication, i.e. $F=x_{1}x_{0}$,
produce numbers in the range of $[0,1]$ if the inputs also come from the same
range $[0,1]$. Some functions such as $F=x_{1}+x_{0}$, on the other hand, can
produce numbers outside of any range. This requires the cropping of numbers
into the desired range. In applications where cropping is not desired, it
makes sense to use an appropriate Minkowski average. For example, we can
replace multiplication with $C(H_{-1})$ and addition with $C(H_{1})$. As we
discuss next, it is also possible to extend Minkowski average to include
operations such as negation with complex algebra. Figures 3 and 6 demonstrate
the effect of phase term.

##  13 Discussion

In this paper, we introduced Hölder-Minkowski Colors that can be used in a
broad range of applications. We have demonstrated that Hölder-Minkowski Colors
have a wide range of properties. These operations are both commutative and
associative in a projective space. They are scale-invariant and guarantee that
the results of the operations are always between maximum and minimum numbers.
They are also qualitatively similar to a weighted average. This theoretical
framework is promising; however, there is still a need for a significant
amount of additional work to identify its full power in practical
applications. There are also many issues that need to be addressed.

We have also demonstrated that Hölder-Minkowski Colors can be used with
relative theoretical ease in practical applications such as rendering,
compositing, and filtering. In the paper, we have devised extremely simple
cases that strongly suggest that the new algebraic structures can provide
additional power in rendering, compositing, and filtering. We purposely avoid
complicated cases to avoid practical distractions in the establishment of
theoretical foundations. For example, in the example provided in Figure 4, the
weights and colors are real positive numbers. In other words, we did not
attempt to try complex weights that can potentially provide new opportunities.
However, there is a need for a theoretical understanding of how to produce
these weights. Using complex coefficients, we no longer work with
interpolating schemes, as visually demonstrated in Figures 3 and 6.

The need for an extension to complex numbers for Hölder-Minkowski inverse may
initially be considered a disadvantage, since the need for Hölder-Minkowski
inverse is not immediately obvious for most applications. We want to point out
that the Hölder-Minkowski inverse is also useful as a representational power.
For instance, even now some color operations, such as high-pass filtering,
result in negative numbers. Having Hölder-Minkowski inverse makes
representation complete and consistent. The discussion in section 10, provides
a basic framework. However, additional theoretical development for dealing
with Hölder-Minkowski inverses. One problem is that the inverse does not
really exist for maximum and minimum operations. In these cases, $p$
corresponds to $\infty$ or $-\infty$, and the inverse obtained in Section 10
is practically useless. Computation of the inverse will also be a problem for
large values of $p$. On the other hand, having all range of values of $p$ is
still useful to choose appropriate $p$ values that can work reasonably well.

(a) $p=-1.0$

(b) $p=-2.0$

(c) $p=-2.5$

Figure 7: Another example of a sphere illuminated by nine point lights located
in the vertices of a $3\times 3$ square grid using a simplified form of
equations. In this case, discontinuities exist in actual shadow functions. The
images show how the different Hölder-Minkowski cleans up discontinuities in
the shadow functions. In this case, no value of $p$ corresponds exactly to the
standard operations in computer graphics, since we simultaneously provide a
compromise between addition and minimum. Parameter values smaller than $p=-1$
create smoother results by removing visual artifacts caused by derivative
discontinuity. Very small values of $p$ approach the minimum operator and
create a sharp shadow boundary

(a) $p=-3.0$

(b) $p=-4.0$

(c) $p\rightarrow-\infty$

Figure 8: More $p$ values for example shown in Figure 7. Very small values of
$p$ approach the minimum operator and create a sharp shadow boundary

Another potential approach is to replace the maximum of the minimum operators
with some reasonably large values of $p$. One issue that needs attention is
that averaging operators can only work with positive numbers or with some
special cases, as we have discussed in the paper. For example, we cannot
directly change $max(\cos\theta,0)$ into a Minkowski term. Let
$\cos\theta=-1$, then $((-1)^{p}+0^{p})=-1$ regardless of $p$ value (see
subsection 9.2 that explain the reason). This is definitely not an
approximation of the maximum operator. However, there are ways to avoid this
problem. For instance, the following formula

$C(H_{1}(H_{p}((\cos\theta+1,2),(1,1)),(-1,-1))),$

is an approximation of $max(\cos\theta,0)$ as

$\lim_{p\rightarrow\infty}\frac{(\cos\theta+1)^{p}+1)^{1/p}+(-1)}{(2^{p}+1)^{1/p}+(-1)}\longrightarrow
max(\cos\theta,0)$

To exploit the associativity power of any Hölder-Minkowski Color, we need to
use the same $p$ value for all operations. Therefore, it may be better to
replace $H_{1}(.,.)$ with $H_{p}(.,.)$ to simplify the equation. We tried to
do this by replacing $H_{1}(.,.)$ with $H_{p}(.,.)$ and replacing $(-1,-1)$
with the Hölder-Minkowski inverse of $(1,1)$. As a result, the term $(1,1)$ is
canceled and we ended up with a simpler and nicer formula regardless of the
value of $p$ as follows:

$C((H_{p}((\cos\theta+1,2),(0,0)))=\frac{\cos\theta+1}{2}.$

This formula, which was first introduced by Gooch & Gooch Gooch et al. (1998),
is widely used for non-photorealistic rendering. In this case, we also have to
point out that this particular $\cos\theta$ term is used in part of the
material. Therefore, it does not need to be formulated by Hölder-Minkowski.
These approximations can be obtained using spline formulations Bartels et al.
(1995). However, such examples demonstrate potential usage beyond color
applications.

An interesting avenue for future work would be to extend the Hölder-Minkowski
average for geometry applications. The Hölder-Minkowski average can
potentially be used in implicit shape modeling as an operation in CSG trees
Wyvill et al. (1999). However, this suggests that we allow complex numbers as
function values. This change also requires a major paradigm shift in implicit
modeling. The relationship with parametric shape modeling is not even obvious.
On the other hand, the partition of unity property suggests that there can be
a relationship.

We want to point out that one limitation of Hölder-Minkowski Colors is that
they are not closed under translation. This limitation actually makes sense
for dealing with colors. For instance, consider rendering: if we add $(x,0)$
to all lights by changing them exactly the same way, we cannot simply add
$(x,0)$ to all rendering results. On the other hand, scale independence makes
sense for colors. Consider rendering again: if all lights are multiplied by
the same amount, we can scale the resulting computation by the same amount
because of the scale Independence, which makes logical sense.

Although the premise of the Hölder-Minkowski Colors seems to be clear based on
our initial results, it is necessary to take small steps using carefully
designed case studies. In the future, if the images have also been produced
using Hölder-Minkowski colors, phase terms can be used for further control of
the results. For best practice, we must even develop image file formats that
can allow complex numbers. We need to convert complex numbers into positive
numbers only when we display colors as shown in Figures 3 and 6.

The major cause for aliasing in rendering is discontinuities. They introduce
infinite frequencies, and it is not possible to resolve them just by
increasing sampling frequencies. Therefore, adding noise to avoid aliasing is
still the best method to avoid aliasing Cook et al. (1984); Cook (1986). On
the other hand, if we turn discontinuities into derivative discontinuities at
zero, Hölder-Minkowski operations can be used to remove artifacts. Turning
discontinuities into derivative discontinuities at zero for shadows is
potentially possible by changing the opacity of the object from one to zero
near the boundary. We briefly experimented with this idea and obtained
promising results (for a simple example that demonstrates the idea, see Figure
7). However, this direction needs further research.

## References

  * (1)
  * Akleman (1996) Ergun Akleman. 1996.  Interactive construction of smoothly blended star solids. In _Graphics interface_. Canadian Computer Graphics Society, Torono, CA, 159–167.
  * Akleman and Chen (1999) Ergun Akleman and Jianer Chen. 1999.  Constant time updateable operations for implicit shape modeling. In _Proceedings of Implicit Surfaces_ , Vol. 99. IEEE, NewYork, NY, 73–80.
  * Akleman et al. (2016) Ergun Akleman, S Liu, and Donald House. 2016.  Barycentric shaders: Art directed shading using control images. In _Proceedings of the Joint Symposium on Computational Aesthetics and Sketch Based Interfaces and Modeling and Non-Photorealistic Animation and Rendering_. Eurographics Association, Geneva, Switzerland, 39–49.
  * Banterle et al. (2017) Francesco Banterle, Alessandro Artusi, Kurt Debattista, and Alan Chalmers. 2017.  _Advanced high dynamic range imaging_.  CRC press, NewYork, NY.
  * Barr (1981) Alan H Barr. 1981.  Superquadrics and angle-preserving transformations.  _IEEE Computer graphics and Applications_ 1, 1 (1981), 11–23.
  * Bartels et al. (1995) Richard H Bartels, John C Beatty, and Brian A Barsky. 1995.  _An introduction to splines for use in computer graphics and geometric modeling_.  Morgan Kaufmann, San Francisco, CA.
  * Blanc and Schlick (1995) Carole Blanc and Christophe Schlick. 1995.  Extended field functions for soft objects. In _Proceedings of Implicit Surfaces_ , Vol. 95. IEEE, NewYork, NY, 21–32.
  * Blinn (1994) James F Blinn. 1994.  Compositing. 1. theory.  _IEEE Computer Graphics and Applications_ 14, 5 (1994), 83–87.
  * Bloomenthal et al. (1997) Jules Bloomenthal, Chandrajit Bajaj, Jim Blinn, Brian Wyvill, Marie-Paule Cani, Alyn Rockwood, and Geoff Wyvill. 1997.  _Introduction to implicit surfaces_.  Morgan Kaufmann, San Francisco, CA.
  * Castaneda and Akleman (2017) Saif Castaneda and Ergun Akleman. 2017.  Shading with painterly filtered layers: A technique to obtain painterly portrait animations. In _Proceedings of the Symposium on Non-Photorealistic Animation and Rendering_. ACM, NewYork, NY, 8.
  * Clifford and Akleman (2020) Jack Clifford and Ergun Akleman. 2020.  A Barycentric Shading Process to Create DynamicPaintings in Contemporary Fauvist-ExpressionistStyle with Reflections. In _Proceedings of EurasiaGraphics’2020_. EurasiaGraphics, EurasiaGraphics, Mugla, Turkey, 32–40.
  * Cohen et al. (2001) Elaine Cohen, Richard F Riesenfeld, and Gershon Elber. 2001.  _Geometric modeling with splines: an introduction_.  AK Peters, Natick, Ma.
  * Cook (1986) Robert L Cook. 1986.  Stochastic sampling in computer graphics.  _ACM Transactions on Graphics (TOG)_ 5, 1 (1986), 51–72.
  * Cook et al. (1984) Robert L Cook, Thomas Porter, and Loren Carpenter. 1984.  Distributed ray tracing.  _ACM SIGGRAPH computer graphics_ 18, 3 (1984), 137–145.
  * Crespin et al. (1996) Benoit Crespin, Carole Blanc, and Christophe Schlick. 1996.  Implicit sweep objects.  _Computer Graphics Forum_ 15, 3 (1996), 165–174.
  * Crowe (1994) Michael J Crowe. 1994.  _A history of vector analysis: The evolution of the idea of a vectorial system_.  Courier Corporation, Chelmsford, MA.
  * Debevec and Malik (2008) Paul E Debevec and Jitendra Malik. 2008.  _ACM SIGGRAPH 2008 coursenotes: Recovering high dynamic range radiance maps from photographs_.  ACM, NewYork, NY.
  * Drebin et al. (1988) Robert A Drebin, Loren Carpenter, and Pat Hanrahan. 1988.  Volume rendering.  _ACM Siggraph Computer Graphics_ 22, 4 (1988), 65–74.
  * Du and Akleman (2016) Yuxiao Du and Ergun Akleman. 2016.  Charcoal rendering and shading with reflections. In _ACM SIGGRAPH 2016 Posters_. ACM, ACM, NewYork, NY, 32.
  * Du and Akleman (2017) Yuxiao Du and Ergun Akleman. 2017.  Designing look-and-feel using generalized crosshatching. In _ACM SIGGRAPH 2017 Talks_. ACM, ACM, NewYork, NY, 40.
  * Farin (2014) Gerald Farin. 2014.  _Curves and surfaces for computer-aided geometric design: a practical guide_.  Elsevier, NewYork, NY.
  * Foley et al. (1996) James Foley, Andries VanDam, Steven Feiner, and John Hughes. 1996.  _Computer graphics: principles and practice_.  Addison-Wesley, Boston, MA.
  * Forbus (1984) Kenneth D Forbus. 1984.  Qualitative process theory.  _Artificial intelligence_ 24, 1 (1984), 85–168.
  * Givant and Halmos (2008) Steven Givant and Paul Halmos. 2008.  _Introduction to Boolean algebras_.  Springer, NewYork, NY.
  * Gooch et al. (1998) Amy Gooch, Bruce Gooch, Peter Shirley, and Elaine Cohen. 1998.  A non-photorealistic lighting model for automatic technical illustration. In _Proceedings of the 25th annual conference on Computer graphics and interactive techniques_. ACM, NewYork, NY, 447–452.
  * Green (1976) DR Green. 1976.  The historical development of complex numbers.  _The Mathematical Gazette_ 60, 412 (1976), 99–107.
  * Hanson (1988) Andrew J Hanson. 1988.  Hyperquadrics: smoothly deformable shapes with convex polyhedral bounds.  _Computer vision, graphics, and image processing_ 44, 2 (1988), 191–210.
  * Hardy (1952) GH Hardy. 1952.  J.. E. Littlewood and G. Pólya, Inequalities.  _Cambridge Univ. Press, London and New York_ 2 (1952), 151–218.
  * Heeffer (2007) Albrecht Heeffer. 2007.  _Abduction as a strategy for concept formation in mathematics: Cardano postulating a negative_.  Technical Report. Colecçáo Documenta, Centro de Filosofia das Ciências da Universidade de Lisboa, Lisbon , Portugal. 179–194 pages.
  * Heeffer (2008) Albrecht Heeffer. 2008.  Negative numbers as an epistemic difficult concept: Some lessons from history. In _Proceedings of the History and Pedagogy of Mathematics Conference_. HPM, Ontario, Canada, 1–13.
  * Justice and Akleman (2018) Matthew Justice and Ergun Akleman. 2018.  A process to create dynamic landscape paintings using barycentric shading with control paintings. In _ACM SIGGRAPH 2018 Posters_. ACM, ACM, NewYork, NY, 30.
  * Kajiya (1986) James T Kajiya. 1986.  The rendering equation. In _Proceedings of the 13th annual conference on Computer graphics and interactive techniques_. ACM, NewYork, 143–150.
  * Liu and Akleman (2015) Siran Liu and Ergun Akleman. 2015.  Chinese ink and brush painting with reflections.  In _ACM SIGGRAPH 2015 Posters_. ACM, NewYork, NY, 1–1.
  * Maragos and Schafer (1987a) Petros Maragos and Ronald W Schafer. 1987a.  _Morphological Filters-Part 1: Their Set-Theoretic Analysis and Relations to Linear Shift-Invariant Filters._ Technical Report. Tech Report, Division of Applied Sciences, Harvard University, Cambridge, MA.
  * Maragos and Schafer (1987b) Petros Maragos and Ronald W Schafer. 1987b.  _Morphological Filters. Part 2. Their Relations to Median, Order-Statistic, and Stack Filters_.  Technical Report. Tech Report, Division of Applied Sciences, Harvard University, Cambridge, MA.
  * McClenon (1919) Rufus Buel McClenon. 1919.  Leonardo of Pisa and his Liber Quadratorum.  _The American Mathematical Monthly_ 26, 1 (1919), 1–8.
  * Mersereau and Dudgeon (1984) Russell M Mersereau and Dan E Dudgeon. 1984.  _Multidimensional digital signal processing_.  Prentice Hall, Englewood Cliffs, NJ.
  * Mitrinovic and Vasic (1970) Dragoslav S Mitrinovic and Petar M Vasic. 1970.  _Analytic inequalities_. Vol. 1.  Springer, NewYork, NY.
  * Oppenheim and Schafer (2014) Alan V Oppenheim and Ronald W Schafer. 2014.  _Discrete-time signal processing_.  Pearson Education, Fort Worth, TX.
  * Pasko et al. (1995) Alexander Pasko, Valery Adzhiev, Alexei Sourin, and Vladimir Savchenko. 1995.  Function representation in geometric modeling: concepts, implementation and applications.  _The Visual Computer_ 11, 8 (1995), 429–446.
  * Porter and Duff (1984) Thomas Porter and Tom Duff. 1984.  Compositing digital images.  _ACM Siggraph Computer Graphics_ 18, 3 (1984), 253–259.
  * Reinhard et al. (2010) Erik Reinhard, Wolfgang Heidrich, Paul Debevec, Sumanta Pattanaik, Greg Ward, and Karol Myszkowski. 2010.  _High dynamic range imaging: acquisition, display, and image-based lighting_.  Morgan Kaufmann, San Francisco, CA.
  * Ricci (1973) Antonio Ricci. 1973.  A constructive geometry for computer graphics.  _Comput. J._ 16, 2 (1973), 157–160.
  * Roberts (1963) Lawrence G Roberts. 1963.  _Machine perception of three-dimensional solids_.  Ph. D. Dissertation. Massachusetts Institute of Technology.
  * Smith (1995) Alvy Ray Smith. 1995.  Alpha and the history of digital compositing.  _URL: http://www. alvyray. com/Memos/7_alpha. pdf, zuletzt abgerufen am_ 24 (1995), 2010.
  * Subramanian and Akleman (2020) Meena Subramanian and Ergun Akleman. 2020.  A Painterly Rendering Approach to Create Still-Life Paintings with Dynamic Lighting.  In _ACM SIGGRAPH 2020 Posters_. ACM, NewYork, NY, 1–2.
  * Willis (2006) Philip Willis. 2006.  Projective alpha colour.  _Computer Graphics Forum_ 25, 3 (2006), 557–566.
  * Wyvill et al. (1999) Brian Wyvill, Andrew Guy, and Eric Galin. 1999.  Extending the csg tree. warping, blending and boolean operations in an implicit surface modeling system.  _Computer Graphics Forum_ 18, 2 (1999), 149–158.

##  Appendix A Algebraic Properties of Addition on Projective Space

In this appendix, we provide properties of addition. These results are
straightforward extensions of our general theorems. We have provided them here
for a special treatment of addition operation in case there is a need for some
clarification.

(a) A point in projective space (yellow circle). It can be considered as a ray
that starts at $(0,0)$, which intersects with $a=1$.

(b) A vector in projective space (cyan arrrow). It can be considered as a ray
starts at $(0,0)$ that is parallel to $a=1$.

(c) Adding a vector (blue arrow) to a point (yellow circle on the right)
produces another point (yellow circle on the left).

(d) Projection of sum of two points (two yellow circles) creates a point that
is the average of projections of these two points.

(e) The vector $(0,0)$ is the identity element. And the inverse element for a
point $(x,w)$ is $(-x,-w)$ for $H_{1}$ operation.

Figure 9: Elements of addition projective space: points & vectors, operations
over them, and identity elements.

###### Theorem A.1

Let $C(ax,a)=(x,1)$ is called a projection operator and let a set of points be
given as follows

$(a_{0}x_{0},a_{0});(a_{1}x_{1},a_{1});\ldots,(a_{n-1}x_{n-1},a_{n-1}).$

Then, the projection of their sum is a weighted average of their projected
points

$(x_{0},1);(x_{1},1);\ldots,(x_{n-1,1}).$

(See Figure 9). The process automatically satisfies the partition of unity
property if and only if $s_{i}=a_{i}/a_{0}$ are all positive real numbers.

Proof.  Note that the projection of their sum can be rewritten as follows:

$\displaystyle C\left(\sum_{i=0}^{n-1}a_{i}x_{i},\sum_{i=0}^{n-1}a_{i}\right)$
$\displaystyle=$
$\displaystyle\left(\frac{\sum_{i=0}^{n-1}a_{i}x_{i}}{\sum_{i=0}^{n-1}a_{i}},1\right)$
$\displaystyle=$
$\displaystyle\left(\sum_{i=0}^{n-1}\frac{a_{i}}{\sum_{i=0}^{n-1}a_{i}}x_{i},1\right)$
$\displaystyle=$
$\displaystyle\left(\sum_{i=0}^{n-1}a_{0}\frac{s_{i}}{a_{0}\sum_{i=0}^{n-1}s_{i}}x_{i},1\right)$
$\displaystyle=$
$\displaystyle\left(\sum_{i=0}^{n-1}\frac{s_{i}}{\sum_{i=0}^{n-1}s_{i}}x_{i},1\right)$

Then, the weights satisfy the partition of unity since

$0\leq\frac{s_{i}}{\sum_{i=0}^{n-1}s_{i}}\leq 1$

and

$\sum_{i=0}^{n-1}\left(\frac{s_{i}}{\sum_{i=0}^{n-1}s_{i}}\right)=\frac{\sum_{i=0}^{n-1}s_{i}}{\sum_{i=0}^{n-1}s_{i}}=1$

This completes the proof.

In other words, all $a_{i}$ are on the same ray emanating from the origin, the
projection operation still works as a weighted average of projected points
even for complex numbers, and it still can produce a point inside the convex
hull given by $(x_{0},1);(x_{1},1);\ldots,(x_{n-1},1)$ by providing
barycentric algebraic properties. The advantage of this formulation is that we
can also extrapolate in a controlled manner.

###### Theorem A.2

Let two points be given as follows

$(a_{0}x_{0},a_{0});(a_{1}x_{1},a_{1})$

and $s_{1}=a_{1}/a_{0}$ be any real number. Then the projection of their sum
can be any point on the $(x_{0},1);(x_{1},1)$ line.

Proof.  Note that the projection of their sum can be rewritten as follows:

$\displaystyle C\left(a_{0}x_{0}+a_{1}x_{1},a_{0}+a_{1}\right)$
$\displaystyle=$
$\displaystyle\left(\frac{a_{0}x_{0}+a_{1}x_{1}}{a_{0}+a_{1}},1\right)$
$\displaystyle=$
$\displaystyle\left(\frac{a_{0}(x_{0}+s_{1}x_{1})}{a_{0}(1+s_{1})},1\right)$
$\displaystyle=$
$\displaystyle\left(\frac{(x_{0}+s_{1}x_{1})}{(1+s_{1})},1\right)$
$\displaystyle=$
$\displaystyle\left(\frac{(s_{1}(x_{1}-x_{0})+(1+s_{1})x_{1})}{(1+s_{1})},1\right)$
$\displaystyle=$
$\displaystyle\left(x_{0}+\frac{s_{1}}{(1+s_{1})}(x_{1}-x_{0}),1\right)$

This is an equation of a line segment that connects $(x_{0},1)and(x_{1},1)$
for positive real $s_{1}$ values. This is consistent with the previous
theorem. For real values of $s_{1}$ this gives us an equation of an infinite
line that passes from $(x_{0},1)and(x_{1},1)$. This completes the proof.

This property is also useful since we can cover the whole plane including
$\infty$ without explicitly stating it since $\lim s_{1}\rightarrow-1$, the
line goes to $\infty$. If $a_{0}$ and $a_{1}$ are relatively complex (that is,
$s_{1}$ is a complex number), then we can obtain any point in the complex
plane. We will not prove the previous claim, since it is obvious. This
property provides intuitive control as follows. Positive real $s_{1}$ values
provide a line segment, real $s_{1}$ values provide the whole line, and non-
zero imaginary components allow us to cover entire complex domain. This
representation has additional power. It turns the weighted sum operation into
an associative operator.

###### Theorem A.3

Addition is associative.
Proof.  Let three points be given as follows

$(a_{0}x_{0},a_{0});(a_{1}x_{1},a_{1});(a_{2}x_{2},a_{2}).$

Now, let us check the associative property. By adding first
$(a_{0}x_{0},a_{0})$ and $(a_{1}x_{1},a_{1})$. Then adding
$(a_{2}x_{2},a_{2})$ to the sum we obtain the following:

$\displaystyle\left((a_{0}x_{0},a_{0})+(a_{1}x_{1},a_{1})\right)+(a_{2}x_{2},a_{2})=$
$\displaystyle\left((a_{0}x_{0}+a_{1}x_{1},a_{0}+a_{1})\right)+(a_{2}x_{2},a_{2})=$
$\displaystyle\left((a_{0}x_{0}+a_{1}x_{1}+a_{2}x_{2},a_{0}+a_{1}+a_{2})\right)$

Next, first add $(a_{1}x_{1},a_{1})$ and $(a_{2}x_{2},a_{2})$. Then adding
$(a_{0}x_{0},a_{0})$ to the sum we obtain the following:

$\displaystyle(a_{0}x_{0},a_{0})+\left((a_{1}x_{1},a_{1})+(a_{2}x_{2},a_{2})\right)=$
$\displaystyle(a_{0}x_{0},a_{0})+\left((a_{1}x_{1}+a_{2}x_{2},a_{1}+a_{2})\right)=$
$\displaystyle\left((a_{0}x_{0}+a_{1}x_{1}+a_{2}x_{2},a_{0}+a_{1}+a_{2})\right)$

They are exactly the same, and this completes the proof.

This particular case is trivial; we demonstrate associativity later for
general operations. The addition operation is also commutative. We do not
provide it since it is even simpler than the previous proof. However, the
impact of this property is that this formulation is different from an
associative alpha operation, which is not commutative. Non-commutativity is a
desired feature for some applications that involve pixel-level occlusion. On
the other hand, for many other rendering operations, commutativity is useful
when there is no order dependency.

This introduction sets the stage for the next subject. In the next section, we
demonstrate how to obtain inverse operations.

###  A.1 Identity and Inverse Elements

We now want to point out that the identity element for addition exists in
homogeneous coordinates and is $(0,0)$. Note that these are actually null
functions that map the entire domain to zero that can be written as
$\mathbf{0}$. This is useful since we can now define inverse elements using an
identify element.

Now we can identify the inverse elements for any given point or vector. Let a
point or vector be denoted as $(x_{0},a_{0})$, where $a_{0}$ can be zero to
include vectors. Let the inverse of this point or vector denoted by again as
$(x_{1},a_{1})$, because of the definition of identity and inverse elements,
the following equality must hold:

$(x_{0},a_{0})+(x_{1},a_{1})=(0,0)$

This means that

$\displaystyle x_{1}$ $\displaystyle=$ $\displaystyle-x_{0}$ $\displaystyle
a_{1}$ $\displaystyle=$ $\displaystyle-a_{0}$

The first term is not unexpected. We already let negative numbers be used to
describe positions in the 3D space. On the other hand, the second term
suggests that we need negative numbers for $a$. Even the first term is
interesting in the sense that if we want to use the new representation for
colors, we also need to allow negative colors. This observation is critical
for problem-solving on color space, especially for compositing. In current
practice, digital compositing is a set of hacks. This provides an extended
algebra to handle digital compositing operations over a space of colors. This
extension means that single channel scalars such as $z,a$ can be any real
numbers.

Now, let us demonstrate the effect of this change in real photographs. Figure
10 shows a photograph of a real object, Mr. Photo head, taken under three
colored lights. Note that we gave details of an area that is the interface of
shadow and illuminated regions. Since this area is small enough, we can assume
that the change is linear and it is only effected by one of the lights. In
this case, the colors in the shadow and illuminated regions are picked as

$\mathbf{c_{0}}=(214,066,090)$ $\mathbf{c_{1}}=(200,132,209)$

respectively. In the projective space, they are given as
$(\mathbf{(}c_{1}),1)$ and $(\mathbf{(}c_{0}),1)$. Assume that light is a
binary function $t$, which is $1$ and $0$. Our linear parametric function will
be in the classical polynomial form as

$(\mathbf{c},1)=(\mathbf{a},1)+t(\mathbf{b},0)$

if we compute two parameters of this linear function, we find

$(\mathbf{a},1)=(\mathbf{(}c_{0}),1)=(214,066,090,1)$
$(\mathbf{b},0)=(\mathbf{(}c_{1}),1)-(\mathbf{(}c_{0}),1)=(\mathbf{(}c_{1}),1)+(-\mathbf{(}c_{0}),-1)=(-14,66,119,0)$

Note that the first term becomes negative. Note that the linear formula can
also be written in barycentric form as an interpolation of the two colors. In
that case, we do not need negative numbers as

$(\mathbf{c},1)=(\mathbf{(}c_{1}),1)t+(\mathbf{(}c_{0}),1)(1-t)$

Now, let us check another real photograph case shown in Figure 11. In this
case, we have another detail region that is at the intersection of two shadow
regions. Assume that the colored lights are given $t_{0}$ and $t1$ and that
they can only take Boolean values, i.e. $0$ or $1$. In this case, the colors
in four regions are picked as

$\mathbf{c_{00}}=(117,57,2)$ $\mathbf{c_{01}}=(230,55,33)$
$\mathbf{c_{10}}=(113,108,67)$ $\mathbf{c_{11}}=(222,100,87)$

If we again assume that the region is small enough, we can interpolate these
color points with a bilinear equation as follows:

$\displaystyle(\mathbf{c},1)$ $\displaystyle=$
$\displaystyle(1-t_{0})(1-t_{1})(\mathbf{c_{00}},1)+(1-t_{0})t_{1}(\mathbf{c_{01}},1)+$
$\displaystyle
t_{0}(1-t_{1})\;(\mathbf{c_{10}},1)+t_{0}t_{1}(\mathbf{c_{11}},1)$

In this barycentric form, all the numbers are positive. However, if we want to
use the classical polynomial form, we need

$\displaystyle(\mathbf{c},1)$ $\displaystyle=$
$\displaystyle(\mathbf{c_{00}},1)+$ $\displaystyle
t_{1}((\mathbf{c_{01}},1)+(-\mathbf{c_{00}},-1))+$ $\displaystyle
t_{0}((\mathbf{c_{10}},1)+(-\mathbf{c_{00}},-1))+$ $\displaystyle
t_{0}t_{1}((\mathbf{c_{11}},1)+(-\mathbf{c_{10}},-1)+(-\mathbf{c_{01}},-1)+(\mathbf{c_{00}},1))$
$\displaystyle=$ $\displaystyle(117,57,2,1,1)+$ $\displaystyle
t_{1}(113,-2,31,0)+$ $\displaystyle t_{0}(-4,51,65,0)+$ $\displaystyle
t_{0}t_{1}(-4,-6,-11,0)$

Here, it is interesting to note that all values of the last vector is
negative. Having auxiliary parameters with negative values helps the
computation. If we did not allow negative values, we would not be able to form
a model to obtain the actual values. In this formulation, it is also important
to point out that negative values usually come in terms of vectors since
vectors can be obtained as the difference of two points.

(a) A photograph of Mr. Potato head illuminated by three colored lights.

(b) A detail of the photo that shows the red channel in the shadow region is
brighter than in the non-shadow region.

Figure 10: An example that demonstrates we need negative numbers to solve
digital compositing problems.

(a) A photograph of a high-genus sculpture illuminated by three colored
lights.

(b) A detail of the photo that shows both red and green channels in the shadow
regions are brighter than in the non-shadow region.

Figure 11: Another example that demonstrates we need negative numbers to solve
digital compositing problems.

Now, we have a commutative and associative algebra in our version of