Jacob Stevenson edited Trajectory spawning.tex  about 9 years ago

Commit id: ca8c8d638433700dfca59c0b4c285fc20ea251fb

deletions | additions      

       

where $X(t, x)$ is the position along the trajectory starting from $x$ at time $t$.  Note that $\vec{\nabla} \cdot \vec{b}$ is the divergence of $\vec{b}$ (written in Eric's notes as $Tr \vec{\nabla} \vec{b}$. This is related to the trace of the Hessian $H$ (they are simply proportional if $\vec{b}$ is proportional to the gradient). $J(x, t=0)$ is simply set equal to 1.   For a trajectory starting from $x$ a small surface element of area $dS$ $d\sigma$  (normal to the trajectory) sweeps out a volume, $|\vec{b}(x)| dS d\sigma  \int J(x, t) dt$ (should check this). The extra term in the definition of $\rho$ above is for the projection onto the reference surface.   If $|\vec{b}(x)| dt$ has units length (measuring the distance along the trajectory), then  $dS J(x,t))$ is the area of the surface element at time $t$, or  

The idea was to spawn new trajectories when the density of trajectories becomes very low. This can be implemented by spawning new trajectories when alpha is larger than a factor $\alpha > 1$. At this point the local density of trajectories has decreased by a factor of $\alpha$.   At time $t$ into trajectory starting from $x_i$, we can spawn $N$ new trajectories from a surface of size $dS_i $d\sigma_i  \chi(x_i, t)$ that is perpendicular to the trajectory. If we want to keep the density constant we can choose $N \sim \alpha^{-1}$. The starting points for these trajectories are chosen somehow (randomly) from he surface. At this point trajectory $i$ dies and is replace by $N$ new ones. Those propagate forward and potentially spawn new trajectories. This is describing a tree structure. Each trajectory has the potential to spawn children and the children can spawn new children. There is never any interaction between trajectories, everything is computed from local quantities, so the computation is still fairly trivially parallelizable.  How do we reconstruct the total volume from all these spawning events? To do so, we use a local variant of eq. \ref{eqn:basin_volume_from_traj}. If trajectory  $i$ spawns children at time $t$ then the surface element will have transformed to be size $S_i^{end} $\sigma_i^{end}  = S_i^{start} \sigma_i^{start}  \chi(x_i, t)$. From this surface we spawn new trajectories. The total downstream volume will be \begin{equation}  V_i^{DS} = \int_{S_{i}^{end}} \int_{\sigma_{i}^{end}}  \rho(x) d \sigma(x) = S_{i}^{end} \left< \rho(x) \right>_{S_{i}^{end}} \right>_{x \in \sigma_{i}^{end}}  \end{equation} 

\begin{equation}  \rho_i = \left| \vec{n}(x_{i}) \cdot \vec{b}(x_i) \right|  \left[  \int_0^{t_{death}} \int_0^{t_{end}}  J(x_i, t) dt + J(x_i, t_{death}) F( \{ \rho_{DS} \} ) \chi(x_i, t_{end}) \left< \rho(x) \right>_{x \in \sigma_{i}^{end}}  \right]  \end{equation}  In the above equation $S_i^{start}$ $\sigma_i^{start}$  does not appear because $\rho$ only computes the factor by which the surface increases, not the actual number. That will reappear when we get back to the reference volume (the central sphere) \subsection{trajectory spawning as message passing}  This can be re-formulated in the language of the message passing algorithm in which there are two types of nodes. The spawn surfaces are factor nodes, and the  

\mu_{t \to f} =   \left| \vec{n}(x) \cdot \vec{b}(x) \right|  \left[  \int_0^{t_{death}} \int_0^{t_{end}}  J(x, t) dt + J(x, t_{death}) F( \{ \rho_{DS} \} ) \chi(x, t_{end}) \left< \rho(x) \right>_{x \in \sigma_{i}^{end}}  \right]  \end{equation}  At a factor node (spawn surface) you combine all the incoming messages to estimate the relative downstream volume.  \begin{equation}  \mu_{f \to t} =   F \left( \left\{ \frac{1}{\sigma} \int_{\sigma} \rho(x) d \sigma(x) = \left< \rho(x) \right>_{x \in \sigma} = \left<  \mu_{t \to f}  \right\} \right) f}(x) \right>_{x \in \sigma}  \end{equation}  This message is then passed upstream to the trajectory which initiated the spawning event. This allows us to re-write the $\mu_{t \to f}$ in terms of the single incoming message  \begin{equation}  \mu_{t \to f} =   \left| \vec{n}(x(0)) \vec{n}(x)  \cdot \vec{b}(x(0)) \vec{b}(x)  \right| \left[  \int_0^{t_{death}} J(x(t), J(x,  t) dt + J(x(t_{death}), \chi(x,  t_{death}) \mu_{f \to t} ) \right]  \end{equation}