text:
# tutorial-edinburgh2016 / Building new workflows using Ensemble toolkit

In yesterday's ExTASY session, we used "ready-to-use" scripts built using components of the Ensemble Toolkit. Specifically, ExTASY uses the SimulationAnalysisLoop pattern of Ensemble Toolkit (EnTK).

In the previous session, we were introduced to other patterns supported by EnTK:

• Pipeline of Ensembles pattern
• Ensemble of Pipelines pattern
• Ensemble Exchange pattern

In this tutorial session, we will be building "simple workflows" using these patterns but for molecular simulations using these patterns.

## Preparation

• We will be using workflow.iu.xsede.org as the access point to Stampede/ARCHER. You can log into the machine using your XSEDE credentials. ssh <username>@workflow.iu.xsede.org
• Once logged in, you can now source the required virtual environment: source \$HOME/ve/bin/activate.
• The following exercise scripts are configured to be readily run on Stampede/Archer. Exercise 3 alone is configured for Stampede only.

## Exercise 1 - Pipeline of Ensembles (PoE) Pattern

The PoE pattern consists of multiple tasks running concurrently and independent of each other; these tasks might be heterogeneous. Executing tasks are associated with a "stage" and only those tasks that belong to the same stage execute concurrently. Each stage waits for all the tasks in the previous stage to complete. See the figure of visual representation of this pattern. The following is a representation of N tasks in each of the M stages.

### Pipeline of Ensembles pattern with gromacs workload

In this exercise, we will run a set of gromacs simulations on a remote machine. There are two stages in the pipeline: The first contains tasks which perform the pre-processing (using grompp to merge and convert files); the second stage contains tasks which perform the MD simulations (mdrun). All tasks in each stage complete before the next stage is invoked. Let us see how we can compose this using the Pipeline of Ensembles pattern.

• In your home directory, change into the directory building_new_workflows/PoE_pattern. Open the pipeline_of_ensemble.py file.
• In the presentation, you came across three primary components: Execution Pattern, Resource Handle and Kernel Plugin. We will identify those components in this script.
• From line 31-76, you see a class called Gromacs_simulation of the type of BagofTasks. This class is the execution pattern of type BagofTasks with 2 stages. Once defined, you create an instance of this class at line 120.
• Within the execution pattern, in stage_1 we use the custom.grompp kernel plugin and custom.mdrun kernel plugin in stage 2. The plugins are defined in ./kernel_defs/. The kernel definition might not look too intuitive in the first glance, please look at the inline components to understand each section. Once you get the handle of it, you will see the advantage of using the kernel plugins.
• Next, in lines 96-107, we define a Resource Handle of SingleClusterEnvironment type targeting a particular resource (Stampede/Archer) and provide the resource requirements for our workflows.

A breakdown of the script:

1. Locally split a large coordinate file (line 111).
2. Create our workflow using the BagofTasks execution pattern (lines 31-76 and line 120).
3. Acquire resources on Stampede/Archer (lines 96-107 and line 123).
1. Run the workflow on the acquired resources (line 126).
2. Deallocate resources once workflow is completed (line 129).

Execution command: RADICAL_ENTK_VERBOSE=REPORT python pipeline_of_ensembles.py <resource>

Note

If you want to run on Archer, you have to set the username in line 100 of the script.

## Exercise 2 - Ensemble of Pipelines (EoP) Pattern

The pipeline of tasks pattern consists of a bag of independent pipelines. Each pipeline in turn consist of multiple stages of execution, where each stage can contain heterogeneous workloads. Although each stage of a pipeline depends on its predecessor, the pipelines themselves execute independent of each other. The following is a representation of N pipelines with M stages.

### Ensemble of Pipelines with gromacs workload

This exercise performs the same set of operations but in a different order. As before, we split a file containing multiple copies of coordinates for a decalanine system into smaller files. There are two stages in the pipeline: The first contains tasks which perform the preprocessing (grompp), second stage contains tasks performing MD simulations (mdrun). Each pipeline executes independent of other pipelines.

Let us see how we can compose this using the Pipeline pattern.

• In your home directory, change into the directory building_new_workflows/EoP_pattern. Open the ensemble_of_pipelines.py file.
• You will notice that there aren't many changes in this script. The only difference that you will see is that now you import and use the Pipeline pattern as opposed to the BagofTasks pattern. The remaining script is exactly the same as the one used in exercise 1.

Execution command: RADICAL_ENTK_VERBOSE=REPORT python ensemble_of_pipelines.py <resource>

Note

If you want to run on Archer, you have to set the username in line 100 of the script.

Tip

The REPORT level verbose output would have given you a glimpse of the difference in execution in the first two exercises. Try running them again with RADICAL_ENTK_VERBOSE=INFO to see a more detailed output.

## Exercise 3 - Ensemble Exchange Pattern

### Ensemble Exchange

• In your home directory, change into the directory building_new_workflows/EE_pattern. Open the ensemble_exchange.py file.
• This script is an example of how Replica Exchange can be performed. Although, a larger script it has the same components as in the previous exercises. Can you identify them ?
• You can run this example using RADICAL_ENTK_VERBOSE=REPORT python ensemble_exchange.py <resource>. This example is configured only for xsede.stampede.

These patterns along with the SimulationAnalysisLoop pattern that you worked with, we believe we can support a major class of distributive applications on HPC systems.

## Some more exercises

### Exercise 4 - "Scaling" the examples

• Take up any of the examples that you have worked on today and scale up the number of cores and tasks that you are executing.
• Example: Open the Pipeline of Ensembles example (pipeline_of_ensembles.py). Use the SingleClusterEnvironment to request 16 cores for a duration of 15 minutes on Stampede or ARCHER and run 64 instances. (Approximately, how long did it take ? What do you expect if you had acquired 64 cores instead ?)
• The ExTASY examples from yesterday are also available in the same folder (building_new_workflows/gromacs-lsdmap and building_new_workflows/amber-coco). Modify the the SingleClusterEnvironment to request 32 cores for a duration of 20 minutes on Stampede. Run 2 iterations of the pattern with 32 simulation instances and 1 analysis instances.

Updated


text:
Tensor Methods in Machine Learning

Tensors are high dimensional generalizations of matrices. In recent years tensor decompositions were used to design learning algorithms for estimating parameters of latent variable models like Hidden Markov Model, Mixture of Gaussians and Latent Dirichlet Allocation (many of these works were considered as examples of “spectral learning”, read on to find out why). In this post I will briefly describe why tensors are useful in these settings.Using Singular Value Decomposition (SVD), we can write a matrix MRn×m as the sum of many rank one matrices:

M=i=1rλiu⃗ iv⃗ i.

When the rank r is small, this gives a concise representation for the matrix M (using (m+n)r parameters instead of mn). Such decompositions are widely applied in machine learning.

Tensor decomposition is a generalization of low rank matrix decomposition. Although most tensor problems are NP-hard in the worst case, several natural subcases of tensor decomposition can be solved in polynomial time. Later we will see that these subcases are still very powerful in learning latent variable models.

Matrix Decompositions

Before talking about tensors, let us first see an example of how matrix factorization can be used to learn latent variable models. In 1904, psychologist Charles Spearman tried to understand whether human intelligence is a composite of different types of measureable intelligence. Let’s describe a highly simplified version of his method, where the hypothesis is that there are exactly two kinds of intelligence: quantitative and verbal. Spearman’s method consisted of making his subjects take several different kinds of tests. Let’s name these testsClassics, Math, Music, etc. The subjects scores can be represented by a matrix M, which has one row per student, and one column per test.

The simplified version of Spearman’s hypothesis is that each student has different amounts of quantitative and verbal intelligence, say xquant and xverb respectively. Each test measures a different mix of intelligences, so say it gives a weighting yquant to quantitative and yverb to verbal. Intuitively, a student with higher strength on verbal intelligence should perform better on a test that has a high weight on verbal intelligence. Let’s describe this relationship as a simple bilinear function:

score=xquant×yquant+xverb×yverb.

Denoting by x⃗ verb,x⃗ quant the vectors describing the strengths of the students, and letting y⃗ verb,y⃗ quant be the vectors that describe the weighting of intelligences in the different tests, we can express matrix M as the sum of two rank 1 matrices (in other words, M has rank at most 2):

M=x⃗ quanty⃗ quant+x⃗ verby⃗ verb.

Thus verifying that M has rank 2 (or that it is very close to a rank 2 matrix) should let us conclude that there are indeed two kinds of intelligence.

Note that this decomposition is not the Singular Value Decomposition (SVD). SVD requires strong orthogonality constraints (which translates to “different intelligences are completely uncorrelated”) that are not plausible in this setting.

The Ambiguity

But ideally one would like to take the above idea further: we would like to assign a definitive quantitative/verbal intelligence score to each student. This seems simple at first sight: just read off the score from the decomposition. For instance, it shows Alice is strongest in quantitative intelligence.

However, this is incorrect, because the decomposition is not unique! The following is another valid decomposition

According to this decomposition, Bob is strongest in quantitative intelligence, not Alice. Both decompositions explain the data perfectly and we cannot decide a priori which is correct.

Sometimes we can hope to find the unique solution by imposing additional constraints on the decomposition, such as all matrix entries have to be nonnegative. However even after imposing many natural constraints, in general the issue of multiple decompositions will remain.

Since our current data has multiple explanatory decompositions, we need more data to learn exactly which explanation is the truth. Assume the strength of the intelligence changes with time: we get better at quantitative tasks at night. Now we can let the (poor) students take the tests twice: once during the day and once at night. The results we get can be represented by two matrices Mday and Mnight. But we can also think of this as a three dimensional array of numbers -– a tensor T in Rstudents×tests×2. Here the third axis stands for “day” or “night”. We say the two matrices Mday and Mnight are slices of the tensor T.

Let zquant and zverb be the relative strength of the two kinds of intelligence at a particular time (day or night), then the new score can be computed by a trilinear function:

score=xquant×yquant×zquant+xverb×yverb×zverb.

Keep in mind that this is the formula for one entry in the tensor: the score of one student, in one test and at a specific time. Who the student is specifies xquant and xverb; what the test is specifies weights yquant and yverb; when the test takes place specifies zquant and zverb.

Similar to matrices, we can view this as a rank 2 decomposition of the tensor T. In particular, if we use x⃗ quant,x⃗ verb to denote the strengths of students, y⃗ quant,y⃗ verb to denote the weights of the tests and z⃗ quant,z⃗ verb to denote the variations of strengths in time, then we can write the decomposition as

T=x⃗ quanty⃗ quantz⃗ quant+x⃗ verby⃗ verbz⃗ verb.

Now we can check that the second matrix decomposition we had is no longer valid: there are no values of zquant and zverb at night that could generate the matrix Mnight. This is not a coincidence. Kruskal 1977 gave sufficient conditions for such decompositions to be unique. When applied to our case it is very simple:

Corollary The decomposition of tensor T is unique (up to scaling and permutation) if none of the vector pairs (x⃗ quant,x⃗ verb), (y⃗ quant,y⃗ verb), (z⃗ quant,z⃗ verb) are co-linear.

Note that of course the decomposition is not truly unique for two reasons. First, the two tensor factors are symmetric, and we need to decide which factor correspond to quantitative intelligence. Second, we can scale the three components x⃗ quant ,y⃗ quant, z⃗ quantsimultaneously, as long as the product of the three scales is 1. Intuitively this is like using different units to measure the three components. Kruskal’s result showed that these are the only degrees of freedom in the decomposition, and there cannot be a truly distinct decomposition as in the matrix case.

Finding the Tensor

In the above example we get a low rank tensor T by gathering more data. In many traditional applications the extra data may be unavailable or hard to get. Luckily, many exciting recent developments show that we can uncover these special tensor structures even if the original data is not in a tensor form!

The main idea is to use method of moments (see a nice post by Moritz): estimate lower order correlations of the variables, and hope these lower order correlations have a simple tensor form.

Consider Hidden Markov Model as an example. Hidden Markov Models are widely used in analyzing sequential data like speech or text. Here for concreteness we consider a (simplified) model of natural language texts(which is a basic version of the word embeddings).

In Hidden Markov Model, we observe a sequence of words (a sentence) that is generated by a walk of a hidden Markov Chain: each word has a hidden topic h (a discrete random variable that specifies whether the current word is talking about “sports” or “politics”); the topic for the next word only depends on the topic of the current word. Each topic specifies a distribution over words. Instead of the topic itself, we observe a random word x drawn from this topic distribution (for example, if the topic is “sports”, we will more likely see words like “score”). The dependencies are usually illustrated by the following diagram:

More concretely, to generate a sentence in Hidden Markov Model, we start with some initialtopic h1. This topic will evolve as a Markov Chain to generate the topics for future words h2,h3,,ht. We observe words x1,,xt from these topics. In particular, word x1 is drawn according to topic h1, word x2 is drawn according to topic h2 and so on.

Given many sentences that are generated exactly according to this model, how can we construct a tensor? A natural idea is to compute correlations: for every triple of words (i,j,k), we count the number of times that these are the first three words of a sentence. Enumerating over i,j,k gives us a three dimensional array (a tensor) T. We can further normalize it by the total number of sentences. After normalization the (i,j,k)-th entry of the tensor will be an estimation of the probability that the first three words are (i,j,k). For simplicity assume we have enough samples and the estimation is accurate:

Ti,j,k=Pr[x1=i,x2=j,x3=k].

Why does this tensor have the nice low rank property? The key observation is that if we “fix” (condition on) the topic of the second word h2, it cuts the graph into three parts: one part containing h1,x1, one part containing x2 and one part containing h3,x3. These three parts are independent conditioned on h2. In particular, the first three words x1,x2,x3 areindependent conditioned on the topic of the second word h2. Using this observation we can compute each entry of the tensor as

Ti,j,k=l=1nPr[h2=l]Pr[x1=i|h2=l]×Pr[x2=j|h2=l]×Pr[x3=k|h2=l].

Now if we let x⃗ l be a vector whose i-th entry is the probability of the first word is i, given the topic of the second word is l; let y⃗ l and z⃗ l be similar for the second and third word. We can then write the entire tensor as

T=l=1nPr[h2=l]x⃗ ly⃗ lz⃗ l.

This is exactly the low rank form we are looking for! Tensor decomposition allows us touniquely identify these components, and further infer the other probabilities we are interested in. For more details see the paper by Anandkumar et al. 2012 (this paper uses the tensor notations, but the original idea appeared in the paper by Mossel and Roch 2006).

Implementing Tensor Decomposition

Using method of moments, we can discover nice tensor structures from many problems. The uniqueness of tensor decomposition makes these tensors very useful in learning the parameters of the models. But how do we compute the tensor decompositions?

In the worst case we have bad news: most tensor problems are NP-hard. However, in most natural cases, as long as the tensor does not have too many components, and the components are not adversarially chosen, tensor decomposition can be computed in polynomial time! Here we describe the algorithm by Dr. Robert Jenrich (it first appeared in a 1970 working paper byHarshman, the version we present here is a more general version by Leurgans, Ross and Abel 1993).

Jenrich’s Algorithm
Input: tensor T=ri=1λix⃗ iy⃗ iz⃗ i.

1. Pick two random vectors u⃗ ,v⃗ .
2. Compute Tu⃗ =ni=1uiT[:,:,i]=ri=1λi(u⃗ z⃗ i)x⃗ iy⃗ i.
3. Compute Tv⃗ =ni=1viT[:,:,i]=ri=1λi(v⃗ z⃗ i)x⃗ iy⃗ i.
4. x⃗ i’s are eigenvectors of Tu⃗ (Tv⃗ )+, y⃗ i’s are eigenvectors of Tv⃗ (Tu⃗ )+.

In the algorithm, “+” denotes pseudo-inverse of a matrix (think of it as inverse if this is not familiar).

The algorithm looks at weighted slices of the tensor: a weighted slice is a matrix that is the projection of the tensor along the z direction (similarly if we take a slice of a matrix M, it will be a vector that is equal to Mu⃗ ). Because of the low rank structure, all the slices must share matrix decompositions with the same components.

The main observation of the algorithm is that although a single matrix can have infinitely many low rank decompositions, two matrices can only have a unique decomposition if we require them to have the same components. In fact, it is highly unlikely for two arbitrarymatrices to share decompositions with the same components. In the tensor case, because of the low rank structure we have

Tu⃗ =XDu⃗ Y;Tv⃗ =XDv⃗ Y,

where Du⃗ ,Dv⃗  are diagonal matrices. This is called a simultaneous diagonalization for Tu⃗  and Tv⃗ . With this structure it is easy to show that x⃗ i’s are eigenvectors of Tu⃗ (Tv⃗ )+=XDu⃗ D1v⃗ X+. So we can actually compute tensor decompositions using spectral decompositions for matrices.

Many of the earlier works (including Mossel and Roch 2006) that apply tensor decompositions to learning problems have actually independently rediscovered this algorithm, and the word “tensor” never appeared in the papers. In fact, tensor decomposition techniques are traditionally called “spectral learning” since they are seen as derived from SVD. But now we have other methods to do tensor decompositions that have better theoretical guarantees and practical performances. See the survey by Kolda and Bader 2009 for more discussions.

For more examples of using tensor decompositions to learn latent variable models, see the paper by Anandkumar et al. 2012. This paper shows that several prior algorithms for learning models such as Hidden Markov Model, Latent Dirichlet Allocation, Mixture of Gaussians and Independent Component Analysis can be interpreted as doing tensor decompositions. The paper also gives a proof that tensor power method is efficient and robust to noise.

Recent research focuses on two problems: how to formulate other learning problems as tensor decompositions, and how to compute tensor decompositions under weaker assumptions. Using tensor decompositions, we can learn more models that includecommunity models, probabilistic Context-Free-Grammars, mixture of general Gaussians andtwo-layer neural networks. We can also efficiently compute tensor decompositions when therank of the tensor is much larger than the dimension (see for example the papers by Bhaskara et al. 2014, Goyal et al. 2014, Ge and Ma 2015). There are many other interesting works and open problems, and the list here is by no means complete.

Hiệu Minh Blog

Càng đi xa, càng thấy mình nhỏ bé

Data Analytics & R

The Clever Machine

Topics in Computational Neuroscience & Machine Learning

Tim Dettmers

Making deep learning accessible.

Memming

the inconsistent

The Spectator

Shakir's Machine Learning Blog

Blog của 5xu

Rẻ Vừa Thôi

when trees fall...

Programming, machine learning, and artificial intelligence.

Vuhavan's Blog

Just another WordPress.com weblog

Tuấn Khanh's Blog

Nơi lưu trữ và cập nhật các bài viết, hình ảnh từ Tuấn Khanh (ns)

format: plain


text:
# Mean

In mathematics, mean has several different definitions depending on the context.

In probability and statistics, mean and expected value are used synonymously to refer to one measure of the central tendency either of a probability distribution or of the random variable characterized by that distribution.[1] In the case of a discrete probability distribution of a random variable X, the mean is equal to the sum over every possible value weighted by the probability of that value; that is, it is computed by taking the product of each possible value x of X and its probability P(x), and then adding all these products together, giving $\mu = \sum x P(x)$.[2] An analogous formula applies to the case of a continuous probability distribution. Not every probability distribution has a defined mean; see the Cauchy distribution for an example. Moreover, for some distributions the mean is infinite: for example, when the probability of the value $2^n$ is $\tfrac{1}{2^n}$ for n = 1, 2, 3, ....

For a data set, the terms arithmetic mean, mathematical expectation, and sometimes average are used synonymously to refer to a central value of a discrete set of numbers: specifically, the sum of the values divided by the number of values. The arithmetic mean of a set of numbers x1, x2, ..., xn is typically denoted by $\bar{x}$, pronounced "x bar". If the data set were based on a series of observations obtained by sampling from a statistical population, the arithmetic mean is termed the sample mean (denoted $\bar{x}$) to distinguish it from the population mean (denoted $\mu$ or $\mu_x$).[3]

For a finite population, the population mean of a property is equal to the arithmetic mean of the given property while considering every member of the population. For example, the population mean height is equal to the sum of the heights of every individual divided by the total number of individuals. The sample mean may differ from the population mean, especially for small samples. The law of large numbers dictates that the larger the size of the sample, the more likely it is that the sample mean will be close to the population mean.[4]

Outside of probability and statistics, a wide range of other notions of "mean" are often used in geometry and analysis; examples are given below.

## Types of mean

### Pythagorean means

#### Arithmetic mean (AM)

The arithmetic mean is the "standard" average, often simply called the "mean".

$\bar{x} = \frac{1}{n}\cdot \sum_{i=1}^n{x_i}$

For example, the arithmetic mean of five values: 4, 36, 45, 50, 75 is

$\frac{4 + 36 + 45 + 50 + 75}{5} = \frac{210}{5} = 42.$
Comparison of the arithmetic mean, median and mode of two skewed (log-normal) distributions.

The mean may often be confused with the median, mode or range. The mean is the arithmetic average of a set of values, or distribution; however, for skewed distributions, the mean is not necessarily the same as the middle value (median), or the most likely (mode). For example, mean income is skewed upwards by a small number of people with very large incomes, so that the majority have an income lower than the mean. By contrast, the median income is the level at which half the population is below and half is above. The mode income is the most likely income, and favors the larger number of people with lower incomes. The median or mode are often more intuitive measures of such data.

Nevertheless, many skewed distributions are best described by their mean – such as the exponential and Poisson distributions.

#### Geometric mean (GM)

The geometric mean is an average that is useful for sets of positive numbers that are interpreted according to their product and not their sum (as is the case with the arithmetic mean) e.g. rates of growth.

$\bar{x} = \left ( \prod_{i=1}^n{x_i} \right ) ^\tfrac1n$

For example, the geometric mean of five values: 4, 36, 45, 50, 75 is:

$(4 \times 36 \times 45 \times 50 \times 75)^{^1/_5} = \sqrt[5]{24\;300\;000} = 30.$

#### Harmonic mean (HM)

The harmonic mean is an average which is useful for sets of numbers which are defined in relation to some unit, for example speed (distance per unit of time).

$\bar{x} = n \cdot \left ( \sum_{i=1}^n \frac{1}{x_i} \right ) ^{-1}$

For example, the harmonic mean of the five values: 4, 36, 45, 50, 75 is

$\frac{5}{\tfrac{1}{4}+\tfrac{1}{36}+\tfrac{1}{45} + \tfrac{1}{50} + \tfrac{1}{75}} = \frac{5}{\;\tfrac{1}{3}\;} = 15.$

#### Relationship between AM, GM, and HM

AM, GM, and HM satisfy these inequalities:

$AM \ge GM \ge HM \,$

Equality holds only when all the elements of the given sample are equal.

### Generalized means

#### Power mean

The generalized mean, also known as the power mean or Hölder mean, is an abstraction of the quadratic, arithmetic, geometric and harmonic means. It is defined for a set of n positive numbers xi by

$\bar{x}(m) = \left ( \frac{1}{n}\cdot\sum_{i=1}^n{x_i^m} \right ) ^\tfrac1m$

By choosing different values for the parameter m, the following types of means are obtained:

 $m\rightarrow\infty$ maximum $m=2$ quadratic mean $m=1$ arithmetic mean $m\rightarrow0$ geometric mean $m=-1$ harmonic mean $m\rightarrow-\infty$ minimum

#### ƒ-mean

This can be generalized further as the generalized f-mean

$\bar{x} = f^{-1}\left({\frac{1}{n}\cdot\sum_{i=1}^n{f(x_i)}}\right)$

and again a suitable choice of an invertible ƒ will give

 $f(x) = x$ arithmetic mean, $f(x) = \frac{1}{x}$ harmonic mean, $f(x) = x^m$ power mean, $f(x) = \ln x$ geometric mean.

### Weighted arithmetic mean

The weighted arithmetic mean (or weighted average) is used if one wants to combine average values from samples of the same population with different sample sizes:

$\bar{x} = \frac{\sum_{i=1}^n{w_i \cdot x_i}}{\sum_{i=1}^n {w_i}}.$

The weights $w_i$ represent the sizes of the different samples. In other applications they represent a measure for the reliability of the influence upon the mean by the respective values.

### Truncated mean

Sometimes a set of numbers might contain outliers, i.e., data values which are much lower or much higher than the others. Often, outliers are erroneous data caused by artifacts. In this case, one can use a truncated mean. It involves discarding given parts of the data at the top or the bottom end, typically an equal amount at each end, and then taking the arithmetic mean of the remaining data. The number of values removed is indicated as a percentage of total number of values.

### Interquartile mean

The interquartile mean is a specific example of a truncated mean. It is simply the arithmetic mean after removing the lowest and the highest quarter of values.

$\bar{x} = {2 \over n} \sum_{i=(n/4)+1}^{3n/4}{x_i}$

assuming the values have been ordered, so is simply a specific example of a weighted mean for a specific set of weights.

### Mean of a function

In calculus, and especially multivariable calculus, the mean of a function is loosely defined as the average value of the function over its domain. In one variable, the mean of a function f(x) over the interval (a,b) is defined by

$\bar{f}=\frac{1}{b-a}\int_a^bf(x)\,dx.$

Recall that a defining property of the average value $\bar{y}$ of finitely many numbers $y_1, y_2, \dots, y_n$ is that $n\bar{y} = y_1 + y_2 + \cdots + y_n$. In other words, $\bar{y}$ is the constant value which when added to itself $n$ times equals the result of adding the $n$ terms of $y_i$. By analogy, a defining property of the average value $\bar{f}$ of a function over the interval $[a,b]$ is that

$\int_a^b\bar{f}\,dx = \int_a^bf(x)\,dx$

In other words, $\bar{f}$ is the constant value which when integrated over $[a,b]$ equals the result of integrating $f(x)$ over $[a,b]$. But by the second fundamental theorem of calculus, the integral of a constant $\bar{f}$ is just

$\int_a^b\bar{f}\,dx = \bar{f}x\bigr|_a^b = \bar{f}b - \bar{f}a = (b - a)\bar{f}$

See also the first mean value theorem for integration, which guarantees that if $f$ is continuous then there exists a point $c \in (a, b)$ such that

$\int_a^bf(x)\,dx = f(c)(b - a)$

The point $f(c)$ is called the mean value of $f(x)$ on $[a,b]$. So we write $\bar{f} = f(c)$ and rearrange the preceding equation to get the above definition.

In several variables, the mean over a relatively compact domain U in a Euclidean space is defined by

$\bar{f}=\frac{1}{\hbox{Vol}(U)}\int_U f.$

This generalizes the arithmetic mean. On the other hand, it is also possible to generalize the geometric mean to functions by defining the geometric mean of f to be

$\exp\left(\frac{1}{\hbox{Vol}(U)}\int_U \log f\right).$

More generally, in measure theory and probability theory, either sort of mean plays an important role. In this context, Jensen's inequality places sharp estimates on the relationship between these two different notions of the mean of a function.

There is also a harmonic average of functions and a quadratic average (or root mean square) of functions.

### Mean of a probability distribution

See expected value.

### Mean of angles

Sometimes the usual calculations of means fail on cyclical quantities such as angles, times of day, and other situations where modular arithmetic is used. For those quantities it might be appropriate to use a mean of circular quantities to take account of the modular values, or to adjust the values before calculating the mean.

### Fréchet mean

The Fréchet mean gives a manner for determining the "center" of a mass distribution on a surface or, more generally, Riemannian manifold. Unlike many other means, the Fréchet mean is defined on a space whose elements cannot necessarily be added together or multiplied by scalars. It is sometimes also known as the Karcher mean (named after Hermann Karcher).

## Properties

All means share some properties and additional properties are shared by the most common means. Some of these properties are collected here.

### Weighted and unweighted means

#### Weighted mean

A weighted mean M is a function which maps tuples of positive numbers to a positive number

$M : (0,\infty)^n \to (0,\infty)$

such that the following properties hold:

• "Fixed point": M(1,1,...,1) = 1
• Homogeneity: Mx1, ..., λ xn) = λ M(x1, ..., xn) for all λ and xi. In vector notation: Mx) = λ Mx for all n-vectors x.
• Monotonicity: If xi ≤ yi for each i, then MxMy

It follows

• Boundedness: min xMx ≤ max x
• Continuity: $\lim_{x\to y} M x = M y$
• There are means which are not differentiable. For instance, the maximum number of a tuple is considered a mean (as an extreme case of the power mean, or as a special case of a median), but is not differentiable.
• All means listed above, with the exception of most of the Generalized f-means, satisfy the presented properties.
• If f is bijective, then the generalized f-mean satisfies the fixed point property.
• If f is strictly monotonic, then the generalized f-mean satisfy also the monotony property.
• In general a generalized f-mean will miss homogeneity.

The above properties imply techniques to construct more complex means:

If C, M1, ..., Mm are weighted means and p is a positive real number, then A and B defined by

$A x = C(M_1 x, \dots, M_m x) ,$
$B x = \sqrt[p]{C(x_1^p, \dots, x_n^p)} ,$

are also weighted means.

#### Unweighted mean

Intuitively spoken, an unweighted mean is a weighted mean with equal weights. Since our definition of weighted mean above does not expose particular weights, equal weights must be asserted by a different way. A different view on homogeneous weighting is, that the inputs can be swapped without altering the result.

Thus we define M to be an unweighted mean if it is a weighted mean and for each permutation π of inputs, the result is the same.

Symmetry: Mx = Mx) for all n-tuples x and permutations π on n-tuples.

Analogously to the weighted means, if C is a weighted mean and M1, ..., Mm are unweighted means and p is a positive real number, then A and B defined by

$A x = C(M_1 x, \dots, M_m x) ,$
$B x = \sqrt[p]{M_1(x_1^p, \dots, x_n^p)} ,$

are also unweighted means.

#### Converting unweighted mean to weighted mean

An unweighted mean can be turned into a weighted mean by repeating elements. This connection can also be used to state that a mean is the weighted version of an unweighted mean. Say you have the unweighted mean M and weight the numbers by natural numbers $a_1,\dots,a_n$. (If the numbers are rational, then multiply them with the least common denominator.) Then the corresponding weighted mean A is obtained by

$A(x_1,\dots,x_n) = M(\underbrace{x_1,\dots,x_1}_{a_1},x_2,\dots,x_{n-1},\underbrace{x_n,\dots,x_n}_{a_n}).$

### Means of tuples of different sizes

If a mean M is defined for tuples of several sizes, then one also expects that the mean of a tuple is bounded by the means of partitions. More precisely

• Given an arbitrary tuple x, which is partitioned into y1, ..., yk, then
$M x \in \mathrm{convexhull}(M y_1, \dots, M y_k).$
(See Convex hull.)

## Distribution of the population mean

### Using the sample mean

The arithmetic mean of a population, or population mean, is denoted μ. The sample mean (the arithmetic mean of a sample of values drawn from the population) makes a good estimator of the population mean, as its expected value is equal to the population mean (that is, it is an unbiased estimator). The sample mean is a random variable, not a constant, since its calculated value will randomly differ depending on which members of the population are sampled, and consequently it will have its own distribution. For a random sample of n observations from a normally distributed population, the sample mean distribution is normally distributed with mean and variance as follows:

$\bar{x} \thicksim N\left\{\mu, \frac{\sigma^2}{n}\right\}.$

Often, since the population variance is an unknown parameter, it is estimated by the mean sum of squares; when this estimated value is used, the distribution of the sample mean is no longer a normal distribution but rather a Student's t distribution with n − 1 degrees of freedom.

### Using a very small sample

Small sample sizes occur in practice and present unusually difficult problems for parameter estimation.

It is intuitive but false that from a single (n = 1) observation x, information about the variability in the population cannot be gained and consequently finite-length confidence intervals for the population mean and/or variance are impossible even in principle. Where the shape of the population distribution is known, some estimates are possible:

For a normally distributed variate, the confidence intervals for the (arithmetic) population mean at the 90% level have been shown to be x ± 5.84 |x| where |.| is the absolute value.[5][6] The 95% bound for a normally distributed variate is x ± 9.68 |x| and that for a 99% confidence interval is x ± 48.39 |x|.[7] These confidence intervals apply because for every true but unobserved parametrization $\mu, \sigma$ of the normal distribution, the probability that the indicated confidence interval, computed from the random sample of one, encompasses the fixed true mean is at least the indicated percentage, and for the worst-case true parametrization it is exactly the indicated percentage.

The estimate derived from this method shows behavior that is atypical of more conventional methods. A value of 0 for the population mean cannot be rejected with any level of confidence.[8] If x = 0, the confidence interval collapses to a length of 0.[9] Finally the confidence interval is not stable under a linear transform xax + b where a and b are constants.[10]

Machol has shown that given a known density symmetrical about 0 and a single sample value ( x ), the 90% confidence interval of the population mean is[11]

$x \pm 5 | x - \nu |$

where ν is the population median.

For a sample size of two ( n = 2 ), the population mean is bounded by

$\frac{ x_1 + x_2 }{ 2 } - k \frac{ | x_1 + x_2 | }{ 2 } \le \mu \ \frac{ x_1 + x_2 }{ 2 } + k \frac{ | x_1 + x_2 | }{ 2 }$

where x1, x2 are the variate values, μ is the population mean and k is a constant that depends on the underlying distribution. For the normal distribution, k = cotangent( π α / 2 ), in which case for α = 0.05, k = 12.71. For the rectangular distribution, k = ( 1 / α ) - 1, in which case for α = 0.05, k = 19.[12]

For a sample size of three ( n = 3 ), the confidence intervals for the population mean are

$m - k \frac{ s }{ \sqrt{ 3 } } \le \mu \le m + k \frac{ s }{ \sqrt{ 3 } }$

where m is the sample mean, s is the sample standard deviation and k is a constant that depends on the distribution. For the normal distribution, k is approximately 1 / √α - 3 √α / 4 + ... When α = 0.05, k = 4.30. For the rectangular distribution with α = 0.05, k = 5.74.[12]

For medium-size samples ( 4 ≤ n ≤ 20 ), the pivot statistics give better estimates of the population mean than the t test does.[13][14]

The pivot depth (j) is int( ( n + 1 ) / 2 ) / 2 or int( ( n + 1 ) / 2 + 1 ) / 2 depending on which value is an integer. The lower pivot is xL = xj and the upper pivot xU is xn + 1 - j. The pivot half sum (P) is

$P = \frac{ x_U + x_L }{ 2 }$

and the pivot range (R) is

$R = x_U - x_L$

The confidence intervals for the population mean are then

$P - R t \le \mu \le P - R t$

where t is the value of the t test at 100( 1 - α / 2 )%.

The pivot statistic T = P / R has an approximately symmetrical distribution and its values for 4 ≤ n ≤ 20 for a number of values of 1 - α are given in Table 2 of Meloun et al.[15]

## References

1. ^ Feller, William (1950). Introduction to Probability Theory and its Applications, Vol I. Wiley. p. 221. ISBN 0471257087.
2. ^ Elementary Statistics by Robert R. Johnson and Patricia J. Kuby, p. 279
3. ^ Underhill, L.G.; Bradfield d. (1998) Introstat, Juta and Company Ltd. ISBN 0-7021-3838-X p. 181
4. ^ Schaum's Outline of Theory and Problems of Probability by Seymour Lipschutz and Marc Lipson, p. 141
5. ^ Abbot JH, Rosenblatt J (1963) Two stage estimation with one observation on the first stage. Annals of the Institute of Statistical Mathematics 14: 229-235
6. ^ Blachman NM, Machol R (1987) Confidence intervals based on one or more observations. IEEE Transactions on Information Theory 33(3): 373-382
7. ^ Wall MM, Boen J, Tweedie R (2001) An effective confidence interval for the mean With samples of size one and two. The American Statistician http://www.biostat.umn.edu/ftp/pub/2000/rr2000-007.pdf
8. ^ Vos P (2002) The Am Stat 56 (1) 80
9. ^ Wittkowski KN (2002) The Am Stat 56 (1) 80
10. ^ Wall ME (2002) The Am Stat 56 (1) 80-81
11. ^ Machol R (1964) IEEE Trans Info Theor
12. ^ a b Blackman NM, Machol RE (1987) IEEE Trans on inform theory 33:373
13. ^ Horn PS, Pesce AJ, Copeland BE (1998) A robust approach to reference interval estimation and evaluation. Clin Chem 44:622–631
14. ^ Horn J (1983) Some easy T-statistics. J Am Statist Assoc 78:930
15. ^ Meloun M, Hill M, Militký J, Kupka K (2001) Analysis of large and small samples of biochemical and clinical data. Clin Chem Lab Med 39(1):53–61


text:
#### Volume 9, issue 2 (2009)

 Download this article For screen For printing
 Recent Issues
 The Journal About the Journal Editorial Board Editorial Interests Editorial Procedure Submission Guidelines Submission Page Subscriptions Author Index To Appear ISSN (electronic): 1472-2739 ISSN (print): 1472-2747
Finite surgeries on three-tangle pretzel knots

### David Futer, Masaharu Ishikawa, Yuichi Kabaya, Thomas W Mattman and Koya Shimokawa

Algebraic & Geometric Topology 9 (2009) 743–771
##### Abstract

We classify Dehn surgeries on $\left(p,q,r\right)$ pretzel knots that result in a manifold of finite fundamental group. The only hyperbolic pretzel knots that admit nontrivial finite surgeries are $\left(-2,3,7\right)$ and $\left(-2,3,9\right)$. Agol and Lackenby’s $6$–theorem reduces the argument to knots with small indices $p,q,r$. We treat these using the Culler–Shalen norm of the $SL\left(2,ℂ\right)$–character variety. In particular, we introduce new techniques for demonstrating that boundary slopes are detected by the character variety.

 Dedicated to Professor Akio Kawauchi on the occasion of his 60th birthday.
##### Keywords
pretzel knot, exceptional Dehn surgery, finite surgery, Culler–Shalen seminorm
##### Mathematical Subject Classification 2000
Primary: 57M05, 57M25, 57M50
##### Publication
Received: 29 September 2008
Accepted: 10 February 2009
Published: 20 April 2009
##### Authors
 David Futer Mathematics Department Temple University Philadelphia, PA 19122 USA Masaharu Ishikawa Mathematical Institute Tohoku University Sendai, 980-8578 Japan Yuichi Kabaya Department of Mathematics Tokyo Institute of Technology 2-12-1 Oh-okayama, Meguro-ku Tokyo 152-8551 Japan Thomas W Mattman Department of Mathematics and Statistics California State University at Chico Chico, CA 95929-0525 USA Koya Shimokawa Department of Mathematics Saitama University Saitama 338-8570 Japan


text:
# American Institute of Mathematical Sciences

November  2003, 9(6): 1411-1422. doi: 10.3934/dcds.2003.9.1411

## Noncommutative dynamical systems with two generators and their applications in analysis

 1 Department of Mathematics, Technion, Haifa, 32000

Received  May 2002 Revised  February 2003 Published  September 2003

In this paper, some new dynamical systems which are determined by a semigroup $\Phi$ of maps in a closed interval $I$ are studied.The main peculiarity of these systems is that $\Phi$ is generated by two noncommuting maps. Introducing certain closed subsets $\mathcal T_1$ and $\mathcal T_2$ in $I$ makes it possible to determine some specific orbits corresponding to $\Phi$ and some specific attractors in $I$. These orbits play a crucial role in solving a wide variety problems in such diverse fields of analysis as functional and functional-integral equations, integral geometry, boundary problems for hyperbolic partial differential equations of higher $(>2)$ order. In the first part of this work we describe some conditions which ensure the existence of attractors in question of a special structure. In the second part several new problems in the above-mentioned fields of analysis are formulated, and we trace how the above dynamic approach works in solving this problems.
Citation: Boris Paneah. Noncommutative dynamical systems with two generators and their applications in analysis. Discrete & Continuous Dynamical Systems - A, 2003, 9 (6) : 1411-1422. doi: 10.3934/dcds.2003.9.1411
 [1] Marc Homs-Dones. A generalization of the Babbage functional equation. Discrete & Continuous Dynamical Systems - A, 2021, 41 (2) : 899-919. doi: 10.3934/dcds.2020303 [2] Jianhua Huang, Yanbin Tang, Ming Wang. Singular support of the global attractor for a damped BBM equation. Discrete & Continuous Dynamical Systems - B, 2020  doi: 10.3934/dcdsb.2020345 [3] Biyue Chen, Chunxiang Zhao, Chengkui Zhong. The global attractor for the wave equation with nonlocal strong damping. Discrete & Continuous Dynamical Systems - B, 2021  doi: 10.3934/dcdsb.2021015 [4] Reza Chaharpashlou, Abdon Atangana, Reza Saadati. On the fuzzy stability results for fractional stochastic Volterra integral equation. Discrete & Continuous Dynamical Systems - S, 2020  doi: 10.3934/dcdss.2020432 [5] Xinyu Mei, Yangmin Xiong, Chunyou Sun. Pullback attractor for a weakly damped wave equation with sup-cubic nonlinearity. Discrete & Continuous Dynamical Systems - A, 2021, 41 (2) : 569-600. doi: 10.3934/dcds.2020270 [6] Sumit Arora, Manil T. Mohan, Jaydev Dabas. Approximate controllability of a Sobolev type impulsive functional evolution system in Banach spaces. Mathematical Control & Related Fields, 2020  doi: 10.3934/mcrf.2020049 [7] Fanni M. Sélley. A self-consistent dynamical system with multiple absolutely continuous invariant measures. Journal of Computational Dynamics, 2021, 8 (1) : 9-32. doi: 10.3934/jcd.2021002 [8] Mikhail I. Belishev, Sergey A. Simonov. A canonical model of the one-dimensional dynamical Dirac system with boundary control. Evolution Equations & Control Theory, 2021  doi: 10.3934/eect.2021003 [9] Fang Li, Bo You. On the dimension of global attractor for the Cahn-Hilliard-Brinkman system with dynamic boundary conditions. Discrete & Continuous Dynamical Systems - B, 2021  doi: 10.3934/dcdsb.2021024 [10] Skyler Simmons. Stability of broucke's isosceles orbit. Discrete & Continuous Dynamical Systems - A, 2021  doi: 10.3934/dcds.2021015 [11] George W. Patrick. The geometry of convergence in numerical analysis. Journal of Computational Dynamics, 2021, 8 (1) : 33-58. doi: 10.3934/jcd.2021003 [12] Mauricio Achigar. Extensions of expansive dynamical systems. Discrete & Continuous Dynamical Systems - A, 2020  doi: 10.3934/dcds.2020399 [13] Nguyen Anh Tuan, Donal O'Regan, Dumitru Baleanu, Nguyen H. Tuan. On time fractional pseudo-parabolic equations with nonlocal integral conditions. Evolution Equations & Control Theory, 2020  doi: 10.3934/eect.2020109 [14] Xinlin Cao, Huaian Diao, Jinhong Li. Some recent progress on inverse scattering problems within general polyhedral geometry. Electronic Research Archive, 2021, 29 (1) : 1753-1782. doi: 10.3934/era.2020090 [15] Michiel Bertsch, Danielle Hilhorst, Hirofumi Izuhara, Masayasu Mimura, Tohru Wakasa. A nonlinear parabolic-hyperbolic system for contact inhibition and a degenerate parabolic fisher kpp equation. Discrete & Continuous Dynamical Systems - A, 2020, 40 (6) : 3117-3142. doi: 10.3934/dcds.2019226 [16] Wenjun Liu, Hefeng Zhuang. Global attractor for a suspension bridge problem with a nonlinear delay term in the internal feedback. Discrete & Continuous Dynamical Systems - B, 2021, 26 (2) : 907-942. doi: 10.3934/dcdsb.2020147 [17] Shuang Liu, Yuan Lou. A functional approach towards eigenvalue problems associated with incompressible flow. Discrete & Continuous Dynamical Systems - A, 2020, 40 (6) : 3715-3736. doi: 10.3934/dcds.2020028 [18] The Editors. The 2019 Michael Brin Prize in Dynamical Systems. Journal of Modern Dynamics, 2020, 16: 349-350. doi: 10.3934/jmd.2020013 [19] Nitha Niralda P C, Sunil Mathew. On properties of similarity boundary of attractors in product dynamical systems. Discrete & Continuous Dynamical Systems - S, 2021  doi: 10.3934/dcdss.2021004 [20] Antoine Benoit. Weak well-posedness of hyperbolic boundary value problems in a strip: when instabilities do not reflect the geometry. Communications on Pure & Applied Analysis, 2020, 19 (12) : 5475-5486. doi: 10.3934/cpaa.2020248

2019 Impact Factor: 1.338


text:
Unlimited PS Actions, graphics, videos & courses! Unlimited asset downloads! From $16.50/m Advertisement # How to Create a Wide Range of Custom Color Swatches in Illustrator Difficulty:IntermediateLength:MediumLanguages: This post is part of a series called Design Essentials. Create a Rationalized, Geometric Wordmark and Ambigram Designing a Typeface, With Illustrator and FontLab, from Start to Finish - Part 1 Swatches are the life line of any artwork. There are a lot of color books available in Illustrator to discover a wide range of swatches. Most popular among them are the Pantone Color Books and default CMYK and RGB swatches. In this tutorial, we will learn how to create a wide range of custom swatches using the color blending methods. In the end, we will learn how to organize these swatches into Color groups. Let’s get started! ### Final Image Preview Below are some of the swatches we'll be creating in this tutorial. Want access to the full Vector Source files and downloadable copies of every tutorial, including this one? Join Vector Plus for just 9$ a month.

#### Tutorial Details

• Difficulty: Intermediate
• Estimated Completion Time: 1 Hour

### Step 1: Understanding the Color Blending Methods

Before proceeding towards the meat of the tutorial, let’s have a brief look towards two different types of color blending methods.

#### Method 1. Color Blend Using Object > Blend > Make

This method blends two or more colored objects by generating a series of intermediate objects between them.

#### Method 2. Color Blend Using Edit > Edit Color

This method blends three or more colored objects by filling the intermediate objects with graduated blends. It does not create any new object; rather, it divides the color gradually between the selected objects.

For our purpose, we will use the second method in this tutorial. Let’s proceed ahead!

### Step 2: Create a Dummy Swatch

Create a new document. With the Rectangle Tool (M), draw a rectangle of 15px by 15px and fill it with 50% K.

### Step 3: Create a Swatch Card

Select the rectangle and go to Object > Transform > Transform Each (Alt + Shift + Command + D). Enter 20px for Horizontal move and click on Copy. Next, press Command + D thirteen more times until you see 15 rectangles as shown below.

### Step 4: Discovering the Range Between Two Swatches

To find a range of colors available between two given swatches, color the first and last rectangle with those two master swatches respectively. For example, we want to find 13 color swatches between 100% Cyan and 100% Yellow. Color the first rectangle with 100% Cyan and the last rectangle with 100% Yellow, as shown below.

### Step 5: Blending the Colors - Normal Blending Using Method 2

Select all rectangles and go to Edit > Edit Colors > Blend Horizontally. You will find 15 different swatches ranging from 100% Cyan to 100% Yellow. You can broaden the range by increasing the number of rectangles.

Note that the middle swatch is not pure green. It is 50% Cyan and 50% Yellow.

Normal blending yields the swatches whose CMYK sum never exceeds the average CMYK sum of the master swatches. To understand it more clearly, let's have a look at the example below.

To get full color range, in which the intermediate swatches are rich in color, we will follow another intensive method in next step.

### Step 6: Editing the Swatch Card: Full Color Blending Using Method 2

Grab the swatch card that we created in Step 2. Next, we will specify three master swatches: First, middle and the last. The middle swatch should be the union of CMYK values of the first and the last swatch. To make it more precise, we will consider an example. If M1 has C=100, M=0, Y=0, and K=0, and M3 has C=0, M=0, Y=100 and K=0, then the middle swatch i.e. M2 will be C=100, M=0, Y=100 and K=0.

Tip: The Union of 100% and 100% is treated as 100%, whereas, the union of 30% and 40% is taken as their addition. i.e. 70%. All the additions exceeding 100 are treated as 100.

### Step 7

Once the master swatches are defined, select rectangles from M1 to M2 and go to Edit > Edit Colors > Blend Horizontally. Next, select rectangles from M2 to M3 and blend them horizontally too. The final output will be a full color range from M1 to M3.

Note that the middle swatch (Green) is a pure combination of 100% Cyan and 100% Yellow. Hence, we get a full color range.

### Step 8: Multi Color Blending: The Matrix Method

We have seen two different methods of discovering color swatches – The "Normal Blending" and the "Full Color Blending." To expand more options, we will use the Matrix method. This technique involves the blending of pre-created swatch card with the third set of swatch card. We will use the output of Step 7 to blend with a third color, say, 100% magenta. For this, create six more rows of rectangle sets to form a matrix, as shown below.

### Step 9: Define Master Swatches in a Matrix

Select all the rectangles of last row and color them with 100% Magenta. Next, we will define the master swatches for the "Full Color Blending" method.
Note: I will denote each rectangle as RxCy where R and C denotes Row and Column, whereas x and y denotes row number and column number respectively.

### Step 10

Select rectangle R4C1 and assign it a CMYK union of R1C1 and R7C1. Next, select rectangle R4C8 and assign it a CMYK union of R1C8 and R7C8. Similarly, select R4C15 and assign it a CMYK union of R1C15 and R7C15. Once the master swatches are defined, we will proceed to blending.

### Step 11: Blending the Matrix

Select all rectangles from R1C1 to R4C1 and go to Edit > Edit Colors > Blend Vertically. Next, select all rectangles from R4C1 to R7C1 and blend them vertically.

### Step 12

Select all rectangles from R1C8 to R4C8 and go to Edit > Edit Colors > Blend Vertically. Next, select all rectangles from R4C8 to R7C8 and blend them vertically.

### Step 13

Similarly, select all rectangles from R1C15 to R4C15 and go to Edit > Edit Colors > Blend Vertically. Next, select all rectangles from R4C15 to R7C15 and blend them vertically. In the next steps, we will follow horizontal blending.

### Step 14

Select rectangles from R2C1 to R2C7 and go to Edit > Edit Colors > Blend Horizontally. Next, select rectangles from R2C7 to R2C15 and go to Edit > Edit Colors > Blend Horizontally.

### Step 15

Repeat Step 14 for each row until you reach to Row 6. The last row need not be blended. After successful horizontal and vertical blending, the end result should look like the one below.

### Step 16: Creating Color Groups

Now that the Color Matrix is created, we can organize the swatches of similar kind into Color groups. For this, select all the rectangles of first row and go to Edit > Edit Colors > Recolor with Preset > Color Harmony.

Next, select All from the Colors option and click on the New Color Group icon at the top. The newly created Color Group will appear in the Color Groups section with the name "Artwork Colors."

To rename it, double-click on the name and enter the new name as "Nature." Press OK to continue.

The "Nature Color" Group will appear in the Swatches.

### Step 17

Using the same procedure, you can select the swatches of similar kind and organize them into Color groups. I have defined seven Color Groups from this Matrix. They are: "Nature," "Corporate," "Berries," "Aqua," "Kids," "Forest" and "Valentine."

### Step 18: Using the Color Guide

Until now, we have created custom swatches and organized them into different Color Groups. We can further play with the harmonies of each Color Group using the Color Guide Panel. For this, select any Color Group in the Swatches panel and go to Window > Color Guide (Shift + F3). You will see harmony variations of the Color Group based on the current fill color in the Tools panel.

Note: There are only three options available for complete transition of the selected Color group with a third Color. They are: Tints/Shades, Warm/Cool and Vivid/Muted.

To get more transitions of a Color Group with custom colors, we can use the Matrix method of Step 8. In the example below, I have shown transitions of the "Nature" Color Group with White and Magenta using the Matrix method.

### Conclusion and Scope

For browsing more and more color options, you can select any row or column from the color matrix and blend it with the third set of color using the procedure described in this tutorial. The "Normal Color Blending" is useful in finding shades of a single swatch, whereas "Full Color Blending" is effective in finding the multiplied output of two swatches.

The Matrix method is another effective procedure to broaden the possibilities. All these methods are experimented for on-screen view of CMYK colors only, and does not guarantee printing in a proper gamut. I will still follow Pantone color books when it comes to standard printing. I hope you like this custom technique of creating and organizing swatches!

Subscribe to the Vectortuts+ RSS Feed to stay up to date with the latest vector tutorials and articles.