text:
\section{Introduction: two problems in Lie theory}
\label{sect1}

Let $\mathfrak{g}$ be a simple complex Lie algebra of type $A$, $D$, or $E$.
We denote by $G$ a simply-connected complex algebraic group with Lie
algebra $\mathfrak{g}$, by $N$ a maximal unipotent subgroup of $G$, by $\mathfrak{n}$
its Lie algebra.
In \cite{Lu1}, Lusztig has introduced the semicanonical basis $\mathcal S$ of the enveloping
algebra $U(\mathfrak{n})$ of $\mathfrak{n}$.
Using the duality between $U(\mathfrak{n})$ and the coordinate ring
$\mathbb C[N]$ of $N$, one obtains a new basis $\mathcal S^*$ of $\mathbb C[N]$ which
we call the \emph{dual semicanonical basis} \cite{GLS1}.
This basis has remarkable properties.
For example there is a natural way of
realizing every irreducible finite-dimensional representation
of $\mathfrak{g}$ as a subspace $L(\lambda)$ of $\mathbb C[N]$, and
$\mathcal S^*$ is compatible with this infinite system of subspaces,
that is, $\mathcal S^*\cap L(\lambda)$
is a basis of $L(\lambda)$ for every~$\lambda$.

The definition of the semicanonical basis is geometric (see below \S \ref{sect5}).
A priori, to describe an element
of $\mathcal S^*$ one needs to compute the Euler characteristics
of certain complex algebraic varieties.
Here is a simple example in type $A_3$.
Let $V = V_1 \oplus V_2 \oplus V_3$ be a four-dimensional graded vector space
with $V_1 =\mathbb C e_1$, $V_2 =\mathbb C e_2 \oplus \mathbb C e_3$, and $V_3 = \mathbb C e_4$.
There is an element $\varphi_X$ of $\mathcal S^*$ attached to the
nilpotent endomorphism $X$ of $V$ given by
\[
Xe_1 = e_2,\quad Xe_2 = Xe_3 = 0,\quad Xe_4 = e_3.
\]
Let $\mathcal F_X$ be the variety of complete flags
$F_1 \subset F_2 \subset F_3$ of subspaces of $V$,
which are graded (\emph{i.e.} $F_i = \oplus_j (V_j\cap F_i) \ (1\le i \le 3)$)
and $X$-stable (\emph{i.e.} $XF_i \subset F_i$).
The calculation of $\varphi_X$ amounts to computing the Euler
characteristics of the connected components of $\mathcal F_X$.
In this case there are four components, two points and two
projective lines, so these Euler numbers are 1,\,1,\,2,\,2.
Unfortunately, such a direct geometric computation
looks rather hopeless in general.
\begin{problem}\label{prob1}
Find a combinatorial algorithm for calculating $\mathcal S^*$.
\end{problem}

To formulate the second problem we need more notation.
Let $L\mathfrak{g} = \mathfrak{g} \otimes \mathbb C[t,t^{-1}]$ be the loop algebra of $\mathfrak{g}$,
and let $U_q(L\mathfrak{g})$ denote the quantum analogue of its enveloping
algebra, introduced by Drinfeld and Jimbo.
Here we assume that $q\in\mathbb C^*$ is not a root of unity.
The finite-dimensional irreducible representations of $U_q(L\mathfrak{g})$
are of special importance because their tensor products give rise to trigonometric $R$-matrices,
that is, to trigonometric solutions of the quantum Yang-Baxter
equation with spectral parameters \cite{J}.
The question arises whether the tensor product of two given
irreducible representations is again irreducible.
Equivalently, one can ask whether a given irreducible can be
factored into a tensor product of representations of strictly
smaller dimensions.

For instance, if $\mathfrak{g} = \mathfrak{sl}_2$ and $V_n$ is its
$(n+1)$-dimensional irreducible representation, the loop algebra $L\mathfrak{sl}_2$
acts on $V_n$ by
\[
 (x\otimes t^k)(v) = z^k xv, \qquad (x\in\mathfrak{sl}_2,\, k\in\mathbb Z,\, v\in V_n).
\]
Here $z\in\mathbb C^*$ is a fixed number called the evaluation parameter.
Jimbo \cite{J1} has introduced a simple $U_q(L\mathfrak{sl}_2)$-module
$W_{n,z}$, which can be seen as a $q$-analogue of this evaluation
representation.
Chari and Pressley \cite{CP} have proved that
$W_{n,z} \otimes W_{m,y}$ is an irreducible
$U_q(L\mathfrak{sl}_2)$-module if and only if
\[
q^{n-m}\frac{z}{y}\not \not\in \left\{q^{\pm(n+m+2-2k)} \mid 0<k\le\min(n,m)\right\}.
\]
In the other direction, they
showed that every simple object in the category $\mathrm{mod\,} U_q(L\mathfrak{sl}_2)$ of (type 1) finite-dimensional
$U_q(L\mathfrak{sl}_2)$-modules can be written
as a tensor product of modules of the form $W_{n_i,z_i}$ for
some $n_i$ and $z_i$. Thus the modules $W_{n,z}$ can be regarded as the \emph{prime} simple
objects in the tensor category $\mathrm{mod\,} U_q(L\mathfrak{sl}_2)$.

Similarly, for general $\mathfrak{g}$ one would like to ask
\begin{problem}\label{prob2}
Find the prime simple objects of $\mathrm{mod\,} U_q(L\mathfrak{g})$, and describe
the prime tensor factorization of the simple objects.
\end{problem}

Both problems are quite hard, and we can only offer partial solutions.
An interesting feature is that, in both situations, cluster algebras provide
the natural combinatorial framework to work with.

\section{Cluster algebras}
\label{sect2}

Cluster algebras were invented by Fomin and Zelevinsky \cite{FZ1}
as an abstraction of certain combinatorial structures which they
had previously discovered while studying total positivity in
semisimple algebraic groups.
A nice introduction \cite{F} to these ideas is given in these proceedings,
with many references to the growing literature on the subject.

A cluster algebra is a commutative ring with a distinguished set
of generators and a particular type of relations.
Although there can be infinitely many generators and relations,
they are all obtained from a finite number of them
by means of an inductive procedure called \emph{mutation}.

Let us recall the definition.\footnote{For simplicity
we only consider a particular subclass of cluster algebras:
the antisymmetric cluster algebras of geometric type.
This is sufficient for our purpose.}
We start with the field of rational functions $\mathcal F=\mathbb Q(x_1,\ldots,x_n)$.
A \emph{seed} in $\mathcal F$ is a pair $\Sigma=(\mathbf y,Q)$, where
$\mathbf y=(y_1,\ldots,y_n)$ is
a free generating set of $\mathcal F$, and
$Q$ is a quiver (\emph{i.e. } an oriented graph) with vertices
labelled by $\{1,\ldots,n\}$.
We assume that $Q$ has neither loops nor 2-cycles.
For $k=1,\ldots,n$, one defines a new seed
$\mu_k(\Sigma)$
as follows. First $\mu_k(y_i) = y_i$ for $i\not = k$,
and
\begin{equation}
\mu_k(y_k)= \frac{\prod_{i\to k}y_i + \prod_{k\to j} y_j}{y_k},
\end{equation}
where the first (\emph{resp. } second) product is over all arrows of
$Q$ with target (\emph{resp. } source) $k$.
Next $\mu_k(Q)$ is obtained from $Q$ by
\begin{itemize}
 \item[(a)] adding a new arrow $i\to j$ for every existing pair of arrows
$i\to k$ and $k\to j$;
 \item[(b)] reversing the orientation of every arrow with target or source
equal to $k$;
 \item[(c)] erasing every pair of opposite arrows possibly created by (a).
\end{itemize}
It is easy to check that $\mu_k(\Sigma)$ is a seed, and $\mu_k(\mu_k(\Sigma)) = \Sigma$.
The \emph{mutation class} $\mathcal C(\Sigma)$ is the set of all seeds obtained
from $\Sigma$ by a finite sequence of mutations $\mu_k$. One can think of
the elements of $\mathcal C(\Sigma)$ as the vertices of an $n$-regular
tree in which every edge stands for a mutation.
If $\Sigma' = ((y'_1,\ldots,y'_n),Q')$ is a seed in $\mathcal C(\Sigma)$,
then the subset $\{y'_1,\ldots,y'_n\}$
is called a \emph{cluster}, and its elements are called \emph{cluster variables}.
Now, Fomin and Zelevinsky define the \emph{cluster algebra} $\mathcal A_\Sigma$ as the
subring of $\mathcal F$ generated by all cluster variables.
Some important elements of $\mathcal A_\Sigma$ are the \emph{cluster monomials},
\emph{i.e. } monomials in the cluster variables supported on a single cluster.

For instance, if $n=2$ and $\Sigma=((x_1,x_2),Q)$, where $Q$ is the quiver with $a$
arrows from $1$ to $2$,
then $\mathcal A_\Sigma$ is the subring of $\mathbb Q(x_1,x_2)$ generated
by the rational functions $x_k$ defined recursively by
\begin{equation}
x_{k+1}x_{k-1} = 1+ x_k^a,\qquad (k\in \mathbb Z).
\end{equation}
The clusters of $\mathcal A_\Sigma$ are the subsets $\{x_k,x_{k+1}\}$,
and the cluster monomials are the special elements of the form
\[
 x_k^l x_{k+1}^m,\qquad (k\in\mathbb Z,\ l,m\in \mathbb N).
\]
It turns out that when $a=1$, there are only five different clusters
and cluster variables, namely
\[
 x_{5k+1}=x_1,\ \
 x_{5k+2}=x_2,\ \
 x_{5k+3}=\frac{1+x_2}{x_1},\ \
 x_{5k+4}=\frac{1+x_1+x_2}{x_1x_2},\ \
 x_{5k}=\frac{1+x_1}{x_2}.
\]
For $a\ge 2$ though, the sequence $(x_k)$ is no longer periodic and $\mathcal A_\Sigma$
has infinitely many cluster variables.

The first deep results of this theory shown by Fomin and Zelevinsky are:
\begin{theorem}[\cite{FZ1},\cite{FZ2}]\label{thFZ}
\begin{itemize}
\item[\rm (i)] Every cluster variable of $\mathcal A_\Sigma$ is a Laurent polynomial
with coefficients in $\mathbb Z$
in the cluster variables of any single fixed cluster.
\item[\rm (ii)] $\mathcal A_\Sigma$ has finitely many clusters if and only if the mutation
class $\mathcal C(\Sigma)$ contains a seed whose quiver is an orientation of
a Dynkin diagram of type $A$, $D$, $E$.
\end{itemize}
\end{theorem}

One important open problem \cite{FZ1} is to prove that the coefficients
of the Laurent polynomials in (i) are always positive.
In \S\ref{sect9} below, we give a (conjectural) representation-theoretical
explanation of this positivity for a certain class of cluster algebras.
More positivity results, based on combinatorial or geometric
descriptions of these coefficients, have been obtained by
Musiker, Schiffler and Williams \cite{MSW}, and by Nakajima \cite{N3}.

\section{The cluster structure of $\mathbb C{[}N{]}$}
\label{sect3}

To attack Problem~\ref{prob1} we adopt the following strategy.
We endow $\mathbb C[N]$ with the structure
of a cluster algebra\footnote{Here we mean that $\mathbb C[N] = \mathbb C\otimes_\mathbb Z\mathcal A$
for some cluster algebra $\mathcal A$ contained in $\mathbb C[N]$.}.
Then we show that all cluster monomials belong to $\mathcal S^*$,
and therefore we obtain a large family of elements of $\mathcal S^*$
which can be calculated by the combinatorial algorithm of
mutation.

In \cite[\S 2.6]{BFZ} explicit initial seeds for a
cluster algebra structure in the coordinate ring of the big
cell of the base affine space $G/N$ were described. A simple modification
yields initial seeds for $\mathbb C[N]$ (see \cite{GLS3}).

For instance, if $G=SL_4$ and $N$ is the subgroup of upper unitriangular
matrices, one of these seeds is
\[
((D_{1,2},\,D_{1,3},\,D_{12,23},\,D_{1,4},\,D_{12,34},\,D_{123,234}), Q),
\]
where $Q$ is the triangular quiver:
\[
\xymatrix@-1.0pc{
&& \ar[dl]{1} && \\
&\ar[dl]{2}\ar[rr]&&{3}\ar[ul]\ar[dl]\\
{4}\ar[rr]&&{5}\ar[ul]\ar[rr]&&{6}\ar[ul]
}
\]
Here, by $D_{I,J}$ we mean the regular function on $N$ which
associates to a matrix its minor with row-set $I$
and column-set $J$.
Moreover, the variables
\[
x_4=D_{1,4},\ x_5=D_{12,34},\ x_6=D_{123,234}
\]
are \emph{frozen}, \emph{i.e. } they cannot be mutated, and therefore they belong
to every cluster.
Using Theorem~\ref{thFZ}, it is easy to prove that this cluster
algebra has finitely many clusters, namely $14$ clusters and
$12$ cluster variables if we count the $3$ frozen ones.

In general however, that is, for groups $G$ other than $SL_n$ with
$n\le 5$, the cluster structure of $\mathbb C[N]$ has infinitely many
cluster variables.
To relate the cluster monomials to $\mathcal S^*$ we have to bring the
preprojective algebra into the picture.

\section{The preprojective algebra}
\label{sect4}

Let $\overline{Q}$ denote the quiver obtained
from the Dynkin diagram of $\mathfrak{g}$ by replacing
every edge by a pair $(\alpha,\alpha^*)$
of opposite arrows.
Consider the element
\[
 \rho = \sum (\alpha\a^* - \alpha^*\alpha)
\]
of the path algebra $\mathbb C\overline{Q}$ of $\overline{Q}$,
where the sum is over all pairs of opposite arrows.
Following \cite{GP,Ri}, we define the \emph{preprojective
algebra} $\Lambda$ as the quotient of $\mathbb C\overline{Q}$ by
the two-sided ideal generated by $\rho$.
This is a finite-dimensional selfinjective algebra,
with infinitely many isomorphism classes of indecomposable
modules, except if $\mathfrak{g}$ has type $A_n$ with $n\le 4$.
It is remarkable that these few exceptional cases
coincide precisely with the cases when $\mathbb C[N]$ has
finitely many cluster variables. Moreover, it is a nice
exercise to verify that the number of indecomposable
$\Lambda$-modules is then equal to the number of cluster
variables.

This suggests a close relationship in general between
$\Lambda$ and $\mathbb C[N]$.
To describe it we start with Lusztig's Lagrangian
construction of the enveloping algebra $U(\mathfrak{n})$ \cite{Lu0, Lu1}.
This is a realization of $U(\mathfrak{n})$ as an algebra of $\mathbb C$-valued
constructible functions over the varieties of representations of $\Lambda$.

To be more precise, we need to introduce more notation.
Let $S_i \ (1\le i\le n)$ be the one-dimensional $\Lambda$-modules
attached to the vertices $i$ of $\overline{Q}$.
Given a sequence ${\mathbf i}=(i_1,\ldots,i_d)$ and a $\Lambda$-module $X$
of dimension $d$,
we introduce the variety $\mathcal F_{X,{\mathbf i}}$ of
flags of submodules
\[
{\mathfrak f} = (0=F_0\subset F_1 \subset \cdots \subset F_d = X)
\]
such that $F_k/F_{k-1} \cong S_{i_k}$ for $k=1,\ldots,d$.
This is a projective variety.
Denote by $\Lambda_{\mathbf d}$ the variety of $\Lambda$-modules $X$ with a given
dimension vector ${\mathbf d}=(d_i)$, where $\sum_i d_i =d$.
Consider the constructible function $\chi_{\mathbf i}$ on $\Lambda_{\mathbf d}$
given by
\[
\chi_{\mathbf i}(X) = \chi(\mathcal F_{X,{\mathbf i}})
\]
where $\chi$ denotes the Euler-Poincar\'e characteristic.
Let ${\mathcal M}_{{\mathbf d}}$ be the $\mathbb C$-vector space spanned by
the functions $\chi_{\mathbf i}$ for all possible sequences ${\mathbf i}$
of length $d$, and let
\[
{\mathcal M} = \bigoplus_{{\mathbf d}\in\mathbb N^n} {\mathcal M}_{\mathbf d}.
\]
Lusztig has endowed ${\mathcal M}$ with an associative multiplication
which formally resembles a convolution product, and he has
shown that, if we denote by $e_i$ the Chevalley generators of $\mathfrak{n}$,
there is an algebra isomorphism $U(\mathfrak{n}) \stackrel{\sim}{\rightarrow} {\mathcal M}$
mapping the product $e_{i_1}\cdots e_{i_d}$ to $\chi_{\mathbf i}$ for every ${\mathbf i}=(i_1,\ldots,i_d)$.

Now, following \cite{GLS1,GLS2}, we dualize the picture.
Every $X\in\mathrm{mod\,}\Lambda$ determines a linear form $\delta_X$ on ${\mathcal M}$ given by
\[
 \delta_X(f) = f(X),\qquad (f\in{\mathcal M}).
\]
Using the isomorphisms ${\mathcal M}^* \simeq U(\mathfrak{n})^* \simeq \mathbb C[N]$, the
form $\delta_X$ corresponds to an element $\varphi_X$ of $\mathbb C[N]$,
and we have thus attached to every object $X$ in $\mathrm{mod\,}\Lambda$
a polynomial function $\varphi_X$ on $N$.

For example, if $\mathfrak{g}$ is of type $A_3$, and if we denote by $P_i$
the projective cover of $S_i$ in $\mathrm{mod\,}\Lambda$, one has
\[
 \varphi_{P_1} = D_{123,234},\quad
 \varphi_{P_2} = D_{12,34},\quad
 \varphi_{P_3} = D_{1,4}.
\]
More generally, the functions $\varphi_X$ corresponding to the
12 indecomposable $\Lambda$-modules are
the 12 cluster variables of $\mathbb C[N]$.

Via the correspondence $X \mapsto \varphi_X$ the ring $\mathbb C[N]$
can be regarded as a kind of Hall algebra of the category
$\mathrm{mod\,}\Lambda$. Indeed the multiplication of $\mathbb C[N]$ encodes
extensions in $\mathrm{mod\,}\Lambda$, as shown by the following crucial
result. Before stating it, we recall that $\mathrm{mod\,}\Lambda$ possesses
a remarkable symmetry with respect to extensions, namely,
$\mathrm{Ext}^1_\Lambda(X,Y)$ is isomorphic to the dual of
$\mathrm{Ext}^1_\Lambda(Y,X)$ functorially in $X$ and~$Y$ (see \cite{CB,GLS4}).
In particular $\dim\mathrm{Ext}^1_\Lambda(X,Y) = \dim \mathrm{Ext}^1_\Lambda(Y,X)$ for
every~$X, Y$.

\begin{theorem}[\cite{GLS1,GLS4}]\label{cluster_char}
Let $X, Y \in \mathrm{mod\,}\Lambda$.
\begin{itemize}
 \item[\rm(i)] We have $\varphi_X \varphi_Y = \varphi_{X\oplus Y}$.
 \item[\rm(ii)] Assume that $\dim \mathrm{Ext}^1_\Lambda(X,Y)=1$, and let
\[
 0\to X \to L \to Y \to 0
 \quad\mbox{and}\quad
 0\to Y \to M \to X \to 0
\]
be non-split short exact sequences. Then
$\varphi_X \varphi_Y = \varphi_L + \varphi_M$.
\end{itemize}
\end{theorem}
In fact \cite{GLS4} contains a formula for
$\varphi_X \varphi_Y$ valid for any dimension of $\mathrm{Ext}^1_\Lambda(X,Y)$,
but we will not need it here.
As a simple example of (ii) in type $A_2$, one can take
$X=S_1$ and $Y=S_2$. Then we have the non-split short
exact sequences
\[
 0\to S_1 \to P_2 \to S_2 \to 0
 \quad\mbox{and}\quad
 0\to S_2 \to P_1 \to S_1 \to 0,
\]
which imply the relation
$\varphi_{S_1} \varphi_{S_2} = \varphi_{P_2} + \varphi_{P_1}$,
that is, the elementary determinantal relation
$D_{1,2}D_{2,3} = D_{1,3} + D_{12,23}$
on the unitriangular subgroup of $SL_3$.
More generally, the short Pl\"ucker relations in $SL_{n+1}$
can be obtained as instances of (ii).

We note that Theorem~\ref{cluster_char} is the analogue for
$\mathrm{mod\,}\Lambda$ of a formula of Caldero and Keller \cite{CK} for
the cluster categories
introduced by Buan, Marsh, Reineke, Reiten and Todorov \cite{BMRRT}
to model cluster algebras with an acyclic seed.
Cluster categories are not abelian, but Keller \cite{Kel1}
has shown that they are triangulated, so in this setting
exact sequences are replaced by distinguished triangles.

\section{The dual semicanonical basis $\mathcal S^*$}
\label{sect5}

We can now introduce the basis $\mathcal S^*$ of the vector space $\mathbb C[N]$.
Let ${\mathbf d} = (d_i)$ be a dimension vector. The variety $\overline{E}_{\mathbf d}$
of representations of $\mathbb C\overline{Q}$ with dimension vector ${\mathbf d}$ is a
vector space of dimension $2\sum d_id_j$, where the sum is over all
pairs $\{i,j\}$ of vertices of the Dynkin diagram which are
joined by an edge. This vector space has a natural symplectic structure.
Lusztig \cite{Lu0} has shown that $\Lambda_{\mathbf d}$ is a Lagrangian
subvariety of $\overline{E}_{\mathbf d}$,
and that the number of its irreducible components is equal to
the dimension of the degree ${\mathbf d}$ homogeneous component of $U(\mathfrak{n})$
(for the standard $\mathbb N^n$-grading given by the Chevalley generators).
Let ${\mathcal Z}$ be an irreducible component of $\Lambda_{\mathbf d}$. Since the map
$\varphi : X \mapsto \varphi_X$
is a constructible map on $\Lambda_{\mathbf d}$, it is constant on a Zariski open subset of ${\mathcal Z}$.
Let $\varphi_{\mathcal Z}$ denote this generic value of $\varphi$ on ${\mathcal Z}$.
Then, if we denote by ${\mathcal I} = \sqcup_{\mathbf d} {\mathcal I}_{\mathbf d}$ the collection of all
irreducible components of all varieties $\Lambda_{\mathbf d}$, one can easily check
that
\[
 \mathcal S^* = \{\varphi_{\mathcal Z} \mid {\mathcal Z} \in {\mathcal I}\}
\]
is dual to the basis $\mathcal S = \{f_{\mathcal Z} \mid {\mathcal Z} \in {\mathcal I}\}$ of ${\mathcal M} \cong U(\mathfrak{n})$
constructed by Lusztig in \cite{Lu1}, and called by him the semicanonical basis.

For example, if $\mathfrak{g}$ is of type $A_n$ and $N$ is the
unitriangular subgroup in $SL_{n+1}$, then all the
matrix minors $D_{I,J}$ which do not vanish identically on $N$
belong to $\mathcal S^*$ \cite{GLS1}. They are of the form
$\varphi_X$, where $X$ is a subquotient of an
indecomposable projective $\Lambda$-module.

More generally, suppose that $X$ is a \emph{rigid} $\Lambda$-module,
\emph{i.e. } that $\mathrm{Ext}^1_\Lambda(X,X) = 0$.
Then $X$ is a generic point of the unique irreducible
component ${\mathcal Z}$ on which it sits, that is, $\varphi_X = \varphi_{\mathcal Z}$
belongs to $\mathcal S^*$, so the calculation of $\varphi_{\mathcal Z}$
amounts to evaluating the Euler characteristics $\chi(\mathcal F_{X,{\mathbf i}})$
for every ${\mathbf i}$ (of course only finitely many varieties
$\mathcal F_{X,{\mathbf i}}$ are non-empty).
Thus in type $A_3$, the nilpotent endomorphism $X$ of \S \ref{sect1}
can be regarded as a rigid $\Lambda$-module with dimension vector
${\mathbf d} = (1,2,1)$, and the connected components of $\mathcal F_X$ are
just the non-trivial varieties $\mathcal F_{X,{\mathbf i}}$, namely
\[
\mathcal F_{X,(2,1,2,3)},\quad \mathcal F_{X,(2,3,2,1)},\quad \mathcal F_{X,(2,2,1,3)},\quad \mathcal F_{X,(2,2,3,1)}.
\]
Note however that if $\mathfrak{g}$ is not of type $A_n\ (n\le 4)$, there
exist irreducible components ${\mathcal Z}\in{\mathcal I}$ whose generic points are not
rigid $\Lambda$-modules.

\section{Rigid $\Lambda$-modules}
\label{sect6}

Let $r$ be the number of positive roots of $\mathfrak{g}$.
Equivalently $r$ is the dimension of the affine space $N$.
This is also the number of elements of every cluster of $\mathbb C[N]$
(if we include the frozen variables).
Geiss and Schr\"oer have shown \cite{GS} that
the number of pairwise non-isomorphic indecomposable direct summands
of a rigid $\Lambda$-module is bounded above by $r$.
A rigid module with $r$ non-isomorphic indecomposable summands
is called \emph{maximal}.
We will now see that the seeds of the cluster structure of $\mathbb C[N]$
come from maximal rigid $\Lambda$-modules.

Let $T=T_1\oplus \cdots \oplus T_r$ be a maximal rigid module,
where every $T_i$ is indecomposable. Define $B = \mathrm{End}_\Lambda T$, a basic
finite-dimensional algebra with simple modules $s_i\ (1\le i\le r)$.
Denote by $\Gamma_T$ the quiver of $B$, that is, the quiver with
vertex set $\{1,\ldots,r\}$ and $d_{ij}$ arrows
from $i$ to $j$, where $d_{ij}=\dim \mathrm{Ext}^1_B(s_i,s_j)$.

\begin{theorem}[\cite{GLS2}]
The quiver $\Gamma_T$ has no loops nor 2-cycles.
\end{theorem}

Define $\Sigma(T) = ((\varphi_{T_1},\ldots,\varphi_{T_r}),\,\Gamma_T)$.

\begin{theorem}[\cite{GLS3}]
There exists an explicit maximal rigid $\Lambda$-module $U$
such that $\Sigma(U)$ is one of the seeds of the cluster structure
of $\mathbb C[N]$.
\end{theorem}

Let us now lift the notion of seed mutation to the category $\mathrm{mod\,}\Lambda$.

\begin{theorem}[\cite{GLS2}]
Let $T_k$ be a non-projective indecomposable summand of $T$.
There exists a unique indecomposable module $T_k^*\not\cong T_k$
such that $(T/T_k)\oplus T_k^*$ is maximal rigid.
\end{theorem}

We call $(T/T_k)\oplus T_k^*$ the \emph{mutation of $T$ in direction $k$},
and denote it by $\mu_k(T)$.
The proof of the next theorem relies among other things on
Theorem~\ref{cluster_char}.

\begin{theorem}[\cite{GLS2}]\label{thGLS}
\begin{itemize}
\item[{\rm(i)}] We have $\Sigma(\mu_k(T)) = \mu_k(\Sigma(T))$, where in the right-hand side
$\mu_k$ stands for the Fomin-Zelevinsky seed mutation.
\item[{\rm(ii)}] The map $T \mapsto \Sigma(T)$ gives a one-to-one correspondence
between the maximal rigid modules in the mutation class of $U$ and the
clusters of $\mathbb C[N]$.
\end{itemize}
\end{theorem}
It follows immediately that the cluster monomials of $\mathbb C[N]$ belong to $\mathcal S^*$.
Indeed, by (ii) every cluster monomial is of the form
\[
 \varphi_{T_1}^{a_1}\cdots\varphi_{T_r}^{a_r} = \varphi_{T_1^{a_1}\oplus \cdots \oplus T_r^{a_r}},
\quad (a_1,\ldots,a_r\in\mathbb N),
\]
for some maximal rigid module $T=T_1\oplus\cdots\oplus T_r$,
and therefore belongs to $\mathcal S^*$ because $T_1^{a_1}\oplus \cdots \oplus T_r^{a_r}$ is rigid.

Thus the cluster monomials form a large subset of $\mathcal S^*$ which can
(in principle) be calculated algorithmically by iterating the seed mutation
algorithm from an explicit initial seed.
This is our partial answer to Problem~\ref{prob1}.

Of course, these results also give a better understanding of the cluster structure
of $\mathbb C[N]$. For instance they show immediately that the cluster monomials
are linearly independent (a general conjecture of Fomin and Zelevinsky).
Furthermore, they suggest the definition of new cluster algebra structures
on the coordinate rings of unipotent radicals of parabolic subgroups of $G$,
obtained in a similar manner from some appropriate Frobenius
subcategories of $\mathrm{mod\,}\Lambda$ (see \cite{GLS5}). One can also develop an analogous theory for
finite-dimensional unipotent subgroups $N(w)$ of a Kac-Moody group attached to
elements $w$ of its Weyl group (see \cite{BIRS,GLS6}).

\section{Finite-dimensional representations of $U_q(L\mathfrak{g})$}
\label{sect7}

We now turn to Problem \ref{prob2}.
We need to recall some known facts about the category
$\mathrm{mod\,} U_q(L\mathfrak{g})$\footnote{We only consider modules \emph{of type 1}, a mild technical
condition, see \emph{e.g.} \cite[\S12.2 B]{CPbook}.} of finite-dimensional modules over $U_q(L\mathfrak{g})$.

By construction, $U_q(L\mathfrak{g})$ contains a copy of $U_q(\mathfrak{g})$, so in a sense
the representation theory of $U_q(L\mathfrak{g})$ is a refinement of that of
$U_q(\mathfrak{g})$.
Let $\varpi_i\ (1\le i \le n)$ be the fundamental weights of $\mathfrak{g}$, and
denote by
\[
P = \bigoplus_{i=1}^n \mathbb Z \varpi_i,\qquad P_+ = \bigoplus_{i=1}^n \mathbb N \varpi_i,
\]
the weight lattice and the monoid of dominant integral weights.
It is well known that $\mathrm{mod\,} U_q(\mathfrak{g})$ is a semisimple tensor category,
with simple objects $L(\lambda)$ parame\-tri\-zed by $\lambda\in P_+$.
In fact, every $M\in\mathrm{mod\,} U_q(\mathfrak{g})$ has a decomposition
\begin{equation}\label{decompM}
 M = \bigoplus_{\mu \in P} M_\mu
\end{equation}
into eigenspaces for a commutative subalgebra $A$ of $U_q(\mathfrak{g})$ coming
from a Cartan subalgebra of $\mathfrak{g}$.
One shows that if $M$ is irreducible, the highest weight occuring
in (\ref{decompM}) is a dominant weight $\lambda$, $\dim M_\lambda = 1$, and
there is a unique simple $U_q(\mathfrak{g})$-module with these properties, hence the notation $M=L(\lambda)$.
For an arbitrary $M\in \mathrm{mod\,} U_q(\mathfrak{g})$, the formal sum
\[
 \chi(M) = \sum_{\mu \in P} \dim M_\mu\, e^\mu
\]
is called the \emph{character} of $M$, since it characterizes $M$ up to isomorphism.

When dealing with representations of $U_q(L\mathfrak{g})$ one needs to introduce
spectral parameters $z \in \mathbb C^*$, and therefore $P$ and $P_+$
have to be replaced by
\[
 \widehat{P} = \bigoplus_{1\le i\le n,\ z\in\mathbb C^*} \mathbb Z (\varpi_i, z),\qquad
\widehat{P}_+ = \bigoplus_{1\le i \le n,\ z\in\mathbb C^*} \mathbb N (\varpi_i, z).
\]
It was shown by Chari and Pressley \cite{CP,CP2} that finite-dimensional
irreducible representations
of $U_q(L\mathfrak{g})$ were similarly determined by their highest $l$-weight
$\widehat{\la} \in \widehat{P}_+$
(where $l$ stands for ``loop'').
This comes from the existence of
a large commutative subalgebra $\widehat{A}$ of $U_q(L\mathfrak{g})$ containing $A$.
If $M\in\mathrm{mod\,} U_q(L\mathfrak{g})$ is regarded as a $U_q(\mathfrak{g})$-module by restriction
and decomposed as in (\ref{decompM}),
then every $U_q(\mathfrak{g})$-weight-space
$M_\mu$ has a finer decomposition into generalized eigenspaces for $\widehat{A}$
\[
 M_\mu = \bigoplus_{\widehat{\mu}\in\widehat{P}} M_{\widehat{\mu}}
\]
where the $\widehat{\mu} = \sum_k m_{i_k}(\varpi_{i_k},z_k)$ in the right-hand side all satisfy
$\sum_k m_{i_k}\varpi_{i_k} = \mu$.
The corresponding formal sum
\[
 \chi_q(M) = \sum_{\widehat{\mu} \in \widehat{P}} \dim M_{\widehat{\mu}}\, e^{\widehat{\mu}}
\]
has been introduced by Frenkel and Reshetikhin \cite{FR} and called
by them the \emph{$q$-character} of $M$.
It characterizes the class of $M$ in the Grothendieck ring of $\mathrm{mod\,} U_q(L\mathfrak{g})$,
but one should be warned that this is not a semisimple category, so this
is much coarser than an isomorphism class.

For instance, the $4$-dimensional irreducible
representation $V_3$ of $U_q(\mathfrak{sl}_2)$ with highest weight $\lambda=3\varpi_1$ has character
\[
\chi(V_3) = Y^3 + Y^{1} + Y^{-1} + Y^{-3}
\]
if we set $Y=e^{\varpi_1}$. There is a family
$W_{3,z}\in\mathrm{mod\,} U_q(L\mathfrak{sl}_2)$ of affine analogues
of~$V_3$, parametrized by $z\in\mathbb C^*$, whose $q$-character
is given by
\[
 \chi_q(W_{3,z})= Y_zY_{zq^2}Y_{zq^4}
+ Y_zY_{zq^2}Y_{zq^6}^{-1}
+ Y_zY_{zq^4}^{-1}Y_{zq^6}^{-1}
+ Y_{zq^2}^{-1}Y_{zq^4}^{-1}Y_{zq^6}^{-1},
\]
where we write $Y_a = e^{(\varpi_1,a)}$ for $a\in\mathbb C^*$.
Thus $W_{3,z}$ has highest $l$-weight
\[
\widehat{\la} = (\varpi_1,z) + (\varpi_1,zq^2) + (\varpi_1,zq^4).
\]
The reader can easily imagine what is the general expression
of $\chi_q(W_{n,z})$ for any $(n,z)\in\mathbb N\times\mathbb C^*$.
It follows that there is a closed formula for the $q$-character of
every finite-dimensional irreducible $U_q(L\mathfrak{sl}_2)$-module since, as already
mentioned, every such module factorizes as a tensor product
of $W_{n_i,z_i}$ and the factors are given by a simple combinatorial rule \cite{CP}.

The situation is far more complicated in general. In particular
it is not always possible to endow an irreducible $U_q(\mathfrak{g})$-module
with the structure of a $U_q(L\mathfrak{g})$-module. The only general description
of $q$-characters of simple $U_q(L\mathfrak{g})$-modules, due to
Ginzburg and Vasserot for type $A$ \cite{GV} and to Nakajima in general \cite{N1},
uses intersection cohomology of certain moduli spaces of
representations of graded preprojective algebras, called graded quiver
varieties. This yields a Kazhdan-Lusztig type algorithm for
calculating the irreducible $q$-characters \cite{N2}, but this type
of combinatorics does not easily reveal the possible factorizations
of the $q$-characters.

\section{The subcategories $\mathcal C_\ell$}
\label{sect8}

It can be shown that Problem~\ref{prob2} for $\mathrm{mod\,} U_q(L\mathfrak{g})$
can be reduced to the same problem for some much smaller tensor subcategories
$\mathcal C_\ell\ (\ell\in\mathbb N)$ which we shall now introduce.

Denote by $L(\widehat{\la})$ the simple object of $\mathrm{mod\,} U_q(L\mathfrak{g})$ with
highest $l$-weight $\widehat{\la}\in\widehat{P}_+$.
Since the Dynkin diagram of $\mathfrak{g}$ is a tree, it is a bipartite graph.
We denote by $I=I_0\sqcup I_1$ the corresponding partition of the
set of vertices, and we write $\xi_i = 0$ (\emph{resp. } $\xi_i = 1$) if
$i\in I_0$ (\emph{resp. } $i\in I_1$).
For $\ell\in\mathbb N$, let
\[
\widehat{P}_{+,\ell} = \bigoplus_{1\le i \le n,\ 0\le k \le\ell} \mathbb N (\varpi_i, q^{\xi_i + 2k}).
\]
We then define $\mathcal C_\ell$ as the full subcategory of $\mathrm{mod\,} U_q(L\mathfrak{g})$
whose objects $M$ have all their composition factors of the
form $L(\widehat{\la})$ with $\widehat{\la}\in \widehat{P}_{+,\ell}$.
It is not difficult to prove \cite{HL} that $\mathcal C_\ell$ is a tensor subcategory,
and that its Grothendieck ring $K_0(\mathcal C_\ell)$ is the polynomial ring in
the $n(\ell + 1)$ classes of fundamental modules
\[
[L(\varpi_i, q^{\xi_i + 2k})], \qquad (1\le i \le n,\ 0\le k \le\ell).
\]

For example, let $W_{j,a}^{(i)}$ denote the simple object of $\mathrm{mod\,} U_q(L\mathfrak{g})$
with highest $l$-weight
\[
 (\varpi_i,a) + (\varpi_i,aq^2) + \cdots + (\varpi_i, aq^{2j-2}),
\quad (i\in I,\ j\in\mathbb N^*,\ a\in\mathbb C^*),
\]
a so-called \emph{Kirillov-Reshetikhin module}.
The $q$-characters of the Kirillov-Resheti\-khin modules satisfy
a nice system of recurrence relations, called $T$-system in the
physics literature, which allows to calculate them inductively
in terms of the $q$-characters of the fundamental modules
$L(\varpi_i,a)$.
This was conjectured by Kuniba, Nakanishi and Suzuki \cite{KNS},
and proved by Nakajima \cite{N4} (see also \cite{H2} for the non simply-laced
cases).
The $q$-characters of the fundamental modules can in turn be calculated
by means of the Frenkel-Mukhin algorithm \cite{FM}.
One should therefore regard the Kirillov-Reshetikhin modules as the most
``accessible'' simple $U_q(L\mathfrak{g})$-modules.
There are $n(\ell+1)(\ell+2)/2$ such modules in $\mathcal C_\ell$, namely:
\[
W^{(i)}_{j,q^{\xi_i + 2k}},
\quad
(i\in I,\ 0<j\le \ell+1,\ 0\le k \le \ell +1 - j).
\]

\section{The cluster algebras $\mathcal A_\ell$}
\label{sect9}

Let $Q$ denote the quiver obtained by orienting the Dynkin
diagram of $\mathfrak{g}$ so that every $i\in I_0$ (\emph{resp. } $i\in I_1$)
is a source (\emph{resp. } a sink).
We define a new quiver $\Gamma_\ell$ with vertex set
$\{(i,k)\mid i\in I,\ 1\le k \le \ell + 1\}$.
There are three types of arrows
\begin{itemize}
 \item[(a)] arrows $(i,k) \rightarrow (j,k)$ for every arrow $i \to j$ in $Q$
and every $1\le k\le \ell + 1$;
 \item[(b)] arrows $(j,k) \rightarrow (i,k+1)$ for every arrow $i \to j$ in $Q$
and every $1\le k\le \ell$;
 \item[(c)] arrows $(i,k) \leftarrow (i,k+1)$ for every $i\in I$ and every
$1\le k\le \ell$.
\end{itemize}
For example, if $\mathfrak{g}$ has type $A_3$ and $I_0 = \{1,3\}$, the quiver $\Gamma_3$ is:

\medskip
\[
\xymatrix@-1.4pc{
(1,1)\ar[rd] && \ar[ll](1,2) \ar[rd] && \ar[ll](1,3) \ar[rd] && \ar[ll]{(1,4)} \ar[rd] \\
&(2,1)\ar[ru]\ar[rd]&&\ar[ll](2,2)\ar[ru]\ar[rd]&&\ar[ll](2,3)\ar[ru]\ar[rd]&&\ar[ll]{(2,4)}& \\
(3,1)\ar[ru] && \ar[ll](3,2) \ar[ru] && \ar[ll](3,3) \ar[ru] && \ar[ll]{(3,4)} \ar[ru]
}
\]
Let $\mathbf x = \{x_{(i,k)} \mid i\in I,\ 1\le k \le \ell + 1\}$ be a set of indeterminates
corresponding to the vertices of $\Gamma_\ell$,
and consider the seed $(\mathbf x , \Gamma_\ell)$ in which the $n$ variables
$x_{(i,\ell+1)}\ (i\in I)$ are frozen.
This is the initial seed of a cluster algebra $\mathcal A_\ell \subset \mathbb Q(\mathbf x)$.
By Theorem~\ref{thFZ}, if $\mathfrak{g}$ has type $A_1$ then
$\mathcal A_\ell$ has finite cluster type $A_\ell$. Also, if $\ell = 1$,
$\mathcal A_\ell$ has finite cluster type equal to the Dynkin type of $\mathfrak{g}$.
Otherwise, except for a few small rank cases, $\mathcal A_\ell$ has infinitely
many cluster variables.

Our partial conjectural solution of Problem~\ref{prob2} can be summarized
as follows (see \cite{HL} for more details):
\begin{conj}\label{conjec}
There is a ring isomorphism
$\iota_\ell : \mathcal A_{\ell} \stackrel{\sim}{\to} K_0(\mathcal C_\ell)$
such that
\[
\iota_\ell(x_{(i,k)}) = \left[W^{(i)}_{k,\,q^{{\xi_i}+2({\ell}+1-k)}}\right],\qquad (i\in I,\ 1\le k\le \ell+1).
\]
The images by $\iota_\ell$ of the cluster variables are classes
of prime simple modules, and the images of the cluster monomials
are the classes of all \emph{real} simple modules in~$\mathcal C_\ell$, \emph{i.e. } those simple
modules whose tensor square is simple.
\end{conj}
Thus, if true, Conjecture~\ref{conjec} gives a combinatorial description in terms of
cluster algebras of the prime tensor factorization of every real
simple module.
Note that, by definition, the square of a cluster monomial is again a cluster monomial.
This explains why cluster monomials can only correspond to real simple modules.
For $\mathfrak{g}=\mathfrak{sl}_2$, all simple $U_q(L\mathfrak{g})$-modules are real.
However for $\mathfrak{g}\not = \mathfrak{sl}_2$ there exist \emph{imaginary} simple $U_q(L\mathfrak{g})$-modules
(\emph{i.e. } simple modules whose tensor square is not simple), as shown
in \cite{L}.
This is consistent with the expectation that
a cluster algebra with infinitely many cluster variables
is not spanned by its set of cluster monomials.

We arrived at Conjecture~\ref{conjec} by noting that the $T$-system
equations satisfied by Kirillov-Reshetikhin modules are
of the same form as the cluster exchange relations.
This was inspired by the seminal work of Fomin and Zelevinsky \cite{FZ0},
in which cluster algebra combinatorics is used to prove Zamolodchikov's
periodicity conjecture for $Y$-systems attached to Dynkin diagrams.
Kedem \cite{Ked} and Di Francesco \cite{KDF}, Keller \cite{Kel2,Kel3},
Inoue, Iyama, Kuniba, Nakanishi and Suzuki \cite{IIKNS}, have
also exploited the similarity between cluster exchange relations
and other types of functional equations arising in mathematical physics
($Q$-systems, generalized $T$-systems,
$Y$-systems attached to pairs of simply-laced Dynkin diagrams).
Recently, Inoue, Iyama, Keller, Kuniba and Nakanishi \cite{IIKKN1,IIKKN2}
have obtained a proof of the periodicity conjecture for all $T$-systems and $Y$-systems
attached to a non simply-laced quantum affine algebra.

As evidence for Conjecture~\ref{conjec}, we can easily check that for $\mathfrak{g}=\mathfrak{sl}_2$
and any $\ell\in\mathbb N$, it follows from the results
of Chari and Pressley \cite{CP}.
On the other hand, for arbitrary $\mathfrak{g}$ we have:
\begin{theorem}[\cite{HL,N3}]\label{th9.2}
Conjecture~\ref{conjec} holds for $\mathfrak{g}$ of type $A, D, E$ and $\ell = 1$.
\end{theorem}
This was first proved in \cite{HL} for type $A$ and $D_4$ by combinatorial
and represen\-ta\-tion-theoretic methods, and soon after, by Nakajima \cite{N3}
in the general case, by using the geometric description of the simple $U_q(L\mathfrak{g})$-modules.
In both approaches, a crucial part of the proof can be summarized in
the following chart:
\[
\begin{matrix}
\mbox{$F$-polynomials} & \leftrightarrow & \mbox{quiver Grassmannians} \cr
\updownarrow && \updownarrow \cr
\mbox{$q$-characters} & \leftrightarrow & \mbox{Nakajima quiver varieties}
\end{matrix}
\]
Here, the $F$-polynomials are certain polynomials
introduced by Fomin and Zelevinsky \cite{FZ4} which allow
to calculate the cluster variables in terms of a fixed
initial seed.
By work of Caldero-Chapoton \cite{CC}, Fu-Keller \cite{FK} and Derksen-Weyman-Zelevinsky
\cite{DWZ1,DWZ2}, $F$-polynomials have a geometric description via Grassmannians
of subrepresentations of some quiver representations attached to
cluster variables: this is the
upper horizontal arrow of our diagram.
The lower horizontal arrow refers to the already mentioned
relation between irreducible $q$-characters and
perverse sheaves on quiver varieties established by Nakajima
\cite{N1,N2}. In \cite{HL} we have shown that the $F$-polynomials
for $\mathcal A_1$ are equal to certain natural truncations of the
corresponding irreducible $q$-characters of $\mathcal C_1$ (the left vertical arrow),
and we observed that this yielded an alternative geometric description of
these $q$-characters in terms of ordinary homology of quiver Grassmannians.
In \cite{N3} Nakajima used a Deligne-Fourier transform to obtain a direct
relation between perverse sheaves on quiver varieties for $\mathcal C_1$
and homology of quiver Grassmannians (the right vertical arrow), and deduced from it
the desired connection with the cluster algebra $\mathcal A_1$.

The other main step in the approach of \cite{HL} is a certain tensor product
theorem for the category $\mathcal C_1$. It states that a tensor product
$S_1\otimes \cdots \otimes S_k$ of simples objects of $\mathcal C_1$ is simple
if and only if $S_i\otimes S_j$ is simple for every pair $1\le i < j\le k$.
A generalization of this theorem to the whole category $\mathrm{mod\,} U_q(L\mathfrak{g})$
has been recently proved by Hernandez \cite{H}. Note that the theorem of Hernandez is
also valid for non simply-laced Lie algebras $\mathfrak{g}$, and thus opens the way to a similar
treatment of Problem~\ref{prob2} in this case.

Conjecture~\ref{conjec} has also been checked
for $\mathfrak{g}$ of type $A_2$ and $\ell = 2$ \cite[\S 13]{HL}.
In that small rank case, $\mathcal A_2$ still has finite cluster type $D_4$,
and this implies that $\mathcal C_2$ has only real objects.
There are 18 explicit prime simple objects with respective dimensions
\[
3,\ 3,\ 3,\ 3,\ 3,\ 3,\ 6,\ 6,\ 6,\ 6,\ 8,\ 8,\ 8,\ 10,\ 10,\ 15,\ 15,\ 35,
\]
and 50 factorization patterns (corresponding to the 50 vertices of
a generalized associahedron of type $D_4$ \cite{FZ2}).
Our proof in this case is quite indirect and uses a lot of
ingredients: the quantum affine Schur-Weyl duality,
Ariki's theorem for type $A$ affine Hecke algebras \cite{A}, the
coincidence of Lusztig's dual canonical and dual semicanonical bases
of $\mathbb C[N]$ in type $A_4$ \cite{GLS1}, and Theorem~\ref{thGLS}.

One remarkable consequence of Theorem~\ref{th9.2}
from the point of view of cluster algebras is that it immediately implies
the positivity conjecture of Fomin and Zelevinsky for the cluster algebras
$\mathcal A_1$ with respect to any reference cluster (see \cite[\S2]{HL}).
Conjecture~\ref{conjec} would similarly yield positivity for the
whole class of cluster algebras $\mathcal A_\ell$.

\section{An intriguing relation}
\label{sect10}

Problem~\ref{prob1} and Problem~\ref{prob2} may not be
as unrelated as it would first seem.
For a suggestive example, let us take $\mathfrak{g}$ of type $A_3$.
In that case, the abelian category $\mathrm{mod\,} \Lambda$ has 12 indecomposable
objects (which are all rigid), 3 of them being projective-injective.
On the other hand the tensor category $\mathcal C_1$ has 12 prime simple objects
(which are all real), 3 of them having the property that their tensor product
with every simple of $\mathcal C_1$ is simple.
It is easy to check that $\mathbb C[N]$ and $\mathbb C\otimes_\mathbb Z K_0(\mathcal C_1)$ are isomorphic
as (complexified) cluster algebras with frozen variables.
Therefore we have a unique one-to-one correspondence
\[
 X\ \leftrightarrow\ S
\]
between rigid
objects $X$ of $\mathrm{mod\,} \Lambda$ and simple objects $S$ of $\mathcal C_1$
such that
\[
 \varphi_X \equiv [S],
\]
that is, such that $X$ and $S$ project to the same cluster monomial.
In this correspondence, direct sums $X \oplus X'$ map to
tensor products $S\otimes S'$.
It would be interesting to find a general framework for relating
in a similar way, via cluster algebras, certain additive categories
such as $\mathrm{mod\,} \Lambda$ to certain tensor categories such as $\mathcal C_1$.
We refer to \cite{K} for a very accessible survey of these ideas.

\bigskip\noindent
\emph{Acknowledgements}: I wish to thank Christof Geiss and Jan Schr\"oer
for their very precious collaboration and friendship over the years,
and David Hernandez for his stimulating enthusiasm.

redpajama_set_name: RedPajamaArXiv


text:
Sai Paranjape
Sai Paranjpe is an Indian Movie Director who is known for movies like Disha (1990), Chasme Buddoor (1981) and Sparsh (1980). She is also a screenwriter and till now, she produced several award winning scripts. Sai Paranjape has also been awarded with the title of Padma Bhushan in 2006 for her contribution in the field of art. Apart from this, she received many other awards including National Film Awards.
In her lifetime, she directed a total of 21 movies and TV shows. The list starts with The Little Tea Shop in 1972 and the last movie directed by her was Suee in 2009. Sai Paranjpe successfully created a line between the parallel and mainstream cinema.
Life and Early Work
Talking about the early life of Sai Paranjpe, it is known that she was morning in Mumbai on 19 March 1938. Her father was a Russian citizen and he was the son of a Russian General and a Russian Artist. Sai Paranjape's mother was an Indian actress who worked in Duniya Na Mane (1937). Inspired by her uncle Achyut Ranade, Sai started writing in early life and her first book was published when she was just 8 years old. Later in 1963, Sai completed her graduation from National School of Drama in New Delhi.
Sai worked in All India Radio before she started directing Hindi, English and Marathi plays. She also wrote many plays and this is how she started working as a film director. The first movie directed by her was Jadu Ka Shankh in 1974 and rest is history.
Sai Paranjape started directing and writing plays before she entered the line of filmmaking. This helped her in gaining a different perspective as well as experience required to enter the field. With this, she got a chance to direct her first TV movie known by the name of The Little Tea Shop (1972) and soon she also directed her first cinema.
Sai Paranjape won 2 National Film Awards for Sparsh and she also received one National Film Award for Choodiyan. Sparsh became so popular that she received 2 Filmfare Awards for this movie. Sai Paranjape has made a great contribution in various themes in filmmaking.
The Cinema of Sai Paranjape
Sai Paranjape has worked towards promoting value-based entertainment for children and this had been the base for her work. During her career, she made four movies for children including Sikandar (1976) and Jadoo Ka Shankh (1974). Both the movies became really popular and in the later years, she also directed Sparsh. Her work also included comedy movies like Katha and Chasme Buddoor. Sai Paranjape also focused on some of the social issues in her movie. The social issues that she covered via her cinema include National Literacy mission and the plight of immigrant workers. She also directed Saaz, a movie about the lives of Mangeshkar sisters. Apart from this, she also directed Chaka Chak and the aim of this movie was to create awareness about environmental issues.
Sai Paranjape on Art House Cinema

redpajama_set_name: RedPajamaCommonCrawl


Is there a way to have the same Meeting ID on the Google Chrome extension as the RingCentral Meetings App?
When scheduling a meeting trough the Google Chrome extension, the meeting ID is different every time, so when the meeting actually start, by login-in to the RingCentral meetings tool on a conference room it is hard to find the meeting. The steps to go around is login-in on the personal email, then clicking on the link that was created by the Google Chrome extension, and start the meeting that way. Is there a better way of working this out? a more straight forward situation? Thanks for the help.
The best alternative I can think of would be to schedule the meetings using the mobile app. That way you can choose to use the personal meeting ID and email the invite via gmail.


She might be referring to Trump's tweet Saturday when Trump slammed Warren in what appeared to be a joke about the Trail of Tears, the forced relocation of thousands of Native Americans during the 19th century.
Elizabeth Warren (D-MA) suggested that President Donald Trump may be jailed by the time election day in 2020 rolls around. Warren cemented her 2020 campaign with a call to fight economic inequality and build "an America that works for everyone".
'What are we as candidates, as activists, as the press, going to do about it? During her first of three events Sunday in eastern Iowa, Warren said the president shouldn't be allowed to dictate the direction of the campaign with divisive attacks. "In fact, he may not even be a free person".
Trump has not been charged with any crimes, but several of his former advisers have pleaded guilty to a variety of charges. In Cedar Rapids, she said sweeping changes are needed to rebalance an economy that she now favours the wealthy at the expense of middle- and lower-income Americans. She is one of two Native American women in Congress.


Itcc locksmiths are dbs checked. We aim to deliver all orders within 2-3 business days. I highly recommend locksmith near me, they did an amazing service! efi fix my lock within minutes, great price and highly professional! thanks! We have an expanding customer base, in and around hertfordshire & essex, including office management companies, property & letting agents, landlords, government buildings, building & maintenance contractors, offices, shops, pubs, clubs, restaurants and domestic properties a high proportion of the business comes from repeat customers who are extremely satisfied with our locksmith service and frequently recommend our services to colleagues, friends and family we do not use a call centre so you will always be able to speak with a professional locksmith to answer any questions or to solve any problems you may have we pride ourselves on our polite professional service, quality of our workmanship and excellent aftercare. This was the first ever nightlatch to receive bs certification. Look at each tradesperson's profile page to see their ratings and reviews. Established in 1921, buckle and jones have been providing services to cumbria for almost a century we have built up a reputation as an honest, efficient company and are proud to serve private individuals and large organisations around the uk we provide an extensive range of services for our customers giving them a single point of contact for all their home and business needs services provided are all at competitive rates.
If you find yourself in the situation where you are looking for a locksmith near me, domestic and commercial clients can rely on us as their local locksmith in shirley, addiscombe, croydon and the nearby areas at lardner locksmiths, we provide 24 hour locksmith services, from repairs and major-brand replacements, to emergency locksmith callouts in the wider surrey and kent locales no job is too big or too small for our professional locksmith team. A through-the-gate postbox, hampstead nw3. Our team offer bespoke locksmith services for residential, commercial and industrial property owners call us for a free quote. Timpson locksmiths offer a rapid response so you are not left out in the cold! if you are locked out of your property or have lost keys we can help. His services are amazing i will be contacting him again if i need another locksmith i found him online and contacted him and he arrived within the hour and made me another car key with no hassle he's very professional and reliable thank you for your services. Key is stuck in the lock unable to lock the door. Nissan car keys newark , nissan car key newark , nissan key newark , nissan remote key newark , nissan fob key newark. If you have any questions please read our. Discounting locks, not your safety. Locksmith bristol can access any door using the best techniques in the industry that cause the minimum amount of damage or fuss you can rest assured that locksmith bristol will deal with any unlocking situation in the most professional manner.
My brother lost the key for his vauxhall astra, key access ni called out that same day, made a new key and programmed it to the immobiliser within 1 hour, it was a genuine vauxhall flip key!". We make it convenient by making our locksmith team available 24 hours a day, the parts we use are by high quality known brands so you can be assured on the quality you'll receive. Our experienced team will work with your van to provide the right locking brackets as well as cylinders and lock cases, meaning you get a bespoke van deadlock fitting service that's specifically tailored to suit your van, helping you achieve maximum security. Stay in touch through our social channels. Lets you pick out the type of authentication you want to store alongside your. We have seen a sharp increase in the need for.
With the added benefit of being mobile you can have your keys. Call locksmith brighton and speak to one of our trained advisors today, we won't make you speak to any automated robots or machines, or put you on hold for half a day waiting to speak to someone, we'll put you straight to the right person and they'll guide you with anything you need assistance with. We provide a rapid 30 minute response to help you get back into your property steroideanabole-12de.eu testosteron tabletten promptly, and with the minimum of fuss. We have vacancies across all of our waterways and in the offices, museums and attractions that support them we're one of the uk's biggest charities and we take pride in everything we do. Locks play a very important role when it comes to security they must be durable and installed correctly in order to provide a maximum level of safety contact us whenever you need to install a lock and we will help you. Fast, friendly, efficient , cheap came within 1hr of me ringing as promised and more than made sure that my 75 year old mam can now sleep easy honestly cant praise the professionalism enough gladly recommend tony's locksmith to anyone and everyone well happy… brilliant. Keep your car secure, be aware that storing your keys near the door enables car thieves to easily steal your. Our locksmiths in nottingham will always quote prior to being dispatched to your location, so you will always receive the price given over the telephone, we do not charge any extras or hidden fee's, so rest assured you are in good hands. With professional training, we offer residents of e8 and the nearby areas. Call us now for a competitive replacement car key price. We provide general locksmith services from lock opening, lock repair which includes repairing and reconditioning older or antique locks we also have a key cutting service for most lock types our work covers domestic household services, commercial office and workshop services including the farming and equine industries we also offer an automotive upgrade service which includes the fitting of aftermarket alarms and security systems, some of our automotive services are outsourced to a parent company. At worrall's locksmiths we can provide you with the complete key cutting and locksmith service.


After Route 128 was built, Burlington, MA, changed rapidly. From 1955 to 1965, Burlington was the fastest growing town in Massachusetts. In fact, in a five-year period, its population tripled. If that isn't impressive enough, the movie Paul Blart: Mall Cop was filmed in Burlington's mall.
Vladimir Ivanovich is the leader of the New England SQL Server User Group. He gave us a sneak peek into his life in the SQL Server community.
When did you begin your professional career?
I graduated Clark University's Computer Program in 1998 and started working as an application developer the same year.
What's a normal week at work like for you?
I split my time between "monitor and react" and "architect and improve", with greater emphasis on projects and architecture. I strive to mentor the team, share knowledge, and engage my co-workers in presenting at company events and at user groups.
What was your first IT or computer project that added value?
My first project out of college was letters and printing automation for the clinical case managers' office at the hospital where I worked. It used to take two people almost 4 hours a day to print the letters and labels and manually match them. With some VB code and MS Access database, the process was automated to selecting the date range and clicking the "print" button. This allowed the clinicians to spend more time with patients and improve the quality of care.
What sort of career do you think you'd pursue today if you hadn't chosen IT?
I would probably continue my healthcare career. Before becoming a database professional in the USA, I had practiced medicine in Minsk, Belarus.
When did you come to the area?
We immigrated to the United States in 1994 and settled in Massachusetts.
What made you decide to help as a volunteer leader?
I have been a member of New England SQL Server User Group since late 90s. I have learned a lot over the years, have met great people, and made life-long friends, all through the group. I started volunteering at SQLSaturdays and helping with the user group meetings several years ago. In 2017, the group leadership asked me if I could help a bit more and become an organizer. We have a great leadership team (Taiob Ali, Robert Padilla, Deborah Melkin, John Moore, George Walters, and Paresh Motiwala) and share the responsibilities. This makes my job much easier and brings more value to our 2,100+ members.
What is the IT community like in your town?
The Boston area has a vibrant high tech community. We are fortunate to live and work in the area with some of the best colleges and universities in the world and hundreds of tech and financial companies, all concentrated in Boston proper and the suburbs. We can take advantage of attending dozens of user group events each month, within a one-hour commute radius: Microsoft Burlington (NESQL, Boston BI, North Boston Azure, and New England MS Developers), Boston/Cambridge (BostonSQL, Boston Azure, and many others), New Hampshire (SeacoastSQL), and Rhode Island (RI SQL).
What do you enjoy doing in the area?
New England offers a wide variety of cultural, historical, and outdoor activities. We frequently go to museums, concerts, and shows. My family enjoys hiking, biking, going to the beach, skiing, and snowshoeing. I have been a volunteer soccer coach in my town for the past 9 years.
What do you recommend visitors to your town do on their own #SQLVacation?
If this is your first time in the Boston area, you may want to walk the Freedom Trail that leads to many historical sites. Taking a Boston Duck Tour is another way to enjoy the sites from the land and water. When we host family and friends who have been to Boston area before, we take them to Cambridge, Rockport, Gloucester, Salem, and Cape Cod. The White Mountains and the Lakes Region of New Hampshire are not far if you have a car. For museum lovers, I highly recommend visiting the Glass Flowers exhibition at the Harvard Museum of Natural History. I believe that this is one of the most unique exhibitions in the world and cannot be seen anywhere else.
This year, my co-workers surprised me with a bobblehead in my likeness, which I actually don't hate. You could win one, along with a bunch of other SentryOne goodies, by entering our 2018 #SQLVacation contest. Visit the SQL Vacation web page to learn more about the contest, as well as the next stop on the SQL Vacation tour.


Thanks to Chad for letting us know about this booth, installed at Orange Dracula on June 30, 2012.
The booth only takes credit and check cards. Orange Dracula is located downstairs on the third floor of the market.
UPDATE 5/25/17: Andrew reports that the booth at Orange Dracula is going strong.
UPDATE 7/15/18: Shan let us know that the booth here is still up and running.


Basing Power | PowerFilm Solar Inc.
70% of the convoys in the theater of war are involved in "liquid logistics," the delivery of fuel and water. Solar panels used on FOBs can dramatically reduce the need for fuel convoys. One out of every 24 convoys in a combat zone results in a casualty. Transportation, convoy and security costs $100 to $400 per gallon in combat zones.
Marines in Afghanistan used about 200,000 gallons of fuel a day to power their "warfighting capabilities." The Forward Operating Bases used by the Marines required a minimum of 300 gallons of diesel each day. In one test, the PowerShade reduced FOB fuel use from 20 gallons a day to 2 gallons a day.
Ideal for communication hubs, first aid stations, maintenance bays or any large area needing cover and solar power, the PowerShade is the operational choice of militaries everywhere. Capable of providing 1.8 kW to 5.4 kW, the PowerShade comes in two four-man lift portable sections and can be set up by a crew of five in less than one hour.
Besides providing electrical power from the integrated solar panels, the PowerShade structure provides a 20% environmental cooling factor.
Interested in a custom solar solution? We can do that. Contact Us and we can get the process started.


text:
Q: Error while trying to insert rsa key (tuple) into sql database I am learning sqlite3 and I tried inserting an rsa key into one of my columns that I made but I get this error:
sqlite3.InterfaceError: Error binding parameter 2 - probably unsupported type.

Here's my code:
import sqlite3, rsa

db = sqlite3.connect('database.db')
db.execute('drop table if exists user')
db.execute('create table user (username text, password text, pubKey tuple,
privKey tuple)')

username = input("Input Username: ")
password = input("Input Password: ")
confirm = input("Confirm Password: ")
(pubKey, privKey) = rsa.newkeys(512)

if password == confirm:
    db.execute('insert into user (username, password, pubKey, privKey) values (?, ?, ?, ?)', (username, password, pubKey, privKey))
    db.commit()
else:
    quit()

I am using rsa.newkeys to generate the keys and they generate as tuples. For example the tuple will be something along the lines of:
PublicKey(7993225774562669856453147392958346571937702133919317490212017912216372852796080413531673713173968180340315460310318908937895213458133041784535151317298739, 65537)
I looked at the documentation for rsa and rsa.newkeys() dpes return a tuple but I get the error saying it is the wrong data type.

A: Take a look at your RSA key - it's probably hex (i.e. there are numbers AND letters) so int will not work. Int is for numbers only.
I'd suggest either using text or blob for the type.

A: pubKey and privKey are instances of the classes (rsa.key.PublicKey and rsa.key.PrivateKey)
From the instance you could take both vallues as int:
pubKey.n - from your example it's 7993225774562669856453147392958346571937702133919317490212017912216372852796080413531673713173968180340315460310318908937895213458133041784535151317298739
pubKey.e - it's 65537
If you need only the keys, save int to the db:
db.execute('create table user (username text, password text, pubKey int, privKey int)')
...
db.execute('insert into user (username, password, pubKey, privKey) values (?, ?, ?, ?)', (username, password, pubKey.n, privKey.n))

If you need a whole string, convert to str and save as text:
db.execute('create table user (username text, password text, pubKey text, privKey text)')
...
db.execute('insert into user (username, password, pubKey, privKey) values (?, ?, ?, ?)', (username, password, str(pubKey), str(privKey)))

redpajama_set_name: RedPajamaStackExchange


text:
Q: Trouble migrating from graphql-import to just graphql-tools with ApolloServer, directives cease to work My plight began as a simple desire to expand my graphql schema from a single .graphql file to multiple files so i can better organize the schema and so it wouldn;t grow to one huge file out of control.
My original layout was very straight forward and i had a working schema in a schema.graphql file. I would be able to parse it into a string using importSchema('server/schema.graphql') from the graphql-import library, which is now deprecated https://github.com/ardatan/graphql-import
They mention that it has been merged into graphql-tools in the newest version and provide a migration tutorial here https://www.graphql-tools.com/docs/migration-from-import The tutorial seems very straight forward since their first example pretty much illustrate exactly what my code looks like (except i dont use es6 import but old fashoined require):
import { importSchema } from 'graphql-import';
import { makeExecutableSchema } from 'graphql-tools';

const typeDefs = importSchema(join(__dirname, 'schema.graphql'));
const resolvers = {
  Query: {...}
};
const schema = makeExecutableSchema({ typeDefs, resolvers });

And then they say to modify it, simply make these changes
import { loadSchemaSync } from '@graphql-tools/load';
import { GraphQLFileLoader } from '@graphql-tools/graphql-file-loader';
import { addResolversToSchema } from '@graphql-tools/schema';

const schema = loadSchemaSync(join(__dirname, 'schema.graphql'), { loaders: [new GraphQLFileLoader()] });
const resolvers = { Query: {...} };

const schemaWithResolvers = addResolversToSchema({
  schema,
  resolvers,
});

I made those changes but the vital difference is that they no longer use makeExecutableSchema() in their example, which is pretty important for me since i need to include the directives. What do i do now with the schema? How do i declare the directives? their documentation for directives still uses makeExecutableSchema but i cant use it anymore since the new loadSchemaSync function returns an object instead of a string literal which i would need to pass to typeDefs in makeExecutableSchema
I am using apollo-server, so it seemed a possible workaround was to just declare the directives in the apollo-server constructor and just pass in this new schemaWithResolvers as a schema as such
const server = new ApolloServer({
    schema, //this includes now the returned value of using addResolversToSchema()
    schemaDirectives : {
        auth:AuthDirective,
        authRole: AuthRoleDirective
    }
    context : ({req}) => //dostuff,

});

This allows my server to run, and i can perform queries and mutations, however, my directives are no longer working, and i no longer have authentication on protected queries.
I would like a way to import my .graphql file and parse it into a string so i can use it inside typeDefs as i used to with importSchema() or a way to declase my directies without using makeExecutableSchema() so that they continue working again!
I have gone up and down the documentation and seen other libraries and so far i keep coming up short, any tips or guidance is greatly appreciated

A: makeExecutableSchema is still part of graphql-tools and you can continue to use it as shown here in the docs. The issue with the example shown in the docs is that it's not equivalent to what you were doing before. You should use loadTypedefsSync instead:
import { loadTypedefsSync } from '@graphql-tools/load';
import { GraphQLFileLoader } from '@graphql-tools/graphql-file-loader';
import { addResolversToSchema } from '@graphql-tools/schema';

const sources = loadTypedefsSync(join(__dirname, 'schema.graphql'), { loaders: [new GraphQLFileLoader()] });
const documentNodes = sources.map(source => source.document);
const resolvers = { Query: {...} };

const schema = makeExecutableSchema({ typeDefs, resolvers });

Alternatively, if you go the loadSchema route, you should be able to apply the directives to your schema after loading it:
import { SchemaDirectiveVisitor } from "@graphql-tools/utils";
import { loadSchemaSync } from '@graphql-tools/load';
import { GraphQLFileLoader } from '@graphql-tools/graphql-file-loader';
import { addResolversToSchema } from '@graphql-tools/schema';

const schema = loadSchemaSync(join(__dirname, 'schema.graphql'), { loaders: [new GraphQLFileLoader()] });
const resolvers = { Query: {...} };

const schemaWithResolvers = addResolversToSchema({
  schema,
  resolvers,
});

SchemaDirectiveVisitor.visitSchemaDirectives(schemaWithResolvers, schemaDirectives);

A: I tried this way but I couldn't solve the problem. A unique solution that managed to take the following approach:
const { ApolloServer, makeExecutableSchema, gql} = require('apollo-server-express')
const { loadTypedefsSync }  = require('@graphql-tools/load')
const { GraphQLFileLoader } = require('@graphql-tools/graphql-file-loader')
const path = require('path')

const sources = loadTypedefsSync(
    path.resolve(__dirname, '../schema/root.graphql'),
    { loaders: [new GraphQLFileLoader()] }
)
const typeDefs = sources.map(source => source.document)

const schema = makeExecutableSchema({
    typeDefs: gql`${typeDefs[0]}`,
    resolvers,
})

A: I had the same issue I loaded the Schema via .graphql and I want to add the graphql-constraint-directive. My Solution was to load the schema with loadSchemaSync and then to use the wrapSchema to use the transform functions, you need also to add the directives into one of your .graphql files:
import { addResolversToSchema, wrapSchema } from 'graphql-tools';
import { GraphQLSchema } from 'graphql';
import resolvers from './resolver';

schema = loadSchemaSync('./**/*.graphql', {
  loaders: [new GraphQLFileLoader()],
});

const schemaWithResolver = addResolversToSchema({
    schema,
    resolvers
  });

const { constraintDirective } = require('graphql-constraint-directive')

const schemaConstrain = wrapSchema({
  schema: schemaWithResolver,
  transforms: [constraintDirective()]
})

Documentation to Schema Wrapping