Monthly Archives: June 2021

Getting started on Apache Ignite

Setup Apache Ignite

[1] Download Ignite from

[2] Install Ignite


[3] Add Ignite to the PATH environment variable

export IGNITE_HOME=your ignite home path


[3] Start Ignite by executing the following command

You should see:

(^c to stop Ignite)

[4] Enable Ignite restful interface

copy the folder $IGNITE_HOME/libs/optional/ignite-rest-http to $IGNITE_HOME/libs

Setup Apache Maven

[1] Download Maven from :

[2] install Maven


[3] Add Maven to the PATH environment variable


[4] Test Maven, run

mvn -v

You should see:

Rest Client communicates with Ignite

[1] Create Ignite cache

Open your web-browser and enter the following URL:


It should return :

Cache is created.

[2] Put data into Ignite cache:


[3] Get data from Ignite cache:


You should see:

You can also use ignitevisorcmd to view your cache:

You should see:

First Ignite Application

[1] Write your first Ignite application

[2] Build your first Ignite application

mvn clean install

You should see:

[3] Run your first Ignite application

java -jar target/HelloIgnite-runnable.jar

Your should see:

[4] Verify cache entries using ignitevisorcmd:

cache -scan

Deriving Generalized Leibniz’s Integral Rule

The general form of Leibniz’s Integral Rule with variable limits states:

Suppose f(x, t) satisfies the condition stated previously for the basic form of Leibniz’s Rule (LR-1, see “A Semi-Rigorous Derivation of Leibniz’s Rule“) . In addition, a(t), b(t) are defined and have continuous derivatives for t_1\le t\le t_2. Then for t_1\le t \le t_2,

\frac{d}{d t}\int\limits_{a(t)}^{b(t)}f(x, t)\;dx = f(b(t),t)\cdot b'(t) -f(a(t),t)\cdot a'(t)+ \int\limits_{a(t)}^{b(t)}\frac{\partial}{\partial t}f(x, t)\;dx.\quad\quad\quad(1)

(1) can be derived as a consequence of LR-1, the Multivariable Chain Rule, and the Fundamental Theorem of Calculus (FTC):


\int\limits_{a(t)}^{b(t)}f(x, t)\;dx\quad\quad\quad(2)

on the left side of (1) is a function of t.


u = a(t),\quad\quad\quad(3)

v = b(t),\quad\quad\quad(4)

w = t,\quad\quad\quad(5)

(2) can be expressed as

G(u,v,w) = \int\limits_{u}^{v}f(x,w)\;dx.

Hence, by the chain rule,

\frac{d}{d t}\int\limits_{u}^{v}f(x, w)\;dx = \frac{\partial}{\partial u}G(u,v,w)\cdot \frac{du}{dt} +  \frac{\partial}{\partial v} G(u,v,w)\cdot \frac{dv}{dt} +  \frac{\partial}{\partial w}G(u,v,w)\cdot \frac{dw}{dt}


\frac{\partial}{\partial u}G(u,v,w)=\frac{\partial}{\partial u}\int\limits_{u}^{v}f(x, w)\;dx

= \frac{\partial}{\partial u}\left(-\int\limits_{v}^{u}f(x, w)\;dx\right)

= -\frac{\partial}{\partial u}\int\limits_{v}^{u}f(x, w) \;dx

\overset{\textbf{FTC}}{=} -f(u, w)

\overset{(3), (5)}{=} -f(a(t), t),

\frac{\partial}{\partial v}G(u,v,w)=\frac{\partial}{\partial v}\int\limits_{u}^{v}f(x, w)\;dx \overset{\textbf{FTC}}{=}f(v, w) \overset{(4), (5)}{=} f(b(t), t)


\frac{\partial}{\partial w}G(u,v,w)=\frac{\partial}{\partial w}\int\limits_{u}^{v}f(x, w)\;dx \overset{\textbf{LR-1}}{=} \int\limits_{u}^{v}\frac{\partial}{\partial w}f(x, w)\;dx\overset{(3), (4), (5)}{=} \int\limits_{a(t)}^{b(t)}\frac{\partial}{\partial t}f(x, t)\;dx.

It follows that

\frac{d}{d t}\int\limits_{a(t)}^{b(t)}f(x, t)\;dx =-f(a(t),t)\cdot a'(t) + f(b(t),t)\cdot b'(t) + \int\limits_{a(t)}^{b(t)}\frac{\partial}{\partial t}f(x, t)\;dx,


\frac{d}{d t}\int\limits_{a(t)}^{b(t)}f(x, t)\;dx = f(b(t),t)\cdot b'(t) -f(a(t),t)\cdot a'(t)+ \int\limits_{a(t)}^{b(t)}\frac{\partial}{\partial t}f(x, t)\;dx.

A Semi-Rigorous Derivation of Leibniz’s Rule

Leibniz’s rule (LR-1) states:

Let f(x, \beta) be continuous and have a continuous derivative \frac{\partial}{\partial \beta} in a domain of x\beta-plane that includes the rectangle a \le x \le b, \beta_1 \le \beta \le \beta_2,

\frac{d}{d\beta}\int\limits_{a}^{b}f(x, \beta)\;dx =\int\limits_{a}^{b}\frac{\partial}{\partial \beta}f(x, \beta)\;dx.

I will derive LR-1 semi-rigorously as follows:


g(t) = \int\limits_{a}^{b} \frac{\partial}{\partial t}f(x, t)\;dx.\quad\quad\quad(1-1)

Integrate (1-1) with respect to t from a constant \alpha to a variable \beta, we have

\int\limits_{\alpha}^{\beta} g(t)\;dt = \int\limits_{\alpha}^{\beta}\left(\int\limits_{a}^{b} \frac{\partial}{\partial t}f(x, t)\;dx\right)\;dt

\overset{(\star)}{=}\int\limits_{a}^{b}\left(\int\limits_{\alpha}^{\beta} \frac{\partial}{\partial t}f(x, t)\;dt\right)\;dx

=\int\limits_{a}^{b}f(x, \beta) - f(x, \alpha)\; dx

=\int\limits_{a}^{b}f(x, \beta)\;dx - \int\limits_{a}^{b}f(x,\alpha)\; dx.

That is,

\int\limits_{\alpha}^{\beta} g(t)\;dt = \int\limits_{a}^{b}f(x, \beta)\;dx - \int\limits_{a}^{b}f(x,\alpha)\; dx.\quad\quad\quad(1-2)

While \int\limits_{\alpha}^{\beta}g(t)\;dt and \int\limits_{a}^{b}f(x,\beta)\;dx are functions of \beta, \int\limits_{a}^{b}f(x,\alpha)\;dx is a constant.


\frac{d}{d\beta}\int\limits_{\alpha}^{\beta} g(t)\;dt \overset{\textbf{FTC}}{= }g(\beta), \quad\frac{d}{d\beta}\left(\int\limits_{a}^{b}f(x, \beta)\;dx - \int\limits_{a}^{b}f(x,\alpha)\; dx\right)=\frac{d}{d\beta}\int\limits_{a}^{b}f(x, \beta)\;dx,

differentiate (1-2) with respect to \beta gives

g(\beta) = \frac{d}{d\beta}\int\limits_{a}^{b}f(x, \beta)\;dx\overset{(1-1)}{\implies} \int\limits_{a}^{b} \frac{\partial}{\partial \beta}f(x, \beta)\;dx= \frac{d}{d\beta}\int\limits_{a}^{b}f(x, \beta)\;dx;


\frac{d}{d\beta}\int\limits_{a}^{b}f(x, \beta)\;dx = \int\limits_{a}^{b} \frac{\partial}{\partial \beta}f(x, \beta)\;dx.

In the three-dimensional x, y, z-space, the double integral of a continuous function with two independent variables, V=\iint_{R} f(x, y) dx dy, may be interpreted as a volume between the surface z=f(x, y) and the x, y-plane:

Fig. 1 V = \iint_R f(x,y) dx dy

We see from Fig. 1 that on one hand,

V=\int\limits_{c}^{d}\int\limits_{a}^{b}f(x,y)\;dx dy,\quad\quad\quad(2-1)

but on the other hand,

V=\int\limits_{a}^{b}\int\limits_{c}^{d}f(x,y)\;dy dx.\quad\quad\quad(2-2)

Since (2-1) and (2-2) amounts to the same thing, it must be true that

\int\limits_{c}^{d}\int\limits_{a}^{b}f(x,y)\;dx dy=\int\limits_{a}^{b}\int\limits_{c}^{d}f(x,y)\;dy dx.\quad\quad\quad(\star)

In other words, the order of integration can be interchanged.