text:
\section{Introduction}
\label{sec:intro}
When investigating
systems in thermodynamic equilibrium with time independent
Hamiltonians
it was a great success to solve and discuss correlation functions in
the transformed frequency space.
These functions are analytic functions in the complex plane except for
a branch cut along the real axis. This knowledge was first used for the
T=0 Green function
technique e.g. \cite{zubarev60,tyablikov67}.
However, especially for finite temperatures, the theory of complex
differentiable functions had led to the development of a very
powerful method, the Matsubara technique \cite{matsubara55}.

For the derivation of the equations of motion an imaginary axis
formulation using Matsubara frequencies was used very early. The
numerical solution of such equations however was first achieved along the
real axis. An example for this is the solution of the Eliashberg
equations by Schrieffer et al. \cite{schrieffer63,scalapino66}.

Later it was discovered that a numerical solution was far more efficient
when an imaginary axis technique is used. In this way static
quantities like e.g. expectation values for occupation numbers $\langle n
\rangle$ or double occupancy $\langle n_{\uparrow} n_{\downarrow}
\rangle $ and their temperature dependence and some thermodynamic
quantities can be calculated successfully. An example is the calculation of
the the superconducting critical temperature \cite{owen71,bergmann73} and the
temperature dependence of the critical magnetic field and specific
heat from the Eliashberg equations \cite{rainer74}.

A major shortcoming of such an imaginary axis treatment is that
dynamical quantities like, for example, the electron density of
states (along the real
frequency axis) are difficult to obtain. Usually Pade approximants
\cite{vidberg77} or maximum entropy \cite{silver90} techniques are
used to obtain
dynamical quantities.
The fact that we need these complicated methods shows how difficult it
is to calculate the values of a function at n$^R$ points  along the
real axis when n$^I$ points along the imaginary axis are known.
The simplest way to illustrate this is the following: The
further away the n$^I$ points are from the n$^R$ points the more the
system of equations which has to be solved in order to obtain
dynamical quantities tends to be singular and therefore tiny inaccuracies
of the functions on the n$^I$ points, the Matsubara frequencies, can
lead to much bigger inaccuracies along the real axis, at points
n$^R$.

In this paper we
go in some sense back to the old real axis technique and
propose a treatment in which all
quantities are
directly calculated along the real axis.
Since we do not
calculate the functions at the Matsubara frequencies we do not need a
mapping onto the real axis.
As an example we use the
T-matrix calculation using the ladder diagrams in the
particle-particle channel for the
attractive Hubbard model. This approximation is valid in the low
density regime and is of particular interest since it might be able to
model some aspects of the short coherence length pairs observed in the
high-T$_c$ superconductors \cite{randeria89,micnas95,janko97}.

\section{spectral representations}
In order to motivate our method we give here a short overview of how
different treatments of Green functions can be connected by using a
spectral representation and by using the whole frequency plane.

A one particle correlation function of operators $C$ and $B$
which are either both Bosonic or Fermionic operators
can be
written as a function of
temporal and spatial coordinates:
\begin{equation}
\label{eq1:def}
G^k(x_i,t,x_j,t') = -i \langle
T_{F/B} C^{\dagger}(x_i,t) B(x_j,t') \rangle
\end{equation}
where $T_{F/B}$ is the time ordering operator for Fermions or Bosons and
\begin{equation}
\langle ... \rangle =
Z^{-1} Tr(e^{-\beta \tilde{H}}...)
\end{equation}
is the thermal expectation value. $Z$ is the partition function in the
grand canonical ensemble and $
\tilde{H} = H - \mu N $ is the Hamiltonian in this ensemble.
If we restrict ourselves to systems
in thermal equilibrium
with periodic boundary conditions and
time independent Hamiltonians we can apply a
Fourier transform \cite{laplace}:
\begin{eqnarray}
\label{eq2:def}
G^k({\bf k},\omega) &=& \int_{-\infty}^{\infty} d(t-t') \frac{1}{N}
\int d({\bf x}_i - {\bf x}_j) \nonumber \\ && G^k(t-t',x_i-x_j)
e^{i \omega (t-t')} e^{i {\bf k}({\bf x}_i - {\bf x}_j)} \;\;\; .
\end{eqnarray}
The definition (\ref{eq1:def}) and equation (\ref{eq2:def}) are valid at
all temperatures.\\
The function  $G^k({\bf k},\omega)$ is related to a function which is
analytic
in the whole complex $\omega$-plane with the exception of a branch
cut along the real axis. Therefore there exists a spectral
representation and $G^k({\bf k},\omega)$ can be rewritten as a
function of a spectral function $J({\bf k},\omega)$ which is a
real function defined along the real $\omega$ axis. The Green function
$G^k({\bf k},\omega)$ is connected to its spectral representation in
the following way:
\begin{eqnarray}
\label{eq:spect}
G^k({\bf k},\omega) &=& \lim_{\delta \rightarrow 0^+} \frac{1}{2\pi}
\int_{-\infty}^{\infty} d\overline{\omega} \nonumber \\ &&
\biggl( \frac{J({\bf k},\overline{\omega}) e^{\beta \overline{\omega}}}
{\omega -   \overline{\omega} + i \delta} -
\frac{\mp J({\bf k},\overline{\omega}) }
{\omega -   \overline{\omega} - i \delta}  \biggr) \;\;\; .
\end{eqnarray}
Here and in the following the upper sign
corresponds to Fermions whereas the lower sign describes Bosons. For
practical use we want to define a slightly different function $A({\bf
k},\omega)$:
\begin{equation}
A({\bf k},\omega) = \frac{1}{2} J({\bf k},\omega) (e^{\beta
\omega} \pm 1) \;\;\; .
\end{equation}
Therefore equation (\ref{eq:spect}) can be rewritten:
\begin{eqnarray}
G^k({\bf k},\omega) &=& \lim_{\delta \rightarrow 0^+}
\frac{1}{\pi}
\int_{-\infty}^{\infty} d\overline{\omega} \nonumber \\ &&
\biggl(
\frac{A({\bf k},\overline{\omega})
\frac{e^{\beta \overline{\omega}}}{e^{\beta \overline{\omega}} \pm 1}
}
{\omega -   \overline{\omega} + i \delta} \pm
\frac{ A({\bf k},\overline{\omega})
\frac{1}{e^{\beta \overline{\omega}} \pm 1}
}
{\omega -   \overline{\omega} - i \delta} \biggr) \;\;\; .
\end{eqnarray}
For a non-interacting system and $C$,$B$ e.g. Fermionic operators
$c_{\bf k}$ the function $\sum_{\bf k} A({\bf k},\omega)$ is identical to the
density of states. For an interacting system $\sum_{\bf k} A({\bf k},\omega)$
will still be a density of states but $A({\bf k},\omega)$ becomes dependent on the
thermodynamic variables $T$,$\mu$.
\begin{equation}
A({\bf k},\omega) \longrightarrow A^{T,\mu}
({\bf k},\omega)
\end{equation}
The usual $T=0$ Green functions for which the zero temperature diagram
technique \cite{fetwal} is valid can be rewritten as a function of
$A^{T,\mu}
({\bf k},\omega)$:
\begin{eqnarray}
G^k({\bf k},\omega) &=& \lim_{\beta \rightarrow \infty}
\lim_{\delta \rightarrow 0^+}
\frac{1}{\pi}
\int_{-\infty}^{\infty} d\overline{\omega} \nonumber \\ &&
\biggl(
\frac{A^{T,\mu}({\bf k},\overline{\omega})
\frac{e^{\beta \overline{\omega}}}{e^{\beta \overline{\omega}} \pm 1}
}
{\omega -   \overline{\omega} + i \delta} \pm
\frac{ A^{T,\mu}({\bf k},\overline{\omega})
\frac{1}{e^{\beta \overline{\omega}} \pm 1}
}
{\omega -   \overline{\omega} - i \delta} \biggr) \\
G^R({\bf k},\omega) &=& \lim_{\beta \rightarrow \infty}
\lim_{\delta \rightarrow 0^+}
\frac{1}{\pi}
\int_{-\infty}^{\infty} d\overline{\omega}
\frac{A^{T,\mu}({\bf k},\overline{\omega})}
{\omega -   \overline{\omega} + i \delta} \\
G^A({\bf k},\omega) &=& \lim_{\beta \rightarrow \infty}
\lim_{\delta \rightarrow 0^+}
\frac{1}{\pi}
\int_{-\infty}^{\infty} d\overline{\omega}
\frac{A^{T,\mu}({\bf k},\overline{\omega})}
{\omega -   \overline{\omega} - i \delta}
\end{eqnarray}
where $R,A$ denotes retarded and advanced Green functions. $G^R({\bf
k},\omega)$ and $G^A({\bf k},\omega)$ are both branches of one
function $G({\bf k},z)$
defined on the whole complex plane with the exception of the
branch cut along the real axis where the poles of $A^{T,\mu}({\bf
k},\overline{\omega})$ are located:
\begin{equation}
G({\bf k},z) =
\frac{1}{\pi}
\int_{-\infty}^{\infty} d\overline{\omega}
\frac{A^{T,\mu}({\bf k},\overline{\omega})}
{z - \overline{\omega} } \;\; .
\end{equation}

Also the thermal Green functions defined entirely along the
imaginary frequency axis can be written as a function of
$A^{T,\mu}({\bf k},\overline{\omega})$
\begin{equation}
\label{eq:therm}
G^t({\bf k},i\omega_n) =
\frac{1}{\pi}
\int_{-\infty}^{\infty} d\overline{\omega}
\frac{A^{T,\mu}({\bf k},\overline{\omega})}
{i\omega_n -\overline{\omega}  }
\end{equation}
where $i \omega _n = \frac{(2n+1)\pi i}{\beta} , \frac{2n\pi i}{\beta} $
are the Matsubara frequencies for
Fermions and Bosons respectively. The fact that the functions are
only defined at certain periodic points means that the Fourier
series of eq. (\ref{eq:therm})
\begin{equation}
G^t({\bf k},i\tau) = \frac{1}{\beta} \sum_{n=-\infty}^{\infty}
e^{-i\omega _n \tau}
G^t({\bf k},i\omega_n)
\end{equation}
is periodic in imaginary time
\begin{equation}
G^t({\bf k},i\tau + i \beta) = \mp  G^t({\bf k},i\tau) \;\;\; .
\end{equation}
This means that the full knowledge of the function $G({\bf k},z)$ is
either obtained by knowing (a) $G({\bf k},i\omega_n)$ on the infinite
but discrete points $i \omega_n$ along the imaginary axis
or by knowing (b) $A^{T,\mu}({\bf k},\omega)$ on a continuum
along the real axis. The details of the usual Green function technique are
outlined in many textbooks e.g. \cite{AGD,fetwal}. Here we only want
to highlight the connection of both methods with the function
 $A^{T,\mu}({\bf k},\omega)$. The usual Matsubara technique determines
the functions along the points $i\omega_n$ whereas we will discuss a
method in this paper which calculates an approximation of
$A^{T,\mu}({\bf k},\omega)$.

\section{numerical technique}
The solution of the equations in a certain approximation for a
correlated quantum system will generally be found numerically.
In order to achieve self-consistency it is
preferable to
perform discrete sums over Matsubara frequencies than to calculate a
function like  $A^{T,\mu}({\bf k},\omega)$. But to obtain dynamical
quantities along the real axis, a difficult and somewhat uncontrolled
analytic continuation will have to be performed.
Therefore there have been attempts to solve such systems along the
real axis (see for example  \cite{marsiglio88} for the Eliashberg
equations and \cite{fresard92,kyung98} for the self-consistent T-matrix
equations). In these works some numerical integration  was required
along the real axis.

However in this section we
argue
that it is possible to replace $A^{T,\mu}({\bf k},\omega)$ by a series
of (typically a few hundred) $\delta$ functions along the real
axis. With this approximation all frequency integrations will turn
into summations over a finite number of $\delta$ functions and can
therefore be done analytically. We use
\begin{equation}
A^{T,\mu}({\bf k},\omega)
\approx \pi \sum_{l=1}^{N_{max}} a_l^{\bf k} \delta(\omega - b_l)
\end{equation}
where the amplitudes are $a_l^{\bf k}$ (which also
depend
on the thermodynamic variables)
and the poles are located at
the positions $b_l$. The Green function $G({\bf k},\omega)$ can now be
expressed in this approximation as a sum of poles:
\begin{eqnarray}
 G({\bf k},i\omega_n) & \approx &
\frac{1}{\pi}
\int_{-\infty}^{\infty} d\overline{\omega}
\frac{\pi \sum_{l=1}^{N_{max}} a_l^{\bf k} \delta(\overline{\omega} - b_l)}
{i\omega_n -\overline{\omega}  }
\nonumber \\ &=&
\sum_{l=1}^{N_{max}} \frac{a_l^{\bf k}}{i\omega_n - b_l}
\;\;\; .
\end{eqnarray}
Using such a spectral representation our aim is to convert the usually
complicated equations for $G({\bf k},i\omega_n)$ into sets of
equations for the amplitudes $a_l^{\bf k}$ only.

\subsection{Frequency grid}
An important point is how to choose the frequency points $b_l$ along the
real axis. In a previous work \cite{letz98}
we let them
fluctuate freely during the calculation but employed some
approximations to restrict the number $N_{max}$. In this work we keep
them fixed relative to the chemical potential
which leads to an efficient algorithm.\\
It also turned out to be of importance to adopt the frequency grid to
the problem (e.g. if the influence of a band edge is important the
frequency points should be more dense around that band edge)
and especially to the temperature.\\
For a Fermionic system -- where the energy range of $\pm k_BT$ around the
chemical potential is of importance -- we choose for the example
discussed in section \ref{sec:neguhub}:
\begin{equation}
\label{eq:grid1}
b_l = \frac{N_{max}-1}{\beta \; \alpha} \tanh ^{-1} \left (
\frac{ N_{max}-l}{N_{max}-1} h_1 +
\frac{ l-1}{N_{max}-1} h_2  \right )
\end{equation}
with
\begin{equation}
\label{eq:grid2}
h_{1/2} = \tanh \left (
\frac{\beta \; \alpha \; \omega_{min/max}}
{N_{max}-1} \right )
\end{equation}
and $\omega_{min}$ and $\omega_{max}$ are the minimum and maximum frequencies
considered, respectively.
The parameter $\alpha$ was adjusted in the way that the
distance between two frequency points around the chemical potential is
always smaller than $k_BT$. In this way the delta functions are
arranged with highest density at the chemical potential and far away
from the chemical potential they get thinned out. Note that the index
$l$ does not need to have integer values -- this will be used later on.

\subsection{Products of correlation functions}
\label{sub:susz}
Usually in such calculations we have to deal with products of
correlation functions which can be folded both in momentum and
frequency space.
The result of such products of one-particle
correlation functions are generalized susceptibilities. If we have two
functions $G^1({\bf k},i\omega_n)$, $G^2({\bf k},i\omega_n)$, we
often need to calculate the following product:
\begin{eqnarray}
\chi({\bf K},i\Omega_m) & = & -\frac{1}{\beta} \sum_n \frac{1}{N} \sum_{\bf q}
\nonumber \\  & & \;\;\;\;
G^1({\bf q},i\omega_n) \; G^2({\bf K-q},i \Omega_m - i\omega_n)
\end{eqnarray}
where ${\bf K} $ is the total momentum of a pair of particles.
We denote in the following Bosonic Matsubara
frequencies and q-vectors of Bosons with upper-case letters whereas
for Fermionic systems we use lower-case letters.
$G^{i}({\bf k},i\omega_n)$, for $i=1,2$, has the approximate spectral
representation:
\begin{equation}
G^{i}({\bf q},i\omega_n) \approx \sum_{j=1}^{N_{max}} \frac{a^{i \;
{\bf k} }_j}{ i\omega_n - b_j} \;\; .
\end{equation}
We can directly evaluate the frequency summations and are left with
sums over the coefficients.
When inserting the spectral representation for $G^{i}({\bf k}, i \omega _n)$
we get:
\begin{eqnarray}
\label{chispr}
\lefteqn{
\chi({\bf K}, i \Omega _n) = - \sum_{\bf q} \sum_{j,l}^{N} \frac{1}{\beta} \sum_
m
\frac{a_l^{1 \; {\bf q}}}{i \Omega _n - i \omega_m - b_l} \;
\frac{a_j^{2 \; {\bf K}-{\bf q}}}{i \omega _m - b_j}} \nonumber \\
&=&
\sum_{\bf q} \sum_{j,l}^{N}
\frac{ a_l^{1 \; {\bf q}} \; a_j^{2 \; {\bf K}-{\bf q}}} {i \Omega _n -
b_j - b_l} \left
(
\frac{1}{1+e^{\beta b_j}} - \frac{1}{1+e^{- \beta b_l}} \right )
\nonumber \\ &=&
\frac{1}{2} \sum_{\bf q} \sum_{j,l}^{N} \frac{a_l^{1 \; {\bf
q}} \; a_j^{2 \; {\bf K}-{\bf q}} }{i \Omega _n - b_j -
b_l}
\nonumber \\ && \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;
\left ( \tanh \left ( \frac{\beta b_j}{2}
\right ) + \tanh \left ( \frac{\beta b_l}{2}
\right ) \right )
\end{eqnarray}
We now have determined a spectral representation of $\chi({\bf K},Z)$
which is valid in the whole complex plane. Nonetheless, for convenience we
continue writing our function on the Matsubara frequencies.
$\chi({\bf K}, i \Omega _n)$ is however defined via a spectral
representation
on $N_{max}(N_{max}+1)/2$ frequency points
along the real frequency axis which have to be folded back onto the
$N_{max}$ points of our frequency grid.
Therefore we sort the $N_{max}(N_{max}+1)/2$ points
\begin{equation}
\label{sort}
\tilde{b}^{\bf K}_{jl} = b_j + b_l \;\;\; ,
\end{equation}
check if they fit into each interval $b_{p-1/2} < \tilde{b}^{\bf
K}_{jl} < b_{p+1/2} $
(the index of b in eq. (\ref{eq:grid1}) can be non integer)
and add their amplitudes
\begin{equation}
\tilde{c}^{\bf K}_{jl} =
a_l^{1 \; {\bf
q}} \; a_j^{2 \; {\bf K}-{\bf q}}
\left ( \tanh \left ( \frac{\beta b_j}{2}
\right ) + \tanh \left ( \frac{\beta b_l}{2}
\right ) \right )
\end{equation}
to the amplitude $c^{\bf K}_{p}$ of the susceptibility. In this way we
obtain a similar spectral representation for the susceptibility:
\begin{equation}
\chi({\bf K}, i \Omega _n) = \sum_{p=1}^{N_{max}}
\frac{c^{\bf K}_{p}}{i \Omega_n - b_p} \;\; .
\end{equation}
For the further calculation we just have to store the amplitudes $c^{\bf
K}_{p}$. Note that if the $G^{i}({\bf q},i\omega_n), i = 1,2$ had
been Fermionic
correlation functions, the amplitudes $c^{\bf
K}_{p}$ are -- as opposed to the amplitudes $a^{i \;
{\bf k} }_j$ -- not only positive but change sign at the chemical
potential due to the $\tanh$ function. The function $\chi({\bf
K},i\Omega_m)$ will therefore be a Bosonic correlation function and
$i\Omega_m$ are Bosonic Matsubara frequencies.

\subsection{Vertex functions}

Vertex functions $\Gamma({\bf k}_1 , {\bf k}_2, ... , i \omega _{n1}, i
\omega _{n2}, ...)$
result from Bethe-Salpeter type equations and they
are in general functionals of two particle propagators
similar to the one described in subsection \ref{sub:susz},
of a
correlation $U_{corr}$ (which in general is a function of ${\bf k}$ and
$\omega$ as well)
and of one particle correlation functions.
\begin{eqnarray}
\lefteqn{
\Gamma({\bf k}_1 , {\bf k}_2, i \omega _{n1}, i
\omega _{n2}) = \nonumber} \\
&&\Gamma\{\chi({\bf k}_1 + {\bf k}_2 , i \omega _{n1} + i \omega _{n1}),
... ,
U_{corr}, G ({\bf k}_i, i \omega _{ni}), ...
\} \;\; .
\end{eqnarray}
If they can be reduced to analytic functions in the complex plane they
can be calculated by shifting the poles of the spectral representation
at $b_n$
into the upper half plane by an amount
\begin{equation}
\delta_n = \frac{1}{2} (b_{n+1/2} - b_{n-1/2}),
\end{equation}
where the shift into the upper half plane depends on $n$
and is smallest close to the chemical potential.
With the help of such a vertex function a proper self-energy can be
calculated in a way similar to the calculation of the susceptibility
in subsection \ref{sub:susz}.
In subsection \ref{sub:vertnegu} this is shown on the example of the
attractive Hubbard model in the ladder approximation.

\section{example: Attractive Hubbard model in the ladder approximation}
\label{sec:neguhub}
The attractive Hubbard model shows superconductivity in its weak
coupling 3D limit. The range of intermediate coupling and 2-3 dimensions
is of particular interest for the high-T$_c$ cuprates
\cite{micnas95}. The Hubbard Hamiltonian is
\begin{equation}
\label{eq:hub}
H = -t \sum_{<i,j>,\sigma} c^{\dagger}_{i\sigma} c_{j\sigma} +
U \sum_{i}  n_{i\uparrow} n_{j\downarrow},
\end{equation}
where $t$ is the transfer integral between two neighbouring lattice sites
$<i,j>$ (we restrict ourselves to hyper-cubic lattices) and $U<0$ is the
attractive interaction for two electrons on
the same site of the lattice. In the case of $U=0$ the Hamiltonian can
be diagonalized and gives the usual dispersion of a tight binding
Hamiltonian $\epsilon({\bf k})$.\\
The non-interacting Green function $G^{(0)}({\bf k}, i \omega _n)$
is approximated by the pole $b_j$ which is nearest to
$\epsilon({\bf k})$.
\begin{equation}
G^{(0)}({\bf k}, i \omega _n) \approx \frac{1}{i \omega _n
-b_j}
\end{equation}
\begin{equation}
b_{j-1/2} < \epsilon({\bf k}) \le b_{j+1/2} \;\;\;\;\; .
\end{equation}
The ladder
approximation \cite{fetwal} takes into account all non-crossing
scattering events of a pair in the particle-particle channel and becomes
exact for all coupling strengths in the low density limit $n
\longrightarrow 0$.

\begin{figure}
\unitlength1cm
\epsfxsize=9cm
\begin{picture}(7,3.5)
\put(-1.0,-5.5){\epsffile{fig1.ps}}
\end{picture}
\caption{
schematic diagram of the non-self-consistent ladder equations. The
full thick lines represent full, interacting Green functions, the thin
lines non interacting Green functions and the wavy lines are the
Hubbard interaction U.
}
\label{fignsc}
\end{figure}

This leads to the following system of equations \cite{haussmann93} which has to
be solved either non self-consistently (Eqs. (\ref{nsc1})-(\ref{nsc4}))
which is diagrammatically shown in Fig. \ref{fignsc}
\begin{eqnarray}
G^{(0)}({\bf k}, i \omega _n) &=& \frac{1}{i \omega _n - \epsilon({\bf
k})} \\
\label{nsc1}
\chi^{(0)}({\bf K}, i \Omega _m) &=&
-\frac{1}{\beta} \sum_n \frac{1}{N} \sum_{\bf q}
\nonumber \\  & & \mbox{\hspace*{-0.5cm}}
G^{(0)}({\bf q},i\omega_n) \; G^{(0)}({\bf K-q},i \Omega_m - i\omega_n) \\
\label{gam:nsc}
\tilde{\Gamma}^{(0)}({\bf K}, i \Omega _n) &=&
\frac{U^2 \chi^{(0)}({\bf K}, i \Omega _n)}{
1-U \chi^{(0)}({\bf K}, i \Omega _n)} + U \\
\Sigma^{(0)}({\bf k}, i \omega _n) &=&
\frac{1}{\beta} \sum_m \frac{1}{N} \sum_{\bf q}
\nonumber \\  & & \mbox{\hspace*{-0.5cm}}
\tilde{\Gamma}^{(0)}({\bf k} + {\bf q}, i \omega _n + i \omega _m)
G^{(0)}({\bf q},i\omega_m)\\
\label{nsc4}
G^{nsc}({\bf k}, i \omega _n) &=& \frac{1}{G^{(0)}({\bf k}, i \omega
_n)^{-1} - \Sigma^{(0)}({\bf k}, i \omega _n)}
\end{eqnarray}
\begin{figure}
\unitlength1cm
\epsfxsize=9cm
\begin{picture}(7,3.5)
\put(-1.0,-5.5){\epsffile{fig2.ps}}
\end{picture}
\caption{
schematic diagram of the fully self-consistent ladder equations.
}
\label{figsc}
\end{figure}
or self-consistently (Eqs. (\ref{sc1})-(\ref{sc4}))
which is diagrammatically shown in Fig. \ref{figsc}
\begin{eqnarray}
\label{sc1}
\chi({\bf K}, i \Omega _m) &=&
-\frac{1}{\beta} \sum_n \frac{1}{N} \sum_{\bf q}
\nonumber \\  & & \;\;\;\;
G({\bf q},i\omega_n) \; G({\bf K-q},i \Omega_m - i\omega_n) \\
\label{gam:scf}
\tilde{\Gamma}({\bf K}, i \Omega _n) &=&
\frac{U^2 \chi({\bf K}, i \Omega _n)}{
1-U \chi({\bf K}, i \Omega _n)} + U \\
\Sigma({\bf k}, i \omega _n) &=&
\frac{1}{\beta} \sum_m \frac{1}{N} \sum_{\bf q}
\nonumber \\  & & \;\;\;\;
\tilde{\Gamma}({\bf k} + {\bf q}, i \omega _n + i \omega _m)
G({\bf q},i\omega_m)\\
\label{sc4}
G({\bf k}, i \omega _n) &=& \frac{1}{G^{(0)}({\bf k}, i \omega
_n)^{-1} - \Sigma({\bf k}, i \omega _n)} \;\;\; .
\end{eqnarray}
In order to obtain self-consistency the Eqs. (\ref{sc1})-(\ref{sc4})
have to be calculated iteratively until a stable self-consistent
solution is obtained.

\subsection{Vertex function in the ladder approximation }
\label{sub:vertnegu}
In the case of the ladder approximation the vertex function
(Eqs. (\ref{gam:nsc}),(\ref{gam:scf})) itself
does not tend to zero as $\Omega \longrightarrow
\infty$, instead $\lim_{\Omega \longrightarrow
\infty} = U $. However the function $\tilde{\Gamma}({\bf
K},i\Omega_m)$ can be decomposed into a function which fulfills
Kramers-Kronig relations
$\Gamma({\bf K},i\Omega_m)$ plus a constant $U$ \cite{thoulesskrit}.
The function  $\Gamma({\bf K},i\Omega_m)$ is $U^2$ times the
two-particle propagator of a pair with total momentum ${\bf K}$.
In order to obtain a spectral representation for $\Gamma({\bf K},z)$ we
have two possibilities, which we now discuss in turn.
\subsubsection{Complex evaluation}
\label{suba}
In the following we show the
evaluation of $\Gamma({\bf K},z)$ in the complex plane. Therefore we
need an approximate expression for the complex function $\chi({\bf
K},z)$ at the frequency
points $b_m$ of our frequency grid of the real axis.
\begin{equation}
\chi({\bf K},b_m) \approx \sum_{n=1}^{N_{max}}
\frac{c_m^{\bf K}}{b_m - b_n + i\delta_n }
\end{equation}
with
\begin{equation}
\label{eps}
\delta_n = \frac{1}{2} (b_{n+1/2}-b_{n-1/2})
\end{equation}
This has to be put into the equation for $\Gamma$
\begin{equation}
\label{gam:ot}
\Gamma({\bf K},b_m) \approx \frac{ U^2 \chi({\bf K},b_m)}{
1-U \;  \chi({\bf K},b_m)}
\end{equation}
The amplitudes $g_m^{\bf K}$ of $\Gamma({\bf K},b_m)$ at the points $b_m$
are then given by:
\begin{equation}
g_m^{\bf K} \approx \frac{2 \delta_m}{\pi} \Im(\Gamma({\bf K},b_m))
\end{equation}
and we have obtained a spectral representation for $\Gamma({\bf K},b_m)$
which can be used for further calculation:
\begin{equation}
\Gamma({\bf K},i \Omega_m) \approx \sum_{n=1}^{N_{max}} \frac{
g_m^{\bf K}}{i \Omega_m - b_n}
\end{equation}
\subsubsection{ Evaluation with partial fractions}
\label{subb}
A second possibility to calculate the amplitudes $g_m^{\bf K}$ is by
rewriting Eq. (\ref{gam:ot})
\begin{eqnarray}
\label{partfrac}
\lefteqn{\Gamma({\bf K},\Omega) =}\\
&& \frac{U^2 \;\sum_{n=1}^{N_{max}}
\prod_{{m=1}\atop {m \neq n}}^{N_{max}}
(\Omega - b_m) \; c_n^{\bf K} }
{\prod_{n=1}^{N_{max}} (\Omega - b_n) - U
\sum_{n=1}^{N_{max}}
\prod_{{m=1}\atop {m \neq n}}^{N_{max}}
(\Omega - b_m) \; c_n^{\bf K}}
\end{eqnarray}
and looking for the poles of the denominator. Since it is a polynomial
of order $N_{max}$ this seems to be a hopeless procedure. However the
roots are bracketed between the old poles $b_m$ and we know that
the number of roots between $b^{\bf K}_m$ and $b^{\bf K}_{m+1}$
is one except at zero frequency were it can not exceed two.
Therefore this problem can be solved numerically. Having found the
roots $\tilde{b}^{\bf K}_m$ we can evaluate the amplitudes by putting
the solution into the numerator of Eq. (\ref{partfrac}). This
procedure is just calculating partial fractions for eq.
(\ref{partfrac}). An analogous procedure as for the susceptibility
(see Eq. (\ref{sort})) allows us to calculate the amplitudes $g^{\bf
K}_m$ at the frequency points $b_m$ by adding all amplitudes for
frequencies $\tilde{b}^{\bf K}_m$ in the interval $b_{m-1/2} <
\tilde{b}^{\bf K}_m < b_{m+1/2}$.\\[0.2cm]
Both methods \ref{suba} and \ref{subb} work well. In \cite{letz98}
we used method \ref{subb} and for the calculations presented in this
paper  we use method \ref{suba}.

\subsection{Self energy}
Having calculated the vertex function $\Gamma({\bf K},i \Omega_m)$ we
can proceed and calculate the self-energy $\Sigma'({\bf k},i \omega_n)$.
The ' just reminds us that we do not calculate the full self-energy
since we use $\Gamma({\bf K},i \Omega_m)$ instead of
$\tilde{\Gamma}({\bf K},i \Omega_m)$. The inclusion of the frequency
independent part ($U$) of the vertex function will lead to the Hartree
term. For the frequency dependent self-energy, we have
\begin{eqnarray}
\lefteqn{\Sigma'({\bf k},i \omega_n) =} \nonumber \\
&&\frac{1}{N} \sum_{\bf q} \frac{1}{\beta} \sum_m
\Gamma({\bf k} +{\bf q}  ,i \omega_n + i \omega_m) \;
G({\bf q},i \omega_m) \nonumber \\
&\approx &
 \frac{1}{N} \sum_{\bf q} \sum_{j,l}^{N_{max}} \frac{1}{\beta} \sum_m
\frac{g^{{\bf k} +{\bf q}}_l }
{i \omega_n + i \omega_m - b_l} \;
\frac{a^{\bf q}_j}{i \omega_m - b_j} \nonumber \\
&=&
\frac{1}{N} \sum_{\bf q} \sum_{j,l}^{N_{max}}
\frac{g^{{\bf k} +{\bf q}}_l \; a^{\bf q}_j}{i \omega _n - b_l + b_j}
\left (
\frac{1}{1+e^{\beta b_j}} + \frac{1}{e^{\beta b_j}-1}
\right )
\end{eqnarray}
The Bosonic distribution function is due to the Bosonic nature of a
pair of Fermions described by $\Gamma({\bf K}  ,i \Omega_m)$. Again an
analogous procedure as for the susceptibility (see Eq. (\ref{sort}))
yields the coefficients $s^{\bf k}_j$ at the frequencies $b_j$ of our
frequency grid. In this way we obtain a spectral representation for
the self-energy
\begin{equation}
\Sigma'({\bf k},i \omega_n) = \sum_{n=1}^{N_{max}} \frac{s^{\bf k}}
{i \omega_n - b_j} \;\;\; .
\end{equation}
\subsection{Calculation of the full Green function}
Knowing the self-energy $\Sigma({\bf k},i \omega_n)$ we can calculate
the Green function for the one-particle propagator.
\begin{eqnarray}
G({\bf k},i \omega_n) &=& \left (
i \omega_n - \epsilon({\bf k}) + \mu - \Sigma({\bf k},i \omega_n)
\right )^{-1} \nonumber \\
&\approx & \left (
i \omega_n - \epsilon({\bf k}) + \mu - \sum_{j=1}^{N_{max}}
\frac{s^{\bf k}}  {i \omega_n - b_j}
\right )^{-1}
\end{eqnarray}
Again we have two alternatives to calculate a spectral representation
for $G({\bf k},i \omega_n)$. Analogous to the case \ref{suba} when
calculating the vertex function from the
susceptibility we get for the amplitudes of the one-particle Green
function,
\begin{eqnarray}
a^{\bf k}_m &=& \frac{2 \delta _m }{\pi} \Im ( G({\bf k},b_m))
\nonumber \\ & \approx &
\label{procend}
\frac{2 \delta _m }{\pi} \Im \left (
b_m  - \epsilon({\bf k}) + \mu - \sum_{j=1}^{N_{max}}
\frac{s^{\bf k}_n}{b_m - b_j + i \delta _ j} \right )^{-1}
\end{eqnarray}
where $\delta_n$ is defined in Eq. (\ref{eps}).
Due to the approximations made the sum rules might not always be
fulfilled. Therefore it is necessary to perform a sum rule check and
correct (if needed) the amplitudes $a^{\bf k}_m$.

\subsection{Self-consistent vs. non-self-consistent}
Going once through the procedure Eqs. (\ref{nsc1})-(\ref{nsc4})
we obtain a  non-self-consistent result which is conserving in a
one-particle picture (the equation $0<N<2$  with $N$ the total particle
number is fulfilled for all possible
values of $\mu$ and $T$). Already this is an improvement to the
solution of the T-matrix equations given by Schmitt-Rink et al. \cite{svr},
as advocated by Serene \cite{serene89}.

It is also possible to go iteratively through the
Eqs. (\ref{sc1})-(\ref{sc4}). In this case the amplitudes will need an
additional index $p$ for the number of iterations.
\begin{equation}
a^{\bf k}_j \longrightarrow a^{{\bf k},p}_j \;\;\; , \;\;\;
c^{\bf K}_j \longrightarrow c^{{\bf K},p}_j \;\;\; , \;\;\; ...
\end{equation}
Now the Eqs. (\ref{sc1})-(\ref{sc4}) just map the amplitudes to the
next level of iteration.
\begin{equation}
a^{{\bf k},p}_j \longrightarrow a^{{\bf k},p+1}_j \;\;\; , \;\;\;
c^{{\bf K},p}_j \longrightarrow c^{{\bf K},p+1}_j \;\;\; , \;\;\; ...
\end{equation}
This procedure has to be repeated until a stable self-consistent
solution is achieved. As a condition for self-consistency we used:
\begin{equation}
\frac{1}{N_{max}} \frac{1}{N_{\bf K}} \left (
\sum_{\bf k} \sum_{j=1}^{N_{max}} ( (a^{{\bf k},p}_j)^2 -
(a^{{\bf k},p+1}_j)^2)\right ) ^{1/2} < \delta
\end{equation}
were $\delta$ was typically chosen around $10^{-7}$.
\section{numerical discussion of spectral quantities}
In the following we will present several dynamical quantities which
were obtained by using a numerical solution of the
equations of the T-matrix in the ladder approximation
for the attractive Hubbard model on a 2D square lattice.

\begin{figure}
\unitlength1cm
\epsfxsize=10cm
\begin{picture}(7,16)
\put(-2.2,7){\rotate[r]{\epsffile{fig3a.ps}}}
\epsfxsize=10cm
\put(-2.2,0){\rotate[r]{\epsffile{fig3b.ps}}}
\end{picture}
\caption{For a 8x8 cubic 2D lattice, $k_BT=0.55[t]$, $U=-4[t]$,
$\mu=-2[t]$ and $n \approx 0.7$ the density of states is plotted.
$\omega=0$ is the position of the chemical potential.
In (a) the
full line corresponds to results obtained with Matsubara technique and
Pade approximates and the dashed line is the result of our spectral
representation technique for $N_{max}=300$. In (b) we compare different
numbers of $N_{max} = 100, 300, 500$.
}
\label{fig:1}
\end{figure}

In Figs. \ref{fig:1} and \ref{fig:2} we compare the density of states
for a non-self-consistent calculation ( Eqs. (\ref{nsc1})--(\ref{nsc4}))
on an 8x8 lattice. The temperature was chosen to $0.55[t]$ and the
attractive interaction $U=-4[t]$ which is half the bandwidth of the
non-interacting system. The chemical potential was fixed to $\mu=-2[t]$
which led to an electron density of $n\approx 0.7$ at this
temperature.
\begin{figure}
\unitlength1cm
\epsfxsize=7.5cm
\begin{picture}(7,23)
\put(-1.2,16.5){\rotate[r]{\epsffile{fig4a.ps}}}
\epsfxsize=7.5cm
\put(-1.2,11){\rotate[r]{\epsffile{fig4b.ps}}}
\epsfxsize=7.5cm
\put(-1.2,5.5){\rotate[r]{\epsffile{fig4c.ps}}}
\epsfxsize=7.5cm
\put(-1.2,0){\rotate[r]{\epsffile{fig4d.ps}}}
\end{picture}
\caption{For the same parameters as in Fig. \protect\ref{fig:1} the ${\bf k}$
dependent spectral function along the $(1,1)$ direction is
plotted. (a) shows the result from the Matsubara technique whereas
(b-d) contain the result for $N_{max} = 100,300,500$
respectively.
}
\label{fig:2}
\end{figure}
For the spectral
representation technique we used a frequency range of (see
Eq. (\ref{eq:grid2})) $\omega_{min} = -24[t] < \omega < \omega_{max} =
24[t]$, the parameter $\alpha$ in Eq. (\ref{eq:grid2}) was chosen
to be $\alpha = 2$ and we discuss the effect of a different number of
$\delta$-functions $N_{max}$. In Fig. \ref{fig:1}a we compare the
density of states as obtained with Matsubara technique and
a numerically exact analytic continuation onto the real axis
\cite{marsiglio88} which is possible only for the non-self-consistent
calculation
with a calculation for $N_{max}=300$. At $\omega - \mu =
2[t]$ there is a remnant of the logarithmic singularity which occurs
in the middle of the band of a non-interacting 2D system. Below that,
around $\omega=0$ and below the chemical potential clear correlation
effects can be seen which lead to additional states at $\omega <
0$. In Fig. \ref{fig:1}b we compare for the same parameters
different numbers $N_{max}$ of $\delta$-peaks. For $N_{max}=100$ the
correlation effects around the chemical potential are not clearly
visible whereas for   $N_{max}=300$ they are clearly
present. Increasing $ N_{max}$ up to $500$ does not alter the
picture.

In Fig. \ref{fig:2} we calculate ${\bf k}$ dependent quantities
along the $(1,1)$ direction. The results from the Matsubara technique
show that there is a strong incoherent broadening
of the former quasiparticle peak around $k_F$ and for $k < k_F$ due to
correlations.
Along the diagonal the Fermi wave-vector is bracketed by
 $(\pi/4,\pi/4) < k_F <
(\pi/2,\pi/2)$  Already the
calculation with $N_{max}=100$ in Fig. \ref{fig:2}b resolves the
incoherent broadening but does fail to give further details which are
clearly visible in the calculation for Fig. \ref{fig:2}c for
$N_{max}=300$  and in Fig. \ref{fig:2}d for
$N_{max}=500$.

In order to demonstrate the strength of our method we discuss in the
following (Figs. \ref{fig:3} - \ref{fig:10}) some aspects of the
temperature dependence of the correlation functions obtained for a
16x16 lattice with $N_{max}=300$, $\omega_{min} = -32[t]$ and
$\omega_{max} = 32[t]$ (see Eq. (\ref{eq:grid2})). The
strength of the attractive
interaction for these figures is $U=-8[t]$, which is equal to the
bandwidth of the non-interacting system. The particle number was
chosen to be $n=0.2$ ($n=1$ would correspond to half filling) and the
chemical potential was adjusted as a function of temperature in order
to keep the particle number $n$ constant. In
Figs. \ref{fig:3}-\ref{fig:6} non-self-consistent results according to
Eqs. (\ref{nsc1})-(\ref{nsc4}) are presented whereas in
Figs. \ref{fig:7}-\ref{fig:10}, results from a fully self-consistent
calculation are presented.

\begin{figure}
\unitlength1cm
\epsfxsize=10cm
\begin{picture}(7,16)
\put(-2.2,7){\rotate[r]{\epsffile{fig5a.ps}}}
\epsfxsize=10cm
\put(-2.2,0){\rotate[r]{\epsffile{fig5b.ps}}}
\end{picture}
\caption{For a 16x16 cubic 2D lattice, $U=-8[t]$ and $n = 0.2$
the density of states is plotted for three different temperatures. the
chemical potential $\mu$ has been adjusted as a function of
temperature to keep $n$ constant.
$\omega=0$ is the position of the chemical potential.
(a) shows the
density of states for the three temperatures $k_BT = 4.0[t]$
(dot--dashed line), $k_BT = 2.0[t]$
(full line) and $k_BT = 0.8[t]$ (dashed line). (b) shows for the
lowest temperature the ${\bf k}$-dependent spectral function along the
$(1,1)$ direction. The results were obtained with a non-self-consistent
calculation.
}
\label{fig:3}
\end{figure}

Fig. \ref{fig:3}a shows the k-integrated density of states. With
decreasing temperature a gap occurs. The density at higher
temperatures results from the one--particle continuum and the density
for low energies results from pairs in a two--particle bound
state. Fig. \ref{fig:3}b shows that for $k_BT=0.8[t]$ also the
k-dependent spectral function consists of two parts especially around
$k=k_F$, $k_F \approx (\pi/8,\pi/8)$.

\begin{figure}
\unitlength1cm
\epsfxsize=10cm
\begin{picture}(7,8.5)
\put(-2.2,0){\rotate[r]{\epsffile{fig6.ps}}}
\end{picture}
\caption{For the same parameters as in Fig. \protect\ref{fig:3} the
imaginary part of the
susceptibility for pairs of electrons with total momentum $K=0$ is
shown as obtained from a non-self-consistent calculation.
}
\label{fig:4}
\end{figure}

Fig. \ref{fig:4} shows the imaginary part of the susceptibility for a
total momentum of the pair of $K=0$ which is -- as it should be -- the
non-interacting density of states where the energy has been stretched by
a factor of 2. It is simply shifted according to the shift of the
chemical potential with temperature. Due to the low density in the
example we have chosen the chemical potential does not enter in the
one--particle continuum. This is the case for higher densities where
the imaginary part of the susceptibility changes sign at zero.

\begin{figure}
\unitlength1cm
\epsfxsize=10cm
\begin{picture}(7,8.5)
\put(-2.2,0){\rotate[r]{\epsffile{fig7.ps}}}
\end{picture}
\caption{For the same parameters as in Fig. \protect\ref{fig:3} the
imaginary part of the
vertex function $\Gamma({\bf K=0},\Omega)$ for pairs of electrons with
total momentum $K=0$ is shown as it results from a non-self-consistent
calculation.
}
\label{fig:5}
\end{figure}

Fig. \ref{fig:5} shows the imaginary part of the vertex function
$\Gamma(K=0,\Omega)$. The strong peak corresponds to a true bound
state and with decreasing temperature, the chemical potential drifts
towards the bound state indicating Bose condensation of
non-interacting pairs into the bound state.

\begin{figure}
\unitlength1cm
\epsfxsize=10cm
\begin{picture}(7,8.5)
\put(-2.2,0){\rotate[r]{\epsffile{fig8.ps}}}
\end{picture}
\caption{For the same parameters as in Fig. \protect\ref{fig:3} the
imaginary part of the
${\bf k}$-averaged self-energy is shown as it results from a
non-self-consistent calculation.
}
\label{fig:6}
\end{figure}

In Fig. \ref{fig:6} we show the k-averaged imaginary part of the
self-energy $\Sigma(k,\omega)$. It mainly shifts with the chemical
potential but does not otherwise show a large temperature
dependence.

\begin{figure}
\unitlength1cm
\epsfxsize=10cm
\begin{picture}(7,16)
\put(-2.2,7){\rotate[r]{\epsffile{fig9a.ps}}}
\epsfxsize=10cm
\put(-2.2,0){\rotate[r]{\epsffile{fig9b.ps}}}
\end{picture}
\caption{For the same parameters as in Fig. \protect\ref{fig:3} the density of
states resulting from a fully self-consistent calculation is
plotted in (a), while (b) shows the ${\bf k}$-dependent spectral
function.
}
\label{fig:7}
\end{figure}

In the following figures we show results from a self-consistent
calculation which have to be compared with the results from the
non-self-consistent calculation. Fig. \ref{fig:7}a shows the density
of states. Even though it looks similar for $k_BT=4[t]$ there is strong
difference at lower temperatures. The gap is no longer present due
to the self-consistent procedure. Also for the k-dependent spectral
functions (for  $k_BT=0.8[t]$ in Fig. \ref{fig:7}b) there is no
splitting into two parts.

\begin{figure}
\unitlength1cm
\epsfxsize=10cm
\begin{picture}(7,8.5)
\put(-2.2,0){\rotate[r]{\epsffile{fig10.ps}}}
\end{picture}
\caption{For the same parameters as in Fig. \protect\ref{fig:3} the
imaginary part of the
susceptibility for pairs of electrons with total momentum $K=0$ is
shown as it results from a fully self-consistent calculation.
}
\label{fig:8}
\end{figure}

\begin{figure}
\unitlength1cm
\epsfxsize=10cm
\begin{picture}(7,8.5)
\put(-2.2,0){\rotate[r]{\epsffile{fig11.ps}}}
\end{picture}
\caption{For the same parameters as in Fig. \protect\ref{fig:3} the
imaginary part of the
vertex function $\Gamma({\bf K=0},\Omega)$ for pairs of electrons with
total momentum $K=0$ is shown as it results from a fully
self-consistent calculation.
}
\label{fig:9}
\end{figure}

Fig. \ref{fig:8} shows the imaginary part of the susceptibility. It is
no longer an image of the non-interacting density of states.
Note that it becomes negative for $\Omega < 0$ at the
lowest temperature considered here ($k_BT=0.8[t]$) which is barely
visible from the plot and indicates that the chemical potential is now
in the one particle continuum. Also the imaginary part of the vertex
function $\Gamma({\bf K},\Omega)$, which is plotted for ${\bf K} = 0$
in Fig. \ref{fig:9}, changes sign at $\Omega = 0$, although this
seems to happen in the plot (Fig. \ref{fig:9}) for $\Omega < 0$,
which is just an artifact of the broadening of the $\delta$-functions
which had to be applied in order to plot a spectral quantity. The peak
in $\Im\Gamma({\bf K}=0,\Omega)$ no longer corresponds to a bound
state; it is a two particle resonance in the one-particle
continuum.

\begin{figure}
\unitlength1cm
\epsfxsize=10cm
\begin{picture}(7,8.5)
\put(-2.2,0){\rotate[r]{\epsffile{fig12.ps}}}
\end{picture}
\caption{For the same parameters as in Fig. \protect\ref{fig:3} the
imaginary part of the
${\bf k}$-averaged self-energy is shown as it results from a
fully self-consistent calculation.
}
\label{fig:10}
\end{figure}

Also the self-energy whose imaginary part is (averaged over ${\bf k}$)
plotted in Fig. \ref{fig:10} is strongly altered due to
self-consistency. Compared to the non-self-consistent part in
Fig. \ref{fig:6} it is strongly decreased in magnitude and starts
at low temperatures  to develop a minimum at $\omega = 0$
indicating the appearance of Fermi liquid like properties.

\section{Conclusion}
Using the example of the attractive Hubbard model we have evaluated the
ladder diagrams of the T-matrix, and we have demonstrated
that our numerical method, which works entirely along the real frequency
axis, enables us to accurately calculate spectral properties.
We should point out that we did not show results for the
lowest temperatures we were
able to reach. In fact we can decrease the temperature for the
calculations of Figs. \ref{fig:3} - \ref{fig:10} by an additional two
orders of magnitude without reaching numerical instabilities. However
these results and especially their physical interpretation are not
the main subject of the current paper. Here we have described in detail the
numerical method and discussed its applicability to solve different
problems of correlated quantum systems.

\acknowledgements
We acknowledge financial support from the BMBF, Germany. M.L. further
thanks R.~J.~Gooding for pointing out the importance of the T-matrix
calculation and for stimulating discussions.

redpajama_set_name: RedPajamaArXiv


Only two weeks before the official start of winter, Europe is sweating. An unusually warm autumn — which was last week credited for Germany's fourth quarter economic surge — is forcing ski resorts to market hiking holidays, and bears to seek out places cold enough to hibernate.
Won't somebody think of the bears?
Previous PostFachidiotNext PostHier Wohnt Keine Matilda!


Michael and Olive Saab of Saab Wedding Photography are the biggest scoop of wedding sugar in the Caribbean. The picture featured, while beautiful, is only a glimpse in to the gorgeous scenes and emotions that they capture.
Working out of Montego Bay Jamaica, being Saab'ed will be the "must do" for destination weddings at the all-inclusive resorts, just you watch! Lucky brides whos weddings take place in Negril or Ocho Rios can also get the Saab treatment.
Take a look at their website or their blog and prepare to be amazed!


There is nothing merely "good enough" about Dawn, Rolls-Royce's newest creation. It is pure perfection, through and through. The car features an elegant, sleek design, and an absolutely classic interior with a wood and chrome dashboard. With the top up, it provides charismatic seclusion to whomever rides inside; with the top down, you can proudly display yourself and your tasteful choice in vehicles to the world. The soft top roof can be taken down or put up in 22 seconds, meaning you're always half a minute away from dramatically changing your style.
Beneath Dawn's sleek exterior lies a 6.6-litre V12 twin-turbo engine. This provides the vehicle with a profoundly potent power, allowing it to reach speeds of over 150 mph. Luckily, reviewers say that it handles beautifully, so that any driver will feel perfectly in control of all that thrumming energy.


text:
Albania: Preliminary Results Give Socialists Majority
Tirana, 7 July 1997 (RFE/RL) - Albania's Central Election Commission today said preliminary results give the Albanian Socialist Party 16 constituencies following a second round of voting in general elections.
According to the commission, the main rival Democratic Party won just six seats in yesterday's run-off.
If confirmed, the results mean that the Socialists and their allies have already secured two-thirds of the seats in the new parliament. Final results are expected in the next few days.
Earlier today, Democratic leader Tritan Shehu resigned, citing his responsibility for the party's devastating loss. Shehu said in a statement that he felt he should resign immediately and open the way for democratic changes in the party.
President Sali Berisha, who has promised to resign from the presidency, said last week he will take over as head of the party.
The Democrats defeat is widely attributed to the collapse of illegal pyramid investment schemes, which led to the loss of private savings of many Albanians and an armed uprising in Southern Albania.

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Javascript Closures and 'this' I have a problem with an object I have created that looks something like this:
var myObject = {

    AddChildRowEvents: function(row, p2) {
        if(document.attachEvent) {
            row.attachEvent('onclick', function(){this.DoSomething();});
        } else {
            row.addEventListener('click', function(){this.DoSomething();}, false);
        }
    },

    DoSomething: function() {
        this.SomethingElse(); //<-- Error here, object 'this' does not support this method.
    }
}

The problem is that when I am inside the 'DoSomething' function, 'this' does not refer to 'myObject' what am I doing wrong?

A: The problem come from how this is managed in JS, wich can be quickly, especially when you have callback called asynchronously (and when a closure is created, bound to this).
When the AddChildRowEvents method is called, the this references well the variable myObject. But the aim of this method is to put a handler for click. So the event will be triggered sometime in the future. At that time, what object will really trigger the event? In fact, it's the DOM element on which the user will click. So this will reference this DOM element and not the myObject variable.
For a more modern solution than those presented, one can use bind method or arrow function.
1. Solution with arrow function

let handler = {
 addEventHandler: function(row) {
   console.log("this", this)
   row.addEventListener("click", () => {
     console.log("this", this)
     this.doSomethingElse()
    })
  },

  doSomethingElse: function() {
   console.log("something else")
  }
}
var div = document.querySelector("div")
handler.addEventHandler(div)

one

With arrow function (which are available since ES2015), the this context in not the execution context but the lexical context. The difference between the two is that lexical context is found at build time not at execution time, so the lexical context is easier to track. Here, inside the arrow function, this references the same this of the outside function (i. e. addEventHandler) so reference myObject.
For more explanation of the properties of fat arrow function vs. regular functions: https://dmitripavlutin.com/6-ways-to-declare-javascript-functions/
2. Solution with bind

let handler = {
 addEventHandler: function(row) {
   console.log("this", this)
   row.addEventListener("click", function() {
     console.log("this", this)
     this.doSomethingElse()
    }.bind(this))
  },

  doSomethingElse: function() {
   console.log("something else")
  }
}
var div = document.querySelector("div")
handler.addEventHandler(div)

one

This time, when the callback function is passed to addEventListener, one have bound the this context to the this element in the outside addEventHandler function.

A: WHen the function is called, "this" refers to row.  If you want to have the object, you can do it something like this:
]
AddChildRowEvents: function(row, p2) {
    var theObj = this;
    if(document.attachEvent) {
         row.attachEvent('onclick', function(){theObj.DoSomething();});
    } else {
         row.addEventListener('click', function(){theObj.DoSomething();}, false);
    }
},

When the function is called, it has access to the variable theOBj which was in scope when the function was defined.

A: This is a common issue with closures. To resolve it try something like this:
var myObject = {
    AddChildRowEvents: function(row, p2) {
        var self = this;

        if(document.attachEvent) {
             row.attachEvent('onclick', function(){this.DoSomething(self);});
        } else {
             row.addEventListener('click', function(){this.DoSomething(self);}, false);
        }
    },

    DoSomething: function(self) {
        self.SomethingElse();
    }
}

A: The problem with your code is here, in the following line of code you have defined an anonymous function and passed it as an event handler for the onClick event, in the following lines:
    row.attachEvent('onclick', function(){this.DoSomething();});

and
    row.addEventListener('click', function(){this.DoSomething();}, false);

when onclick event raised and it calls the anonymous function that you have passed, this context is referring to the object that has been raised the event, but not myObject.
because at this point executing context is in the event handler context.
The solution: you can do the trick that Mike Kantor has been told, or using jQuery, use the proxy method, to define this context in the anonymous function.
So your code would be like this:
var myObject = {

    AddChildRowEvents: function(row, p2) {
        if(document.attachEvent) {
            row.attachEvent('onclick', $.proxy(function () {
                this.DoSomething();
            }, this));
        } else {
            row.addEventListener('click', $.proxy(function () {
                this.DoSomething();
            },this), false);
        }
    },

    DoSomething: function() {
        this.SomethingElse(); //<-- Error here, object 'this' does not support this method.
    }
}

you have mentioned that the error is in this.SomthingElse( ), but your code does not show it. If you really getting error at that line of code, it may you are using the method DoSomthing somewhere else as an event handler.

A: this always refers to the inner function, if you have nested functions, you have to create another variable and point that to this.
var myObject = {
    AddChildRowEvents: function(row, p2) {
        var that = this;
        if(document.attachEvent) {
            row.attachEvent('onclick', function(){that.DoSomething();});
        } else {
            row.addEventListener('click', function(){that.DoSomething();}, false);
        }
    }
}

redpajama_set_name: RedPajamaStackExchange


- Bank supplies capital as 'Sahib-Al-Maal' and the client as the Mudarib invests in business using his/her skill, experience and expertise.
- Administration and Management is maintained by the Mudarib/Client.
- Profit is divided as per agreement.
- Bank bears the actual loss alone.
- Client can not take another investment for that specific business without the permission of the Bank.


on a piece of paper about the basics that confuse you and those that seem imperative. The Chicago Manual of Style, 17th. A period at the end of your last sentence is all that is needed. Also, try to answer these few questions at this point: What is the work saying?
The Online Writing Lab (OWL) at Purdue University houses writing resources and instructional material, and we provide these as a free service of the Writing Lab at Purdue. Automatic works cited and bibliography formatting for. MLA, APA and Chicago/Turabian citation styles. Now supports 7th edition.
See the 2018 winners and read their essays on the DNA Day.
Sample Research Papers biotechnology admission essay Database. Includes a section on Numbered References. It is essentially a skeletal version of the true paper, and will guide you through the entire process. The thesis should present the entire idea of your paper. Looking for Other Tools and Resources? You might make use of the efficient resume samples and templates found below. 14 Works Cited.


text:
Q: How to remove a Container View Controller along with its child view controllers TLDR: I would like to ensure that my remove code removes the Container View and UIViewController A, B, and C. Any help is greatly appreciated.
My application has a container view which adds a container view programmatically. The view in the container view has a Navigation Controller and pushes to various outer UIViewControllers. For example, View A is in the Container View (with a Navigation Controller), and this pushes to B, which pushes to C. There is an option on UIViewController A, B & C to remove the Container View. However, when I trigger this option to dismiss the Container View in any other UIViewController than A then the View does not get dismissed (still visible on screen). e.g If I trigger it on UIViewController B, UIViewController Bs view is still present.
Here is how I create my container view:
// add container

containerView = UIView()
containerView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(containerView)
NSLayoutConstraint.activate([
    containerView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 10),
    containerView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -10),
    containerView.topAnchor.constraint(equalTo: view.topAnchor, constant: 10),
    containerView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -10),
    ])

// add child view controller view to container

controller = storyboard!.instantiateViewController(withIdentifier: "A")
addChildViewController(controller)
controller.view.translatesAutoresizingMaskIntoConstraints = false
containerView.addSubview(controller.view)

NSLayoutConstraint.activate([
    controller.view.leadingAnchor.constraint(equalTo: containerView.leadingAnchor),
    controller.view.trailingAnchor.constraint(equalTo: containerView.trailingAnchor),
    controller.view.topAnchor.constraint(equalTo: containerView.topAnchor),
    controller.view.bottomAnchor.constraint(equalTo: containerView.bottomAnchor)
    ])

controller.didMove(toParentViewController: self)

taken from - https://stackoverflow.com/a/40102513
And my remove code is:
controller.willMove(toParentViewController: nil)
controller.view.removeFromSuperview() //Im believe here may be the problem
controller.removeFromParentViewController()
containerView.isHidden = true

UIViewController As view is added containerView.addSubview(controller.view) so I am guessing this is why the remove code will not work on UIViewController B or C. I would like to ensure that my remove code removes the Container View and UIViewController A, B, and C. Any help is greatly appreciated?


Package value/size/weight meet the requirements for this service. Please excuse any glare in the pictures. Klingenberg, Limoges France on dresser box ca. Charger & trinket box are unmarked.
Dresser/jewelry box: 7-1/2" diameter x 3-1/2" high. Trinket box: 4-1/4" long x 2 " wide x 1-1/4 high. Minor paint flaked on the dresser box as shown.
Klingenberg porcelain factory and decorating studio first opened in early-1880s in Limoges, France. Sometime between late-1890s - early-1900s, the company joined with Charles Dwenger's decorating studio.
During this rather short period (closed in 1910), the merger produced porcelain as well as decorated blanks, both and mostly for export. Speaking of exported Limoges porcelain, during the turn of the century the U. Was the largest importer of European porcelain (in general), both decorated and undecorated, thanks to the huge demand caused by (1) trendy global art form, (2) the major art movement of American porcelain painting, and (3) an extremely popular hobby in the US of the period: hand painting on porcelain.
United Arab Emirates (UAE), London-UK and a LIMITED NUMBER of countries within the European Union. Powered by SixBit's eCommerce Solution. The item "LIMOGES FRANCE HAND PAINTED ROSES JEWELRY DRESSER BOX 13 CHARGER & TRINKET BOX" is in sale since Sunday, April 23, 2017. This item is in the category "Pottery & Glass\Pottery & China\China & Dinnerware\Limoges".


text:
Q: How can I parse List into ArrayList through lambda expression? Maybe it's quite a stupid question but I cant find any solution for it. I am new to lambda and I am trying to use it to parse a list <List> into an ArrayList <HashMap>.
Initially I parse a data set from csv file, and I turn each row of them into a List, and add them into the List <'List'> I stated above. Since I have to filter them after this, I would like to change the each row of them into a HashMap<columnName, columnValue>, but when I try to do it, it returns nothing.
Here is my code:
// import data from csv file
private static List<List> readWholeFile(BufferedReader br) throws IOException {
    List<List> rows = new ArrayList<>();
    String line = br.readLine();

    try {
        if (line != null) {
            String[] test = line.split(",");
            List<String> row = Arrays.asList((String[]) line.split(","));
            rows.add(row);
            return readWholeFile(br);
        }
    } catch (NullPointerException ex) {
        ex.printStackTrace();
    } finally {
        return rows;
    }
}

//parse List<List> into ArrayList<HashMap>
private static ArrayList<HashMap> putRowIntoMap(List<List> rows, List<String> columns) {
    ArrayList<HashMap> itemMap = new ArrayList<>();
    List<HashMap> test = new ArrayList<>();
    HashMap<String, String> eleMap = new HashMap<>();
    rows.stream().map(row -> (row.stream().map(ele -> eleMap.put(keys.get(row.indexOf(ele)), (String) ele))))
            .collect(Collectors.toCollection(ArrayList::new));
    itemMap.add(eleMap);
    System.out.println(eleMap);  //output: {}

    return itemMap;
}

A: *

*Read the input file into List<List<String>> using NIO Files.lines returning lines of the text file as Stream<String>
public static List<List<String>> readFile(String filename) throws IOException {
    return Files.lines(Paths.get(filename)) // Stream<String>
        .map(line -> Arrays.asList(line.split(","))) // Stream<List<String>>
        .collect(Collectors.toList());               // List<List<String>>
}

*Convert the list of List<String> into map, assuming that the columnNames have the same indexes as the lists inside rows and all column names are different.

public static List<Map<String, String>> intoMap(List<List<String>> rows, List<String> columnNames) {
    return rows.stream() // Stream<List<String>>
        .map(row -> IntStream.range(0, row.size()) // IntStream
            .boxed() // Stream<Integer>
            .collect(Collectors.toMap(
                i -> columnNames.get(i), // key: columnName
                i -> row.get(i)          // value
                // ,(r1, r2) -> r1,       // placeholder for merge function
                // LinkedHashMap::new    // supplier of LinkedHashMap
            )) // Map<String, String>
        ) // List<Map<String, String>>
        .collect(Collectors.toList());
}

By default, Collectors.toMap returns a HashMap implementation which is not ordered, so it could make sense to use LinkedHashMap maintaining insertion order (if needed, two commented lines in the toMap should be uncommented).


The National Journalists of the Philippines (NUJP) on Wednesday denounced the claim that it was one of the legal fronts of the Communist Party of the Philippines (CPP).
Despite the claim of the military that its forces have weakened in the past few years, the Communist Party of the Philippines (CPP), through its armed wing the New People's Army (NPA), has maintained that it has not lost its strength five decades after it was established as the insurgent group has been launching more than a hundred of offensives against the state forces in parts of Northern Mindanao just this year alone.
Somewhere in the mountainous part of the region, there were makeshift huts made of freshly cut pieces of wood, leaves and plastic waterproof sheets. A few hammocks made of taffeta hung in between trees. These served as temporary sleeping quarters for the mobile army composed mainly of peasants, some workers and intellectuals.
Authorities are now considering to implement some adjustments of its usual preparation for the next year's annual gift giving of President Rodrigo Duterte in his residence here.
The Philippine Army's 4th Infantry Division (4ID) has started its investigation into the attack of a military detachment carried out by suspected Communist rebels who then held hostage two soldiers and 12 militiamen in a village in Agusan del Sur early Wednesday morning from the said detachment, a 4ID official said Thursday.
Just before the year ends, the 18th Council of the Sangguniang Panlunsod approved in the third and final reading the proposed P8.8 billion budget of the city.


text:
Michael J. Jolet,
State Bar of Michigan, 2004
Wayne State University, 2001
University of Detroit Mercy School of Law, 2004
Michael J. Jolet is a Co-Managing Partner and President at Hewson & Van Hellemont, P.C. Mr. Jolet graduated from Wayne State University with a B.A. in 2001. He attended law school at The University of Detroit Mercy School of Law and graduated cum laude with a Juris Doctor in 2004. Mr. Jolet was admitted to the State Bar of Michigan in 2004.
Over the past 14 years, he has specialized in insurance defense and has handled thousands of cases involving a variety of complex issues in first party, uninsured motorist and third party civil cases.
Michael joined Hewson & Van Hellemont, P.C. in May 2011. Prior to joining HVH, he was a Partner at an insurance defense law firm in Michigan.
Mr. Jolet's passion and involvement in all of his files has given him the reputation and allowed him to take an aggressive and no-nonsense approach in effectively litigating cases for clients.
mjolet@vanhewpc.com
Oak Park, Michigan


Everyone gets sick, and every worker - no matter their job or how much they make - deserves the security that comes with access to earned paid sick days. But one in three Austin workers - and 40% of Texas workers - can't earn even a single paid sick day to care for themselves or a loved one.
Paid sick days are essential to ensure all working people and families can live safe and healthy lives — without the risk of losing wages or being fired if they get sick or need to care for a seriously ill child or family member. If passed, Austin would join more than 40 cities, counties, and states around the country in guaranteeing this basic standard for all workers.
Live in Austin? Click here to take action: tell your Austin City Council Member to support paid sick days!
The proposed ordinance involved a thorough stakeholder process, with everyone at the table.
"Our city's conversation on paid sick days follows a national conversation that has occurred over the last 10 years. The United States is the only wealthy country without a national paid sick days policy. States, cities, and counties have been stepping up to fill the void, in order to make sure that no one has to choose between paying their bills or taking care of themselves or a loved one when they're sick.
Paid sick days are good for public health, families, and the economy.
Up to 8 Days a Year: Workers would be able to earn enough time to recover and care for their families without falling behind on their bills or losing their job. Under the proposed new policy, workers will earn and can use paid sick time over the course of the year, accruing one hour of sick time for every 30 hours worked up to a total of 64 hours or eight days a year unless their employer allows for more.
Flexibility: Austin families need flexibility. The policy guarantees employees can care for themselves, a family member, or anyone that is seen as the equivalent of a family member to deal with a health issue or a domestic violence incident.
All workers: Everybody gets sick. The policy allows all workers, including seasonal, temporary, and part- and full-time employees who work at least 80 hours over the course of a year to earn paid sick days. The policy only covers private sector employers.
Paid sick days are about equality, economic, reproductive, and racial justice, and healthy and safe families and communities — these are all Texas values.
Low-income workers are significantly less likely to have paid sick time than other members of the workforce. Latino and African-American workers less likely to have paid sick time than workers in any other racial or ethnic group. Low-wage workers, women and people of color are those who can least afford to lose a day's wages if they - or a loved one - gets sick or needs a medical procedure.
For a low-income family without earned paid sick days, going just 3.5 days without wages is the equivalent to losing a month's groceries. In a city with the unfortunate distinction of being one of the most economically segregated cities in the country, ensuring all Austinites have access to jobs that include basic, minimum standards like paid sick days is critical to all affordability initiatives.


text:
Praktyczny Elektronik – polski miesięcznik o tematyce elektronicznej, kierowany głównie do elektroników-amatorów, wydawany w latach 1992–2002 przez Wydawnictwo Techniczne Artkele z Zielonej Góry.

Wydawnictwo prowadziło także sprzedaż wysyłkową płytek drukowanych oraz zaprogramowanych mikrokontrolerów, co ułatwiało zainteresowanym samodzielną budowę projektów przedstawianych w czasopiśmie.

Przypisy

Linki zewnętrzne
 Praktyczny Elektronik 1992-2002

Czasopisma w języku polskim
Czasopisma wydawane od 1992
Czasopisma wydawane do 2002
Niewydawane miesięczniki polskie
Prasa w Zielonej Górze
Wydawnictwa związane z elektroniką

redpajama_set_name: RedPajamaWikipedia


text:
Q: ElasticSearch backup to S3 AWS I'm trying to backup my cluster of ElasticSearch on AWS to an S3 bucket.
I've followed the following 'tutorial' : Use Amazon S3 to Store a Single Amazon Elasticsearch Service Index
These are the steps I have taken:
Create a S3 bucket (called cb-search-es-backup).
Create a new policy (called P_ES_SNAPSHOT_TO_S3):
{
    "Statement": [
        {
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:ListBucketMultipartUploads",
                "s3:ListBucketVersions"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::cb-search-es-backup"
            ]
        },
        {
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:ListMultipartUploadParts"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::cb-search-es-backup/*"
            ]
        }
    ],
    "Version": "2012-10-17"
}

Create a Service Role, attached the previous created policy to it
arn:aws:iam::12345678910:role/Role_ES_TO_S3
Trust policy of the role:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    },
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "es.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

In Kibana I've tried to use the following in the Dev Tools:
PUT /_snapshot/ES_BACKUP
{
"type": "s3",
    "settings": {
        "bucket": "cb-search-es-backup",
        "region": "eu-west-1",
        "role_arn": "arn:aws:iam::423628447134:role/Role_ES_TO_S3"
    }
}

but I receive the following response from kibana:

{   "Message": "User: anonymous is not authorized to perform:
  iam:PassRole on resource: arn:aws:iam::12345678910:role/Role_ES_TO_S3"
  }

A: I've got same error with kibana. Try to backup with aws-es-proxy.
If you are going to use docker image, please pass the AWS access credentials as below:
docker run --rm -it -p 9200:9200 -e "AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXX" -e "AWS_SECRET_ACCESS_KEY=YYYYYYYYYYYYYYYYYYYYYYYYY" abutaha/aws-es-proxy ./aws-es-proxy -verbose -listen 0.0.0.0:9200 -endpoint https://enpoint-url


Beginning with Winslow Homer and ending with Andy Warhol and Jasper Johns, this picture-book overview introduces 13 well-known American artists. On each double-page spread, short biographies combine with richly reproduced images of the artists' famous works; a time line that sets the artist's life in historical context with other world events; an easy-reference box listing the artist's birth and death dates, painting styles, and other facts; and suggestions for activities and further research. 46 pages, hardcover.


text:
import time
from datetime import datetime

def format_ts_from_float(ts):
    return int(ts) * 1000000000

def format_ts_from_date(ts):
    return format_ts_from_float(time.mktime(ts.timetuple()))

def format_ts_from_str(ts, pattern='%Y-%m-%d %H:%M:%S'):
    return format_ts_from_date(datetime.strptime(ts, pattern))

def format_ts_from_last_modified(ts, pattern='%a, %d %b %Y %H:%M:%S %Z'):
    ts = datetime.strptime(ts, pattern)
    return int(time.mktime(ts.timetuple()) * 1000)

redpajama_set_name: RedPajamaGithub


text:
using namespace std;

ExecSubShell::ExecSubShell(Feeder *f, Environment *env,vector<int> *scopes) : Executable(f,env,scopes)
{
}

ExecSubShell::~ExecSubShell()
{
}

bool ExecSubShell::parse(void)
{
	m_feeder->getPos(&m_start_line, &m_start_char);

	string scr;
	bool scr_exist = m_feeder->doBlock(&scr);
	if(!scr_exist){
		m_feeder->setPos(m_start_line, m_start_char);
		return false;
	}

	m_name = "unnamed" + to_string(m_start_line);

	//create a file
	string tmpdir = m_env->m_tmpdir + "/" + m_name;
	ofstream ofs(tmpdir.c_str());
	ofs << scr;

	auto *p = new DataProc();
	p->setFileName(&tmpdir);
	m_env->setData(m_scopes.back(),&m_name,p);
	return true;
}

void ExecSubShell::execChild(DefFile *f,  DefStr *s)
{
	auto argv = new char* [2];
	string tmpdir = m_env->m_tmpdir + "/" + m_name;
	argv[0] = (char *)tmpdir.c_str();
	argv[1] = NULL;

	vOptProc(argv[0]);
	ifstream ifs(argv[0]);
	Feeder feeder(&ifs);

	m_env->initExecProc((const char**)argv);
	Script scr(&feeder,m_env,NULL);

	scr.setSilent();
	scr.parse();
	scr.exec(f,s); // exit in the exec function
}


text:
Archive Publishers
Welcome to Archive Publishers!
Faith-Promoting Series
LDS Doctrine
Non-LDS Books
Scripture & Apocrypha
Memoirs of John R. Young (1920)
by John R. Young
John R. Young (nephew of Brigham Young) left one of the most interesting and varied of all pioneer legacies. Intimate with most of the General Authorities, he shares many insights into their personalities and relates experiences not found in other works. Brother Young had the " knack" for being where history was made and gives several first-hand accounts of key events in the lives of the early Saints.
-OR- -OR-
John R. Young (nephew of Brigham Young) left one of the most interesting and varied of all pioneer legacies. Intimate with most of the General Authorities, he shares many insights into their personalities and relates experiences not found in other works. Brother Young had the " knack" for being where history was made and gives several first-hand accounts of key events in the lives of the early Saints. Yet his own life - although full of adventure and spiritual encouragement - was hardly privileged. He tells of pioneer life as a time of poverty and struggle. In his Memoirs, he recounts the cricket invasion into the Salt Lake Valley; several experiences as an Indian scout; his missions to Hawaii and meeting with Walter Murray Gibson (an apostate missionary); his mission to England; and community life in Orderville, Utah. His narrative is interspersed with dreams, spiritual promptings, and testimony-building experiences for the reader. 341 pages Reviewed by Roy Schmidt for the Association for Mormon Letters (Note: This book was originally published in 1920 by The Deseret News, Salt Lake City, Utah.) John Ray Young was born in Kirtland, Ohio to Lorenzo Dow and Persis Goodell Young on April 30, 1837. He died in Provo, Utah on September 15, 1931. He married and outlived four wives, and fathered twenty-two children. As you will see, he not only lived a long time, his days were action filled and very productive. While John was born in Kirtland, and his family later resided in Missouri, Young's earliest memories are from the Nauvoo period. He recalls, "One day father took me for a walk, to give me air and sunshine. We met Joseph and Hyrum Smith and Sidney Rigdon. Father shook hands warmly with Joseph and Hyrum, but he merely bowed to Brother Rigdon. Joseph asked if I was the child father had asked the elders to pray for. Being answered in the affirmative, the prophet removed my hat, ran his fingers through my curly locks and said, 'Brother Lorenzo, this boy will live to aid in carrying the Gospel to the nations of the earth.' "Not long after that, Joseph was martyred at Carthage. I remember how my mother wept, and how shocked and prostrated everybody was, when the bloodstained bodies of the Prophet and his brother were brought home. Father was away doing missionary work when that fearful tragedy took place. A little later, while attending meetings, I noticed that Uncle Brigham [Young] sat in the place where Joseph was wont to sit, and one evening, after father's return from Ohio, I heard him say, 'They will now seek for Brigham's life as they did for Joseph's, just so long as he proves true to the trust God has placed upon him' (10)." Both Joseph's prediction about John R., and Lorenzo Young's about his brother, Brigham, proved accurate. John was called on a mission to the Sandwich Islands when he was just seventeen years old. After his company, led by Parley P. Pratt, arrived in San Francisco, it became necessary for the missionaries to find employment to earn funds to pay for their passage to the islands. Parley assigned young John to go tracting throughout the city, which he did with some success. During that time he met Sister Eleanor McLain [McLean]. Pratt was informed by Elder William McBride that her husband, Hector, was planning to have his wife sent to an insane asylum for having joined the Mormon Church. Parley sent John R. to prevent him from doing so. McLain hired Young as a cook, and he spent a month in his employ. At the end of the month, McLain discovered John was a Mormon Elder, and became so agitated by this he was ready to kill the young man. Instead, McClain, who at the time was acting as a minister for the Unitarian Church, offered to prove the Mormon Church was not true, that revelation had ceased, and the laying on of hands was blasphemy. Unfortunately, McLain was not able to find any of the passages he sought, so he paid John forty dollars in wages, and fired him. In later years, Parley Pratt would marry Eleanor McLain. As it happened, Eleanor was still legally married to Hector at the time. McLain then took his revenge by murdering Elder Pratt in Arkansas. While on his mission, John Young would sit outside his living quarters in order to avoid the fleas inside the place. However, the strong reflections of the sun and sand affected his eyes to the extent he almost went blind, and was forced to remain in a darkened room. John decided he would, on fast day, pray to the lord for healing. "It was arranged for the Saints to go on a fast-day to the mountains; the women to weave mats, the men to gather pili grass to thatch the meetinghouse. As soon, therefore, as the family was gone, I fastened the doors, and commenced praying. I was faint from fasting, but I continued my pleadings until a glorious vision was given me. "I saw Joseph and Hyrum coming from the north. When they came to the gate that opened into the yard of the house, Joseph said: 'Let us call in here.' Instantly the house was filled with light, and they were standing in the room. I sprang to my feet and reached out to shake hands with Joseph; but he moved his hand away. I thought he was displeased; but he smiled and said,'Hyrum will bless you.' I saw Hyrum hold his hands above my head, and rays of light came from the palms of his hands and rested on my head: 'Be of good cheer; you shall be healed, and you shall speedily learn the language and do a good work. Now do not worry any more.' "They passed out the west door and moved southward; and when I came to myself, I was standing out of doors on the west side of the house, weeping with joy. My eyes were healed, and when the Saints came home, I was capering like a freed colt, from house to house bearing testimony, as best I could, to the truth of Mormonism. I soon began visiting the Saints in the different branches, asking blessings and praying with the families in the native tongue." (76-77) Young would eventually serve a second mission to the Sandwich Islands as well as one to Great Britain. In addition to his other talents, John Young liked to write poetry. Examples of his poems are found throughout this memoir. Here is a brief sample: "Sitting 'neath the pines in the cold mountain air, Inhaling the inspiration of the old chaplain's prayer; Breathing the spirit of the orator's theme, Memory sweeps backward o'er the troubled stream Of my people's lives." (267) Cowboy poetry is most popular today, and I think Brother John's verses would be a good fit. In fact, one of the things I have enjoyed most about this book is Young's clarity of thought, and the straightforward way he tells his story. This is a very wonderful book. While I enjoy reading about the lives of the leaders of the LDS Church, I find the lives of "ordinary" members to be most exciting and interesting. John R. Young is, I believe, typical of the men and women of his era. They loved the Gospel of Jesus Christ, served where they were asked to serve, and dedicated themselves to establishing the Kingdom of God on Earth. I can recommend this work without reservations. I tip my hat to Archive Publishers for making this reprint available at a reasonable price, and suggest my readers visit Archive's website at the above link for more great titles.
John R. Young
© Archive Publishers - All Rights Reserved.


text:
Calculating An Animal's Blood-Volume Without Killing It
There are many reasons why camels can survive the desert's arid conditions:
Instead of wasting water while excreting urea, their bodies recycle part of it. The nitrogen can be used to make amino acids, the building blocks of protein.
Although they are warm-blooded, they still adjust their body temperature to the environment from about 37 to 40oC.
Their fat is concentrated in their hump(s), so they have less insulation throughout the rest of the body. A camel does not store water in its hump(s) or in its stomach.
Whereas the blood of most water-deprived mammals becomes thicker, leading to poor circulation and dangerously high body temperatures, a camel's blood vessels retain most of their water. How was this discovered?
In the 1950's, Knut Schmidt-Nielsen and his wife injected a harmless dye in to a camel's bloodstream. They waited a while for the dye to distribute itself evenly. Then they took a blood sample and measured the concentration of the dye. Then the camel went 8 days without drinking in the desert heat. Although it lost a lot of weight (over 40 litres of water), the concentration of the dye in the blood revealed that the blood had only lost about 1 litre of water. In other words the rest of the water had been lost from tissues.
This is the kind of calculation that the Nielsens used:
Suppose that the original concentration of the dye had been 4.95 mg/L in 100 L* of blood. If the concentration of the dye had then increased to 5.00 mg/L, using C1V1 = C2V2,
4.95(100) = 5.00V2, would reveal V2 to be 99 L, a change of only 1 L.
But how did they know that the camel had a 100L of blood without killing it ? Let's say they had originally injected 8.0 mL of 6.19 g/L of dye. After even distribution of the dye(before the camel went 8 days without drinking), the concentration became diluted to 0.000495 g/L, then
C1V1 = C2V2,
(0.0080)(6.19) = 0.000495(0.008+V2), would reveal V2 to be about 100 L.
V2 is the volume of the camel's blood.Knut Schmidt-Nielsen who passed away three years ago(2008) wrote at the beginning of his memoirs:
It has been said that schools impart enough facts to make children stop asking questions. Those with whom the schools don't succeed become scientists.
Scientific American. The Physiology of the Camel. December, 1959.
Picture from George Holton, The National Audubon Society Collection/Photo Researchers
Basic Chemistry, camel, dye and dilution formula, Medicinal Chemistry, Scientific American
LSD Precursor From Baker's Yeast
Even When Pure, Water Is Blue


text:
Go to navigation | Go to content
What are human rights? Donate
FUNDING, BUDGET & GRANTS
WORK AND STUDY OPPORTUNITIES
HUMAN RIGHTS INSTRUMENTS
HUMAN RIGHTS BY COUNTRY
See all countries >
Eswatini (former Swaziland)
OHCHR IN THE FIELD
HUMAN RIGHTS BODIES
ALL HUMAN RIGHTS BODIES
HUMAN RIGHTS COUNCIL
TREATY BODIES
OHCHR > English > News and Events > DisplayNews
Libyan human rights defenders under attack – UN report
GENEVA (25 March 2015) – A UN human rights report released on Wednesday reveals a catalogue of violent attacks and threats against Libyan rights defenders, across Libya – and in some cases even after they are forced to leave the country.
Attacks, including killings, abductions, torture and other ill-treatment, unlawful deprivation of liberty and death threats by phone and on social media since the escalation of fighting in May 2014 have been documented in the joint report by the UN Support Mission in Libya (UNSMIL) and the UN Human Rights Office. Armed groups across the country have targeted human rights defenders seeking to shed light on and address human rights violations and abuses.
Most recently, prominent civil society activist Entissar al-Hassaeri was shot dead last month in Tripoli. Her body and that of her aunt were found in the trunk of her car on 23 February. Two members of the National Commission for Human Rights-Libya, a human rights NGO, were abducted on 13 and 14 February in central Tripoli. Both have since been released, but other human rights defenders and members of civil society remain missing or have gone into hiding.
"Given the increasing risks, the killings of prominent human rights defenders and repeated threats, many have fled the country, fallen silent, or have been forced to work in secret at great risk to themselves and their loved ones," the report notes.
"Those who managed to flee abroad face a plethora of problems linked to their residency status, expiration of passports with no possibility of extension at some local Libyan consulates, loss of income, and other financial difficulties. Some human rights defenders who have fled have explained that they continued to receive death threats on their mobile phones and social media pages. In at least two cases… human rights defenders were physically assaulted in Tunisia, apparently by Libyans."
In one such case, a media professional and women's rights defender from Benghazi, left the country in late 2014 after numerous threats, including a text message threatening abduction of her son. Her car was struck, apparently deliberately, by another vehicle and a factory she owned was set on fire. She has continued to be outspoken – and has continued to be threatened – after moving abroad.
"On 19 October 2014, as she was walking to the train station, she was stopped by a car with Libyan license plates," the report says. "The passenger threw a cup of coffee at her warning: 'you…activist and journalist…next time it will be acid'."
Another journalist and human rights defender received threats, including of sexual violence, on her Facebook page. "We will … come to your house and break your honour," read one post. After fleeing Libya in August 2014, she continued to receive threats via Viber and text messages.
Another human rights defender left Tripoli in September 2014 after being repeatedly subjected to physical assaults, short-term detentions and abduction threats directed at his family.
"Civilians in Libya, including human rights defenders, have few or no avenues to seek protection or access to remedy for the harm suffered," the report warns. "The breakdown of law and order has led to the failure of the criminal justice system in some parts of Libya, especially Derna, Benghazi and Sirte, while severe disruptions have been reported elsewhere. Justice sector officials…have been violently targeted by armed groups."
The murders of several prominent individuals in Benghazi last year, including newspaper editor Muftah Abu Zeid, human rights defender Salwa Bughaigis, and two young civil society activists, Tawfik Bensaud and Sami al-Kawafi, remain unsolved.
Another human rights defender said she found a piece of paper on her car soon after the murder of Bughaigis in June 2014, stating "your turn is next." Other defenders have had family members detained or abducted.
Staff members of Jurists without Chains, a human rights organization in Benghazi, shut its premises late last year following numerous threats, a raid, and the firing of a projectile into their office. The national human rights institution of Libya, the National Council for Civil Liberties and Human Rights, also closed its offices in Tripoli in late 2014 as a result of intimidation, threats and raids.
"Armed groups across political, tribal, regional and ideological divides…are responsible for violations of international human rights and humanitarian law and abuses of human rights, including abductions, extra-judicial executions and other unlawful killings, torture and other ill-treatment. Human rights defenders seeking to document and denounce such violations and abuses have faced reprisals," the report says.
The report warns that those committing crimes under international law, including many detailed in the report, are criminally liable, including before the International Criminal Court. It stresses the crucial need to resume building State institutions, particularly law enforcement agencies and the overall justice system. The report also urges all sides to publicly condemn attacks against civil society members.
Neighbouring countries and the international community should also ensure the protection of Libyan human rights defenders, including by issuing emergency visas and providing temporary shelter, the report urges.
The report also calls on the Libyan authorities and on those with effective control on the ground to immediately refrain from, and take action to stop, attacks on human rights defenders, and work towards creating a safer and more enabling environment for them to conduct their indispensable work for the protection and promotion of human rights in Libya.
The full report is available on the OHCHR website at: http://www.ohchr.org/Documents/Countries/LY/HumanRightsDefendersLibya.pdf
For further information and media requests, please contact Rupert Colville (+41 22 917 9767 / rcolville@ohchr.org) or Ravina Shamdasani (+41 22 917 9169 / rshamdasani@ohchr.org) or Cécile Pouilly (+41 22 917 9310 / cpouilly@ohchr.org)
UN Human Rights, follow us on social media:
Facebook: https://www.facebook.com/unitednationshumanrights
Twitter: http://twitter.com/UNrightswire
Google+ gplus.to/unitednationshumanrights
YouTube: http://www.youtube.com/UNOHCHR
OHCHR on Social Media
OHCHR Memorial
© OHCHR 1996-2020
Third section
Dolor si amet
Consegur
Toussa man


For each month of the SACRED Bible Study scheme, there are group resources to facilitate further discussion.
Groups can meet at any time of day, allowing around a couple of hours. Although the resources are geared to a monthly meeting, they can easily be adapted if a group decides to meet fortnightly.
Each month's resources include an opening prayer, one or two general questions and ten specific ideas for further discussion. There is also an optional 'activity' section which offers something a little different; for example, something visual or tactile. The exception to this is the group corresponding to the last month of each volume of SACRED. Here, instead of the 'activity', the idea is to consider the recurring themes that have arisen during that volume.
Click on the links below to download the group resources for each month's readings.
You can print out the two pages back-to-back to form an A5 booklet.


Backups are a business essential. They give us the reassurance that, if one day something goes badly wrong, we'll have our critical business information backed up and ready to retrieve. But they take a lot of time and resource. That's partly because data size and composition of varying formats keeps increasing; plus, in spite of deduplication, a lot of legacy data remains, especially on old media where it's not easily recoverable.
Any organisation considering moving applications to the cloud will begin with the questions: when is the right time and what services should we move? If you can extend the life of your existing infrastructure while reviewing your options in the medium term, a useful first step is to move your Disaster Recovery (DR) to the cloud.


text:
<?php

namespace Curator\Tests\Unit\FSAccess\Mocks;

use Curator\FSAccess\FileException;
use Curator\FSAccess\FileExistsException;
use Curator\FSAccess\FileNotFoundException;
use Curator\FSAccess\WriteAdapterInterface;

class WriteAdapterMock implements WriteAdapterInterface {
  use MockedFilesystemTrait;

  /**
   * @var string cwd
   */
  protected $cwd;

  public function __construct($project_root) {
    $this->_setProjectRoot($project_root);
  }

  public function ls($directory) {
    return $this->_ls($directory);
  }

  public function filePutContents($filename, $data, $lock_if_able = TRUE) {
    if (! self::pathIsAbsolute($filename)) {
      throw new \LogicException('Relative paths not allowed');
    }

    if ($this->_isDir(dirname($filename))) {
      $dir = $this->_realPath(dirname($filename), NULL);
      $new_path = $this->_toRelativePath(
        $this->simplifyPath($dir . '/' . basename($filename)));
      $this->contents->files[$new_path] = $data;
      return strlen($data);
    } else {
      throw new FileNotFoundException(sprintf('Missing directories to create "%s"', $filename));
    }
  }

  public function mkdir($path) {
    if (! self::pathIsAbsolute($path)) {
      throw new \LogicException('Relative paths not allowed');
    }

    if ($this->_isInProjectRoot($path)) {
      if ($this->_isDir(dirname($path))) {
        $dir = $this->_realPath(dirname($path), NULL);
        $new_path = $this->simplifyPath($dir . '/' . basename($path));
        if ($this->_pathExists($new_path, FALSE)) {
          throw new FileExistsException($path, 0);
        }
        $this->contents->directories[] = $this->_toRelativePath($new_path);
      }
      else {
        if ($this->_pathExists(dirname($path))) {
          throw new FileExistsException($path, 1);
        } else {
          throw new FileNotFoundException(sprintf('Missing directories to create "%s"', $path));
        }
      }
    }
  }

  /*
   * The implementation of this is kind of interesting / debateable.
   * It's currently meant to imitate php's rename() applied to a mounted filesystem,
   * but that's not necessarily great in the long term. The potential problem with
   * php's rename() is that it abstracts away rename(2)'s inability to do it across
   * filesystems, so instead is doing unknown-duration operations if you invoke it
   * on a big directory.
   */
  public function rename($old_name, $new_name) {
    if ($this->_isInProjectRoot($old_name)) {
      $old_name = $this->_realPath($old_name, NULL, TRUE, FALSE); // throws if no $old_name.
      $old_name_rel = $this->_toRelativePath($old_name);

      if ($this->_isInProjectRoot($new_name)) {
        if ($this->_pathExists($new_name, TRUE, FALSE)) {
          $this->_rm($new_name);
        } else {
          if (! $this->_isDir(dirname($new_name))) {
            throw new FileNotFoundException('Destination directory does not exist.', $new_name);
          }
        }
      }

      if (array_key_exists($old_name_rel, $this->contents->symlinks)) {
        $manip_ref =& $this->contents->symlinks;
        $manip_style = 'key';
        $manip_data = $manip_ref[$old_name_rel];
      } else if ($this->_isDir($old_name)) {
        $manip_ref =& $this->contents->directories;
        $manip_style = 'value';
      } else if ($this->_isFile($old_name)) {
        $manip_ref =& $this->contents->files;
        $manip_style = 'key';
        $manip_data = $manip_ref[$old_name_rel];
      } else if ($this->_isSpecial($old_name)) {
        $manip_ref =& $this->contents->specials;
        $manip_style = 'value';
      } else {
        throw new \LogicException('Mock filesystem path ' . $old_name . ' is a filesystem object per _realPath, but was not found in any type array');
      }

      $this->_rm($old_name);
      if ($this->_isInProjectRoot($new_name)) {
        switch ($manip_style) {
          case 'value':
            $manip_ref[] = $this->_toRelativePath($new_name);
            break;
          case 'key':
            $manip_ref[$this->_toRelativePath($new_name)] = $manip_data;
            break;
          default:
            throw new \LogicException('Unknown internal rename manipulation type');
        }
      }
    }
  }

  protected function _do_rm($filename, $type) {
    if ($this->_isInProjectRoot($filename)) {
      $filename = $this->_realPath($filename, NULL, TRUE, FALSE); // throws if no $filename.
      $filename_rel = $this->_toRelativePath($filename);

      if (array_key_exists($filename_rel, $this->contents->symlinks)) {
        if ($type == 'directory') {
          throw new FileException('Is not a directory.', $filename);
        }
        $manip_ref =& $this->contents->symlinks;
        $manip_style = 'key';
      } else if ($this->_isDir($filename)) {
        if ($type == 'file') {
          throw new FileException('Is a directory.', $filename);
        }
        $manip_ref =& $this->contents->directories;
        $manip_style = 'value';
      } else if ($this->_isFile($filename)) {
        if ($type == 'directory') {
          throw new FileException('Is not a directory.', $filename);
        }
        $manip_ref =& $this->contents->files;
        $manip_style = 'key';
      } else if ($this->_isSpecial($filename)) {
        if ($type == 'directory') {
          throw new FileException('Is not a directory.', $filename);
        }
        $manip_ref =& $this->contents->specials;
        $manip_style = 'value';
      } else {
         throw new \LogicException('Mock filesystem path ' . $filename . ' is a filesystem object per _realPath, but was not found in any type array');
      }

      $copy = [];
      foreach ($manip_ref as $key => $value) {
        if ($manip_style == 'value') {
          if ($value !== $filename_rel) {
            $copy[$key] = $value;
          }
        } else {
          if ($key !== $filename_rel) {
            $copy[$key] = $value;
          }
        }
      }
      $manip_ref = $copy;
    }
  }

  public function unlink($filename) {
    $this->_do_rm($filename, 'file');
  }

  public function rmDir($path) {
    $this->_do_rm($path, 'directory');
  }

  protected function _rm($path) {
    if ($this->_isDir($path)) {
      $this->rmDir($path);
    } else {
      $this->unlink($path);
    }
  }

  public function setMockedCwd($cwd) {
    $this->cwd = $cwd;
  }

  public function getCwd() {
    return $this->cwd;
  }
}