text:
# Recovering torsion in singular homology from cplx of singular chains

For a simply connected simplicial complex, a theorem of Whitehead (Derived categories for the working mathematician, bottom of page 2) explains that the associated chain complexes with coefficients in $\mathbb{Z}$ $$K \textrm{ : } \rightarrow C_n(X) \rightarrow C_{n-1}(X) \cdots$$ contains more information than the singular homology/cohomology groups (two such simplicial complexes are homotopic iff there is a certain relation between their associated chain complexes involving the chain complex of another simplicial complex).

Question: Let $X$ be a compact simplicial complex. Can one recover the torsion in $H^i(X, \mathbb{Z})$ from knowing the complex of simplicial chains (with $\mathbb{Q}$-coefficents)? Is there a procedure to do this?

-
I made a mistake (see comments below), so I modified the question. – LMN Jan 2 '13 at 19:53
Dear LMN, As Fernando Muro says, a cochain complex over $\mathbb Z$ is isomorphic to its cohomology (regarded as a complex with trivial differentials). This is even more evidently true when $\mathbb Z$ is replaced by a field such as $\mathbb Q$. Thus your assertion that "the associated chain complex contains more information ..." is false. Regards, – Emerton Jan 3 '13 at 3:22
LMN, do you mean, for instance, that the cup product on cochains contains more information than its cohomology groups? Otherwise it's not true that the cochain complex has more information than the cohomology groups (as others have said). – Hiro Lee Tanaka Jan 3 '13 at 6:02

1) is false, Whitehead's theorem doesn't say that. Actually, any complex over a hereditary ring, eg the integers, is quasi-isomorphic to its cohomology.

2) No, lens spaces have quasi-isomorphic singular (co)chains but different integral cohomology.

3) Yes, by the answer to 1)

Maybe you're interested in doing all this functorially. Since this is a very important point, if this is what you want you should specify all this explicitly, eg what would be the source category, the target, etc.

-
I guess that (3) would be yes if the sentence preceding it in LMN's question were accurate, but it isn't. It is possible to algebraically recover singular cohomology with coefficients in $\hat{\mathbb{Z}}$ or $\mathbb{C}$, but not $\mathbb{Z}$. – Donu Arapura Jan 2 '13 at 19:24
@Donu you are right! – Fernando Muro Jan 2 '13 at 19:28
Fernando, Thanks for your answer. I had misquoted Whitehead's theorem, so I changed my question appropriately. – LMN Jan 2 '13 at 19:45
@LNM it's still unaccurare. As I've said in my answer, the chain complex does not contain more information than the homology, unless you consider it as a functor. – Fernando Muro Jan 2 '13 at 20:13
@LMN my answer is complete, however if you don't have enough background you'll have to make año effort to fully understand it. Concerning Whiteheads's thm, you haven't got it yet: the complex and the homology contain exactly the same information. A homotopy type is much more complicated than the singular or cellular complex, even in the simply conected case (a hypothesis that you have overlooked). – Fernando Muro Jan 2 '13 at 21:07


text:
Language:   Search:   Contact
Zentralblatt MATH has released its new interface!
For an improved author identification, see the new author database of ZBMATH.

Query:
Fill in the form and click »Search«...
Format:
Display: entries per page entries
Zbl 0642.65062
Iyengar, S.R.K.; Jain, Pragya
Spline finite difference methods for singular two point boundary value problems.
(English)
[J] Numer. Math. 50, 363-376 (1987). ISSN 0029-599X; ISSN 0945-3245/e

The authors consider the following class of singular two-point boundary value problems $x\sp{-\alpha}(x\sp{\alpha}u')'=f(x,u),$ $0<x\le 1$ with $u(0)=A$, $u(1)=B$ or $u'(0)=0$, $u(1)=B$. Here $\alpha\in (0,1)$ or $\alpha$ takes values 1 or 2, f may be continuous, $\partial f/\partial u$ may exist, be continuous and $\partial f/\partial u\ge 0$. Then - as is well known - the boundary value problem has a unique solution. For the solution of these problems the authors construct splines and three-point finite difference methods using these splines. They show that such schemes are of $O(h\sp 2)$ under appropriate conditions. The advantage of such spline approximation is that the boundary value problem may be solved with a particular steplength h whereas intermediate values can be computed using the spline. On the basis of some numerical experiments the authors conclude that the discussed methods are robust and give good approximations at the intermediate points.
MSC 2000:
*65L10 Boundary value problems for ODE (numerical methods)
34B15 Nonlinear boundary value problems of ODE

Keywords: singular two-point boundary value problem; numerical examples; splines; three-point finite difference methods; numerical experiments

Cited in: Zbl 0995.65081 Zbl 0665.65067

Highlights
Master Server

format: plain


text:
# Continuity of Lyapunov spaces

The following appears in the paper "Continuity properties of entropy" by Newhouse from 1989:

Let $M$ be some smooth Riemannian compact manifold (you may assume boundary-less), and let $f\in Diff^{1+\epsilon}(M)$ for some $\epsilon>0$ (it means that $f,f^{-1}$ are differentiable, and the differential is $\epsilon$-H\"older continuous).

For all $l\in\mathbb{N}$ and $\chi>0$, define

$\Lambda_{\chi,l}:=\{x\in M:$ There is a splitting $T_xM=E^s(x)\oplus E^u(x)$, and $\forall v_u\in E^u(x),v_s\in E^s(x), n\geq0$:

$|d_xf^nv_s|\leq l e^{-\chi n}|v_s|$, $|d_xf^{-n}v_s|\geq l^{-1} e^{\chi n}|v_s|$ and

$|d_xf^{-n}v_u|\leq l e^{-\chi n}|v_u|$, $|d_xf^{n}v_u|\geq l^{-1} e^{\chi n}|v_u|$ $\}$

The following line in Newhouse's paper is that it is fairly easy to see that $E^u(x)$ change continuously for $x\in \Lambda_{\chi,l}$ on each piece with $\dim E^u(x)$ constant.

I've tried showing so myself, or finding some reference online- neither yielded results. I'm not sure I understand even what continuity in this context means (I'd rather not to go into Grassmannians or tangent bundles, and keep it analytic); therefore even a reduction to the continuity of $Jac(d_xf|_{E^u(x)})$ will be greatly appreciated. It is not clear to me if the continuity is unique to the sets $\Lambda_{\chi,l}$, or is it a property for all $\chi$-hyperbolic points, or all Lyapunov regular points, etc. As well as the regularity module- could one discuss H\"older continuity, uniform continuity etc. ?

Thanks ahead for anyone contributing... I'm sorry I couldn't present some more of my own progress on this question, I'm really quite lost on this one and would really like to understand his paper.

This is a standard argument in Pesin Theory, which I'll sketch below leaving details to the reader. Let's pretend $M = \mathbb T^d, d \geq 2$, so that I don't have to bother with charts (the proof is local anyway and so can be transcribed verbatim onto a single chart).

Let $x, x_n \in \Lambda_{\chi, l}, n \geq 0$ and assume (i) $x_n \to x$ and (ii) $\dim E^u(x_n) \equiv \dim E^u(x)$.

Without loss we can pass to a subsequence $x_{n}$ along which $\{E^u(x_{n})\}$ converges to a subspace $E \subset T_x M$. It suffices to show that $E = E^u(x)$. If not, then there is a unit vector $e \in E$ for which $e = e^u + e^s$ with $e^s \neq 0$ (here we split according to $E^u \oplus E^s$ at $x$).

Now, $e$ is the limit of some sequence of unit vectors $e_n \in E^u(x_n)$. Below, $k$ is fixed and $n \geq 1$:

$$\| df^{-k}_x e\| \leq \| df^{-k}_x - df^{-k}_{x_n} \| + \| df^{-k}_{x_n}(e - e_n)\| + \| df^{-k}_{x_n} e_n\|$$ Taking $n$ to infinity, the first and second terms vanish, while the third term is $\leq l e^{- k \chi}$ for all $n$. On the other hand, $$\| df^{-k}_x e \| \geq \| df^{-k}_x e^s\| - \| df^{-k}_x e^u\| \geq l^{-1} e^{\chi k} \| e^s\| - l e^{- \chi k} \| e^u\| ,$$ which is clearly incompatible with the earlier estimate when $k$ is sufficiently large. We conclude $\|e^s\| = 0$, i.e., $E = E^u(x)$.

As you can see, the proof heavily depends on the uniformity of the hyperbolicity estimates across $\Lambda_{\chi, l}$, which are often called uniformity sets or Pesin sets in the literature. One expects continuity of $E^{u/s}$ to hold only along Pesin sets, and not along the whole set of Lyapunov regular points.

Generally, only Holder continuity holds-- my favorite proof is given in Brin & Stuck (Chapter 5, I think). Uniform continuity across Pesin sets can be recovered by modifying the above proof.


text:
# Properties

 Label 75.3.d.a Level $75$ Weight $3$ Character orbit 75.d Analytic conductor $2.044$ Analytic rank $0$ Dimension $2$ CM discriminant -3 Inner twists $4$

# Related objects

## Newspace parameters

 Level: $$N$$ $$=$$ $$75 = 3 \cdot 5^{2}$$ Weight: $$k$$ $$=$$ $$3$$ Character orbit: $$[\chi]$$ $$=$$ 75.d (of order $$2$$, degree $$1$$, not minimal)

## Newform invariants

 Self dual: no Analytic conductor: $$2.04360198270$$ Analytic rank: $$0$$ Dimension: $$2$$ Coefficient field: $$\Q(\sqrt{-1})$$ Defining polynomial: $$x^{2} + 1$$ Coefficient ring: $$\Z[a_1, \ldots, a_{7}]$$ Coefficient ring index: $$1$$ Twist minimal: yes Sato-Tate group: $\mathrm{U}(1)[D_{2}]$

## $q$-expansion

Coefficients of the $$q$$-expansion are expressed in terms of $$i = \sqrt{-1}$$. We also show the integral $$q$$-expansion of the trace form.

 $$f(q)$$ $$=$$ $$q + 3 i q^{3} -4 q^{4} + 11 i q^{7} -9 q^{9} +O(q^{10})$$ $$q + 3 i q^{3} -4 q^{4} + 11 i q^{7} -9 q^{9} -12 i q^{12} + i q^{13} + 16 q^{16} + 37 q^{19} -33 q^{21} -27 i q^{27} -44 i q^{28} -13 q^{31} + 36 q^{36} + 26 i q^{37} -3 q^{39} + 61 i q^{43} + 48 i q^{48} -72 q^{49} -4 i q^{52} + 111 i q^{57} + 47 q^{61} -99 i q^{63} -64 q^{64} -109 i q^{67} + 46 i q^{73} -148 q^{76} + 142 q^{79} + 81 q^{81} + 132 q^{84} -11 q^{91} -39 i q^{93} -169 i q^{97} +O(q^{100})$$ $$\operatorname{Tr}(f)(q)$$ $$=$$ $$2q - 8q^{4} - 18q^{9} + O(q^{10})$$ $$2q - 8q^{4} - 18q^{9} + 32q^{16} + 74q^{19} - 66q^{21} - 26q^{31} + 72q^{36} - 6q^{39} - 144q^{49} + 94q^{61} - 128q^{64} - 296q^{76} + 284q^{79} + 162q^{81} + 264q^{84} - 22q^{91} + O(q^{100})$$

## Character values

We give the values of $$\chi$$ on generators for $$\left(\mathbb{Z}/75\mathbb{Z}\right)^\times$$.

 $$n$$ $$26$$ $$52$$ $$\chi(n)$$ $$-1$$ $$-1$$

## Embeddings

For each embedding $$\iota_m$$ of the coefficient field, the values $$\iota_m(a_n)$$ are shown below.

For more information on an embedded modular form you can click on its label.

Label $$\iota_m(\nu)$$ $$a_{2}$$ $$a_{3}$$ $$a_{4}$$ $$a_{5}$$ $$a_{6}$$ $$a_{7}$$ $$a_{8}$$ $$a_{9}$$ $$a_{10}$$
74.1
 − 1.00000i 1.00000i
0 3.00000i −4.00000 0 0 11.0000i 0 −9.00000 0
74.2 0 3.00000i −4.00000 0 0 11.0000i 0 −9.00000 0
 $$n$$: e.g. 2-40 or 990-1000 Significant digits: Format: Complex embeddings Normalized embeddings Satake parameters Satake angles

## Inner twists

Char Parity Ord Mult Type
1.a even 1 1 trivial
3.b odd 2 1 CM by $$\Q(\sqrt{-3})$$
5.b even 2 1 inner
15.d odd 2 1 inner

## Twists

By twisting character orbit
Char Parity Ord Mult Type Twist Min Dim
1.a even 1 1 trivial 75.3.d.a 2
3.b odd 2 1 CM 75.3.d.a 2
4.b odd 2 1 1200.3.c.a 2
5.b even 2 1 inner 75.3.d.a 2
5.c odd 4 1 75.3.c.a 1
5.c odd 4 1 75.3.c.b yes 1
12.b even 2 1 1200.3.c.a 2
15.d odd 2 1 inner 75.3.d.a 2
15.e even 4 1 75.3.c.a 1
15.e even 4 1 75.3.c.b yes 1
20.d odd 2 1 1200.3.c.a 2
20.e even 4 1 1200.3.l.c 1
20.e even 4 1 1200.3.l.d 1
60.h even 2 1 1200.3.c.a 2
60.l odd 4 1 1200.3.l.c 1
60.l odd 4 1 1200.3.l.d 1

By twisted newform orbit
Twist Min Dim Char Parity Ord Mult Type
75.3.c.a 1 5.c odd 4 1
75.3.c.a 1 15.e even 4 1
75.3.c.b yes 1 5.c odd 4 1
75.3.c.b yes 1 15.e even 4 1
75.3.d.a 2 1.a even 1 1 trivial
75.3.d.a 2 3.b odd 2 1 CM
75.3.d.a 2 5.b even 2 1 inner
75.3.d.a 2 15.d odd 2 1 inner
1200.3.c.a 2 4.b odd 2 1
1200.3.c.a 2 12.b even 2 1
1200.3.c.a 2 20.d odd 2 1
1200.3.c.a 2 60.h even 2 1
1200.3.l.c 1 20.e even 4 1
1200.3.l.c 1 60.l odd 4 1
1200.3.l.d 1 20.e even 4 1
1200.3.l.d 1 60.l odd 4 1

## Hecke kernels

This newform subspace can be constructed as the kernel of the linear operator $$T_{2}$$ acting on $$S_{3}^{\mathrm{new}}(75, [\chi])$$.

## Hecke characteristic polynomials

$p$ $F_p(T)$
$2$ $$T^{2}$$
$3$ $$9 + T^{2}$$
$5$ $$T^{2}$$
$7$ $$121 + T^{2}$$
$11$ $$T^{2}$$
$13$ $$1 + T^{2}$$
$17$ $$T^{2}$$
$19$ $$( -37 + T )^{2}$$
$23$ $$T^{2}$$
$29$ $$T^{2}$$
$31$ $$( 13 + T )^{2}$$
$37$ $$676 + T^{2}$$
$41$ $$T^{2}$$
$43$ $$3721 + T^{2}$$
$47$ $$T^{2}$$
$53$ $$T^{2}$$
$59$ $$T^{2}$$
$61$ $$( -47 + T )^{2}$$
$67$ $$11881 + T^{2}$$
$71$ $$T^{2}$$
$73$ $$2116 + T^{2}$$
$79$ $$( -142 + T )^{2}$$
$83$ $$T^{2}$$
$89$ $$T^{2}$$
$97$ $$28561 + T^{2}$$


text:
math.NA

(what is this?)

# Title: The Hessian discretisation method for fourth order linear elliptic equations

Abstract: In this paper, we propose a unified framework, the Hessian discretisation method (HDM), which is based on four discrete elements (called altogether a Hessian discretisation) and a few intrinsic indicators of accuracy, independent of the considered model. An error estimate is obtained, using only these intrinsic indicators, when the HDM framework is applied to linear fourth order problems. It is shown that HDM encompasses a large number of numerical methods for fourth order elliptic problems: finite element method (conforming and non-conforming) as well as finite volume method. Finally, we use the HDM to design a novel method, based on conforming $\mathbb{P}_1$ finite element space and gradient recovery operators. Results of numerical experiments are presented for this novel scheme.
 Subjects: Numerical Analysis (math.NA) MSC classes: 65N15, 65N30, 65N08 Cite as: arXiv:1803.06985 [math.NA] (or arXiv:1803.06985v1 [math.NA] for this version)

## Submission history

From: Devika Shylaja [view email]
[v1] Mon, 19 Mar 2018 15:20:43 GMT (34kb,D)


text:
## Elementary Algebra

For a 30-60-90 triangle, the side opposite to the 60 degree angle is $\sqrt{3}$ longer than the side opposite to the 30 degree angle. Thus, the length of this side is: $$4 \sqrt{3}$$


text:
MathSciNet bibliographic data MR306176 (46 #5303) 13C05 Ohm, Jack; Rush, David E. The finiteness of $I$$I$ when ${\it R}[{\it X}]/{\it I}$${\it R}[{\it X}]/{\it I}$ is flat. Trans. Amer. Math. Soc. 171 (1972), 377–408. Article

For users without a MathSciNet license , Relay Station allows linking from MR numbers in online mathematical literature directly to electronic journals and original articles. Subscribers receive the added value of full MathSciNet reviews.


text:
## Representativewise multiplication of cosets of an ideal is well-defined

Let $R$ be a ring and let $I \subseteq R$ be an ideal. Show that if $a_1 - b_1 \in I$ and $a_2 - b_2 \in I$, then $a_1a_2 - b_1b_2 \in I$.

Since $I$ is an ideal, $a_1a_2 - b_1a_2 \in I$ and $b_1a_2 - b_1b_2 \in I$. So $a_1a_2 - b_1a_2 + b_1a_2 - b_1b_2$ $= a_1a_2 - b_1b_2 \in I$ as desired.


text:
# Estimating the nature and the horizontal and vertical positions of 3D magnetic sources using Euler deconvolution

(2013) Felipe Ferreira Melo, Valéria C. F. Barbosa, Leonardo Uieda, Vanderlei C. Oliveira Jr., João B. C. Silva

## Citation

Melo, F. F., V. C. F. Barbosa, L. Uieda, V. C. Oliveira Jr, and J. B. C. Silva (2013), Estimating the nature and the horizontal and vertical positions of 3D magnetic sources using Euler deconvolution, Geophysics, 78(6), J87-J98, doi:10.1190/geo2012-0515.1

## Abstract

We have developed a new method that drastically reduces the number of the source location estimates in Euler deconvolution to only one per anomaly. Our method employs the analytical estimators of the base level and of the horizontal and vertical source positions in Euler deconvolution as a function of the x- and y-coordinates of the observations. By assuming any tentative structural index (defining the geometry of the sources), our method automatically locates plateaus, on the maps of the horizontal coordinate estimates, indicating consistent estimates that are very close to the true corresponding coordinates. These plateaus are located in the neighborhood of the highest values of the anomaly and show a contrasting behavior with those estimates that form inclined planes at the anomaly borders. The plateaus are automatically located on the maps of the horizontal coordinate estimates by fitting a first-degree polynomial to these estimates in a moving-window scheme spanning all estimates. The positions where the angular coefficient estimates are closest to zero identify the plateaus of the horizontal coordinate estimates. The sample means of these horizontal coordinate estimates are the best horizontal location estimates. After mapping each plateau, our method takes as the best structural index the one that yields the minimum correlation between the total-field anomaly and the estimated base level over each plateau. By using the estimated structural index for each plateau, our approach extracts the vertical coordinate estimates over the corresponding plateau. The sample means of these estimates are the best depth location estimates in our method. When applied to synthetic data, our method yielded good results if the bodies produce weak- and mid-interfering anomalies. A test on real data over intrusions in the Goiás Alkaline Province, Brazil, retrieved sphere-like sources suggesting 3D bodies.

## Bibtex

@article{melo2013,
title = {Estimating the nature and the horizontal and vertical positions
of 3D magnetic sources using {Euler} deconvolution},
volume = {78},
issn = {0016-8033, 1942-2156},
doi = {10.1190/geo2012-0515.1},
number = {6},
journal = {GEOPHYSICS},
author = {Melo, Felipe F. and Barbosa, Valeria C. F. and Uieda,
Leonardo and Oliveira, Vanderlei C. and Silva, João B. C.},
month = oct,
year = {2013},
pages = {J87--J98}
}


text:
# Jensen's inequality

I am using Jensen's inequality and conditional expectation to prove the following inequality:

Let $\lambda_i$ be real for $i\in \{1,2,...,M\}$ and $\bar{\lambda}=\frac{\sum_{i=1}^M\lambda_i}{M}$. Let $X_i$, $i\in \{1,2,...,M\}$ be a set of real i.i.d random variables, then we have \begin{align} \mathbb{E}\left(f\left(\sum_{i=1}^M \bar{\lambda} X_i\right)\right) \le \mathbb{E}\left(f\left(\sum_{i=1}^M \lambda_i X_i\right)\right), \end{align} where $f(\cdot)$ is a convex function. The equal sign holds when $\lambda_{i}=\bar{\lambda}$ for all $i\in \{1,2,...,M\}$.

And my proof is given as:

Let \begin{align} X=\sum_{i=1}^M\bar{\lambda}X_i, \end{align} \begin{align} W=\sum_{i=1}^M\lambda_iX_i, \end{align} and \begin{align} Z=X-W. \end{align} By the symmetric property of $X$, the conditional random variables $X_i|X$, $i\in \{1,...,M\}$, are identically distributed, which implies \begin{align} \mathbb{E}(X_1|X)=\mathbb{E}(X_2|X)= \cdots = \mathbb{E}(X_M|X). \end{align} Therefore \begin{align} \mathbb{E}(Z|X)&=\sum_{i=1}^M \bar{\lambda}\mathbb{E}(X_i|X)-\sum_{i=1}^M \lambda_{i}\mathbb{E}(X_i|X)\\ &=\mathbb{E}(X_1|X)\left(\sum_{i=1}^M \bar{\lambda}-\sum_{i=1}^M \lambda_{i}\right)=0. \end{align} Since $f(\cdot)$ is convex, by Jensen's inequality we have \begin{align} \mathbb{E}(f(X-Z)|X) &\ge f(\mathbb{E}((X-Z)|X)) \\ &=f(X-0)=f(X) \end{align} Therefore \begin{align} \mathbb{E}(f(W))=\mathbb{E}(\mathbb{E}(f(X-Z)|X))\ge \mathbb{E}(f(X)). \end{align}

I think the proof is right, but not 100% sure, can someone give me a judgement of this proof?

Thanks!

• your question is about a specific problem using Jensen's inequality, right? Then your title is way to general considering the focused scope of your question. Please change your title. – Pinocchio Nov 17 '14 at 15:33


text:
Comment
Share
Q)

# Rate of a chemical reaction can be kept constant by

$(A)\;\text{Stirring the compounds } \\ (B)\;\text{Keeping the temperature constant} \\(C)\;\text{both (a) and (b)} \\(D)\;\text{none of these}$


text:
## 't Hooft in Duisburg-Essen

<jabberwocky>
<a href="jabberwocky:;" onClick="newWindow=window.open('','usenetCode','toolbar=no,location=no, scrollbars=yes,resizable=yes,status=no,width=650,height=400'); newWindow.document.write('<TITLE>Usenet ASCII</TITLE>
This Usenet message\'s original ASCII form:

\n\n\n"Urs Schreiber" <Urs.Schreiber@uni-essen.de> wrote in message news:<40fc3d89\\$1@news.sentex.net>...\n\n>\n> Today Prof. Gerard t\'Hooft gave a talk at University Duisburg-Essen on Black\n> Holes in Elementary Particle Physics. Maybe due to the media hype about\n> Hawking\'s announcement of his new idea about the black hole information\n> \'paradox\', t\'Hooft decided to throw his TV set away, and not only his but\n> lots of them, in fact enough that they would form a spherical shell\n> collapsing to a black hole.\n\nMore information about throwing TV sets into black holes can be found in\n\nhttp://www.arxiv.org/abs/gr-qc/0401027\n

');">   View this Usenet post in original ASCII form

</jabberwocky>"Urs Schreiber" <Urs.Schreiber@uni-essen.de> wrote in message news:<40fc3d89$1@news.sentex.net>...

>
> Today Prof. Gerard t'Hooft gave a talk at University Duisburg-Essen on Black
> Holes in Elementary Particle Physics. Maybe due to the media hype about
> Hawking's announcement of his new idea about the black hole information
> 'paradox', t'Hooft decided to throw his TV set away, and not only his but
> lots of them, in fact enough that they would form a spherical shell
> collapsing to a black hole.

On 27 Jul 2004 08:52:18 $-0400,$ thomas_larsson_01@hotmail.com (Thomas Larsson) wrote: >> >> Today Prof. Gerard t'Hooft gave a talk at University Duisburg-Essen on Black >> Holes in Elementary Particle Physics. Maybe due to the media hype about >> Hawking's announcement of his new idea about the black hole information >> 'paradox', t'Hooft decided to throw his TV set away, and not only his but >> lots of them, in fact enough that they would form a spherical shell >> collapsing to a black hole. > >More information about throwing TV sets into black holes can be found in > >http://www.arxiv.org/abs/http://www..../gr-qc/0401027 t'Hooft is apparently unhappy with the probabilistic "axioms" of quantum mechanics. How can one sensibly talk about "probability" if a given experiment can be repeated only a finite number of times $- he$ asks. So he mentions hidden variable theories and "beables" as possible ways for a new quantum mechanics. In EEQT we do not have these problems. The algorithm of EEQT generates the Universe in "real time". And if "time" is to be avoided, since it needs to be explained itself, then there is a "Schwinger-Fock" auxiliary "time' at hand. It may be related to the parameter of the modular group - as suggested by Connes-Rovelli. In EEQT the probabilistic interpretation of the ordinary quantum mechanics can be derived IF the experiment can be repeated infinitely many time. But EEQT deals with a single system that is aware of its own state (self-observation). It is self-observation (self-measurement a'la Wheeler) that generates real "events" and that corresponds to "binamics" - exchange of bits of information. Throwing a TV set into a black hole is an EVENT - according to EEQT. An annihilation operator is applied to the TV set, and TV set is transformed into another object. The norm of the state becomes renormalized. A quantum jump happens. And the information about the event becomes recorded and "known", at least to the readers of spr :-) Reference: EEQT - A Way Out of the Quantum Trap http://quantumfuture.net/quantum_fut...uc/petruc.html ark -- Arkadiusz Jadczyk http://quantumfuture.net/quantum_future/homepage.htm --


text:
## Run flexpde using command line (Error: file does not exist)

General discussions about how to formulate a script for FlexPDE.

### Run flexpde using command line (Error: file does not exist)

Hello, I run flexpde from the command line, for example

flexpde6 -R sample

I successfully open the flexpde program but I got an error ''sample.pde does not exist''

So i have to browse the file manually. How can I make the program see this file?

My system is window 10. Any help would be appreciated.

Preuk
Preuk

Posts: 3
Joined: Sat Aug 29, 2015 2:08 am

### Re: Run flexpde using command line (Error: file does not exist)

Depending on the location of the files, you may need to give a full or relative path to the file. The command line you present will only find the file if it is in the same directory as the FlexPDE executable.

If your command window is in the FlexPDE directory, then you will need to enter something like :
C:\FlexPDE6> flexpde6 \full\path\to\sample

If the sample is on another partition, you will need the partition qualifier. E.g. D:\full\path\to\sample

If your command window is in the sample file directory, you can type a full path to the FlexPDE executable :
C:\path\to\sample> C:\FlexPDE6\flexpde6 sample
moderator

Posts: 733
Joined: Tue Jan 11, 2011 1:45 pm

### Re: Run flexpde using command line (Error: file does not exist)

Thank you very much for your help. I've just realized that it is the issue of command line path.

I moved the file sample.pde into this folder C:\Users\Preuk and I tried this in the command promt

C:\Users\Preuk>flexpde6 -R sample

Everything works perfectly fine.

PS. I tried to change the command line path to be those you gave as the examples:

C:\FlexPDE6> or C:\path\to\sample>

and try to link it to the sample.pde installed in another drive (E:\folder1\)

It did not work, I still dont know why?
Preuk

Posts: 3
Joined: Sat Aug 29, 2015 2:08 am

### Re: Run flexpde using command line (Error: file does not exist)

Yes, this is all about command-line paths and current working directories. If you are not familiar with command-line paths and current working directories then you will want to read up on how they work.

If the terminal's current working directory is the FlexPDE executable directory, then you will need to give a full path to the script you want to run. If the current working directory is the script's directory then you will need to give a full path to the FlexPDE executable. If the current working directory is neither, then you will have to give full paths to both the executable and the script.

I am surprised that you first example worked. You were in the script's directory but did not give a full path to the FlexPDE executable. That should fail because we do not put the FlexPDE directory into the $PATH$ environment variable.

In order to run on a script on a different partition, you will need to include the partition qualifier :
> C:\FlexPDE6\flexpde6 -R E:\folder1\sample
moderator

Posts: 733
Joined: Tue Jan 11, 2011 1:45 pm

### Re: Run flexpde using command line (Error: file does not exist)

I think I got it. I forgot to tell you that when I started to figure out about the command line, I also added flxpde6 folder into the environmental variable path.

I guess that's why my first example worked. Now I deleted it to get back to the initial state and try your latest example. It was perfect!

Thank you again for your help.
Preuk

Posts: 3
Joined: Sat Aug 29, 2015 2:08 am

### Re: Run flexpde using command line (Error: file does not exist)

That makes sense. Adding the FlexPDE directory to your environment path is fine, we just don't do it automatically when we install.
moderator

Posts: 733
Joined: Tue Jan 11, 2011 1:45 pm


text:
# How to use Metric tensor, Christoffel symbols, Riemann and Ricci curvature in this case?

I have a question as follows, which I hope can be related to the thought/calculation process for general relativity, please:

We suppose that a man and a woman start walking due North at the same time. The man starts walking North from London, and the woman starts walking North from Paris. They carry sophisticated "distance meters" with them that can tell them the how far apart they are.

The distance meter reads 300 km as they begin their long journey to the North. Puzzlingly, some hours later the meter reads only 290 km. But they have both been walking completely North, so how can this be? After some more hours, the distance meter again reads a smaller number 280 km.

Then, the astute couple begins to define between themselves a new mysterious "attractive" force between them as follows: Rate of change of distance meter readout = Cumulative distance traveled from starting city + (speed of walking * time till next reading) * some-proportionality-constant.

My question is, where is the Ricci curvature hidden in this primitive "theory"? Is it absolutely indispensable to first derive the metric tensor for the sphere of Earth radius, followed by the Christoffel symbols, followed by the Riemann curvature tensor, followed by the Ricci curvature in order to have a predictive theory for their distance meter readings as they each travel North?

More seriously, what are the indispensable insights gained from each of the following steps for this particular example: Metric Tensor -> Christoffel Symbols -> Riemann Curvature -> Ricci Curvature in order to make useful predictions in this case?

The real metric tensor in this case (combining the London Bridge, the Eiffel Tower, asphalt roads, the Thames, houses, swimming pools, skyscrapers, etc) can probably never be solved analytically, is this correct?

How can we solve this particular situation from the metric tensor to get the size of the "attractive" force between the man and woman as they travel North?

Thank you.

Your example is basically the motion of test particles constrained to a 2D surface (in this case, the surface of the Earth) in flat spacetime. If the surface in question is sufficiently smooth, then we can define a spatial metric $$\gamma$$ which is inherited from the embedding of the surface in flat 3D space.

Here's how this works for the 2-sphere. We can coordinatize points on the 2-sphere using the angular coordinates $$(\theta,\phi)$$ such that $$\pmatrix{x(\theta,\phi)\\y(\theta,\phi)\\z(\theta,\phi)} = \pmatrix{R\sin(\theta)\cos(\phi)\\ R\sin(\theta)\sin(\phi) \\ R \cos(\theta)}$$ The 2-sphere is defined by the equation $$x^2+y^2+z^2 = R^2$$. The line element in flat 3D space is given by $$\mathrm d\sigma^2=\mathrm dx^2+\mathrm dy^2+\mathrm dz^2$$. Plugging in the coordinate expressions above and doing some algebra yields $$\mathrm d\sigma^2 = R^2 \mathrm d\theta^2 + R^2\sin^2(\theta) \mathrm d\phi^2$$ which is the induced line element on the 2-sphere. The components of the corresponding induced metric $$\gamma$$ can be read off as $$\gamma_{ij} = \pmatrix{R^2 & 0 \\ 0 & R^2\sin^2(\theta)}$$

The full spacetime line element and metric in the coordinates $$(t,\theta,\phi)$$ are then simply $$\mathrm ds^2 = -c^2\mathrm dt^2 + R^2 \mathrm d\theta^2 + R^2\sin^2(\theta) \mathrm d\phi^2$$ $$g_{ij} = \pmatrix{-c^2 & 0 & 0 \\ 0 & R^2 & 0 \\ 0& 0 & R^2\sin^2(\theta)}$$ and the inverse metric components are $$g^{ij} = \pmatrix{-\frac{1}{c^2} & 0 &0 \\ 0 & \frac{1}{R^2} & 0 \\ 0 & 0 & \frac{1}{R^2\sin^2(\theta)}}$$ From here we can compute the Christoffel symbols, which is a straightforward exercise (the only non-constant component of the metric tensor is $$g_{\phi\phi}$$, so almost all of them vanish). That's all we need for the geodesic equation, so if we want to understand the motion of test particles then we're basically done.

What are the indispensable insights gained from each of the following steps for this particular example: Metric Tensor -> Christoffel Symbols -> Riemann Curvature -> Ricci Curvature in order to make useful predictions in this case?

Once we have the Christoffel symbols, we don't need the Riemann or Ricci curvatures to predict how particles will move. As in the example above, if you are handed the metric (e.g. if you are considering constrained motion in flat spacetime) then by taking a few derivatives you can compute the $$\Gamma$$'s, and therefore have the equations of motion for test particles.

The point you may be missing is that in GR, we generally don't have the metric; instead, we start with the stress-energy tensor $$T_{\mu\nu}$$ which tells us the distribution of energy and momentum in the spacetime we are considering. From there, note that the $$\Gamma$$'s involve the first derivatives of the (unknown!) metric, while the Riemann tensor involves its second derivatives. The Ricci and Einstein tensors are just algebraic combinations of the above, so the expression $$G_{\mu\nu} = \frac{8\pi G}{c^4} T_{\mu\nu}$$ is an elaborate system of second-order, nonlinear, coupled PDE's for the components $$g_{ij}$$ of the unknown metric.

The typical way to solve these equations is to use symmetry arguments to constrain the form of the unknown metric. For example, assuming a static and spherically symmetric vacuum spacetime leads to coordinates $$(t,r,\theta,\phi)$$ in which the line element takes the form $$\mathrm ds^2 = -A(r)\mathrm dt^2 + B(r)\mathrm dr^2 + r^2(\mathrm d\theta^2 + \sin^2(\theta) \mathrm d\phi^2)$$

So the problem of finding the unknown metric has already been reduced to finding two unknown functions of the single coordinate $$r$$. This is vastly simpler than the general case, in which you have 10 independent components $$g_{ij}$$, each of which is a function of all 4 coordinates. Plugging this in to Einstein's equations and turning the crank is still a tedious exercise (you can find it worked out in full detail here), but it ultimately yields very simple equations for $$A$$ and $$B$$: $$A(r) B(r) = c^2$$ $$\frac{d}{dr}\left(r^2 A'(r)\right) = 0$$ From there, one can demand that this reproduce Newtonian gravity in the large-$$r$$ limit; the result is the Swarzschild metric. Once you have that, you can compute the Christoffel symbols and obtain the equations of motion for test particles.

So in summary, the entire point of solving Einstein's equations - at least in terms of predicting the motion of test particles - is to obtain the components of the metric, and thereby the Christoffel symbols which appear in the particles' equations of motion. If you already have the metric/$$\Gamma$$'s, the Riemann/Einstein tensors don't give you any additional insight into how particles will move.

• @ J Murray thank you very much! I think am starting to understand the bigger picture... So, getting from the metric tensor to the Christoffel symbols and then the geodesic equations of motion is really the "trivial" part of GR, and can even possibly be done by symbolic computer, and the main difficulty is actually in the precursor step, of getting from the reference-frame-invariant Stress Energy tensor to get at the metric in the first place, is this correct? Oct 15, 2021 at 11:59
• @James Yes, and indeed it can easily be done by computer - there are plenty of Mathematica notebooks floating around which include that functionality. Note also that there are plenty of interesting question in GR - such as the propagation of gravitational waves, the nature of singularities and black holes, etc - which are somewhat adjacent to the operational procedure I have, but those topics are more advanced. Oct 15, 2021 at 12:23
• @ J Murray thank you again, the answer was really instructive and clears up what the early textbook chapters on GR are about in the bigger context. Oct 15, 2021 at 12:36

Only the line element on the surface of a sphere is needed which is

$$ds^2 = A^2 ( d\theta^2 + \sin^2 \theta d\varphi^2)$$

I used for the radius of the sphere the symbol $$A$$ to make clear that this value is a constant that will not be changed in this problem. If both persons walk exactly towards the North at different coordinates $$\varphi_1$$ and $$\varphi_2$$ and same $$\theta_S$$ ($$d\theta=0$$ )the distance between them is

$$ds^2 = A^2 \sin^2 \theta_S \Delta\varphi^2$$

After walking a bit along $$\theta$$-lines the $$\varphi$$ coordinate distance $$\Delta\varphi$$ does not change, but $$\theta_S$$ changes to $$\theta_E$$ (we also assume that both walkers walk the same "length" in $$\theta$$, so that $$d\theta=0$$):

$$ds^2 = A^2 \sin^2 \theta_E \Delta\varphi^2$$

We can now compare both distances:

$$\Delta(ds) = A (\sin\theta_S -\sin \theta_E) \Delta\varphi$$

Assuming that both persons start in the northern hemisphere the angles $$\theta_S$$ and $$\theta_E$$ are both significantly below $$90^\circ$$ (which should be the case in Paris and London) we can use linear approximation for $$\sin\theta \approx \theta$$ we get (actually if the linear approximation is not valid for large $$\theta$$ the property of the sinus that it is a monotonously increasing function for $$\theta < 90^\circ$$ can be used to get to the result $$\Delta(ds)>0$$ ):

$$\Delta(ds) = A (\theta_S -\theta_E) \Delta\varphi$$

As $$\theta_S > \theta_E$$ we see that $$\Delta(ds)>0$$, i.e. the initial distance between both walkers is larger than the final one. That's the correct answer.

A force obtained from the curvature is not needed. The use of curvilinear coordinates may lead sometimes to surprising results because we are used to cartesian coordinates. But curvilinear coordinates can have any form one can imagine as long as they are differentiable.

• thank you! "A force obtained from the curvature is not needed," Yes, I thought the relation here should have been quite simple too, though reading through the early chapters on general relativity, one would have thought it's an accounting course for indices... have Einstein heard of python? :) In any case, suppose if one were to do the whole-nine-yards calculations to get curvature first from the line element, and then calculate the distance on manifold between the two as a function of time and so forth, would the final expression for the answer turn out to be the same? Thank you. Oct 15, 2021 at 9:32
• @James Actually I was a bit too fast. It is not really correct, but the result is the same. Oct 15, 2021 at 9:48
• @James I elaborated the answer and corrected the first post which was posted too swiftly --- sorry for that. But the final answer is the same. Oct 15, 2021 at 10:14
• @James Simple questions have in most cases simple answers (BTW also an insight of A. Einstein). Oct 15, 2021 at 10:16
• @ Frederic yes, I'm just learning how to calculate with these "aparatus" of general relativity and how to get concrete results using them... Oct 15, 2021 at 10:31


text:
# Parabolas

In this parabolas learning exercise, students write the equation of 6 parabolas in standard form and then sketch their graphs. Students then write 13 equations for parabolas given certain information.

Concepts

Resource Details


text:
## Thursday, November 01, 2018

### Rethinking urban land records: A case study of Mumbai

by Gausia Shaikh and Diya Uday.

### Introduction

A well functioning market is identified by the ease of doing business. This connotes both the ease in conducting transactions as well as low transaction costs. Ease of doing business in any market is inhibited by the lack of adequate information about the traded good. Land markets are no different.

In fact, they pose unique challenges that contribute to information asymmetry. Firstly, land is not a homogeneous product. Each parcel is unique with a particular set of locational and physical attributes (Catherine Farvacque, 1992). In addition to this, each land parcel also carries with it unique rights and obligations of which a typical buyer has little knowledge. Secondly, in India, land is a State subject under the Constitution. From a governance perspective, it means that the legal and organisational framework pertaining to land is determined by each State. For instance, land records in Maharashtra are maintained under the Maharashtra Land Revenue Code, 1966 while the equivalent legislation in Rajasthan is the Rajasthan Land Revenue Act, 1956. Therefore, the range of information on land parcels maintained by each State is not necessarily uniform.

A purchaser is therefore compelled to bear high transaction costs both in terms of money and time to obtain information about the land parcel. This is done by conducting a due diligence of the title to the land parcel. It involves the painstaking process of first obtaining all relevant records pertaining to a parcel of land from various government departments and then reviewing the information to ascertain the rights and obligations that flow from it. Often these records are missing crucial information that will affect a purchaser's buy decision. Even when information is available, the insufficiency of information related to a land parcel in a consolidated manner is a cause for concern. Buyers therefore tend to rely on information contained in contracts pertaining to the land as a source of information. Further, purchasers also feel the need to publish a notification of their intent to buy the land parcel in local newspapers, for good measure.

In this article, we first set out the various types of cadastres. We then highlight the policy of countries to move away from maintaining fiscal cadastres. We analyse the position in India and highlight the need to move towards multi-purpose cadastres. We support this with a case study on urban cadastres in Mumbai.

### The shift away from fiscal cadastres

The contents of cadastres are motivated by the purpose for which they are created. Globally, there are three types of cadastres:

• Fiscal: These are designed for property tax purposes and contain information like the identification of the land owner(s), value of the land and description of the land parcel.
• Legal or juridical: These are designed to record ownership, legal interests in land and conveyancing matters.
• Multi-purpose: Apart from the information mentioned in the fiscal and legal cadastres, these include a wide range of spatial and non-spatial information that support land registration, land markets, socio-economic activities and land use management (Mukarage, 2016).

Historically, in countries governed by feudal agrarian systems such as India, political, economic and social success was largely judged by the extent of land and the effectiveness of revenue collection. Land taxes were an important source of revenue of the State (Powell, 1892). Therefore, the earliest forms of land records or cadastres were fiscal records.

With increased complexity of the land market, countries such as Switzerland have tended to shift from fiscal to multi-purpose cadastres. In fact a cadastre itself is now defined as "A parcel based, and up-to-date land information system containing a record of interests in land (e.g. rights, restrictions and responsibilities). It usually includes a geometric description of land parcels linked to other records describing the nature of the interests, the ownership or control of those interests, and often the value of the parcel and its improvements." (International Federation of Surveyors (FIG)). Simply, this means a multi-purpose cadastre.

In India, land record reform has been central to policy discourse. Centrally Sponsored Schemes such as the Computerisation of Land Records (CLR) & the Strengthening of Revenue Administration and Updating of Land Records (SRA&ULR) were issued as an attempt at curing information asymmetry as a means to maintaining better land records. In 2008, these schemes were modified into the Digital India Land Record Modernisation Programme (DI-LRMP) the three major components of which are (i) computerisation of land record (ii) survey/re-survey and (iii) computerisation of registration.

While these initiatives are steps towards ensuring the accuracy of the information contained in existing records and ease of access to the records, there has been a lack of focus on the adequacy of the information captured in existing records. This could be attributed to the fact that even today, the primary purpose of recording information about land parcels is land revenue collection. In the following section we make a case for moving towards a multi-purpose cadastres. We do this by analysing existing urban records in Mumbai.

### A case study of urban cadastres in Mumbai

The cadastral system in Maharashtra consists of two major elements: a Cadastral Map (CM) and a Record of Rights (ROR) linked to each land parcel. There are two types of RORs in Maharashtra: the 7/12 extract, which is used in peri-urban and rural areas and a property rights card (PRC), which is used in urban areas.

For revenue purposes, urban areas in Mumbai are divided into two regions: Mumbai City and Mumbai Suburban regions. Each of these regions consists of multiple divisions. All land parcels in these divisions are identified by survey numbers. Information about the land parcel represented by each survey number is recorded in an urban cadastre or PRC. We conducted a case study of these urban cadastres in Mumbai. We do so with two main objectives. First, to verify if the existing cadastres are in line with the legal framework governing such cadastres. Second, to analyse whether the information being recorded is sufficient to enable a sound buy-sell decision.

Methodology - We first randomly picked five area divisions from each Mumbai City and Mumbai Suburban (sample divisions). This was done from the drop down list of divisions available on the website of the Mumbai City Collectorate (MCC) and the website of the Mumbai Suburban District, respectively. The five divisions we selected from Mumbai City were (i) Colaba, (ii) Byculla, (iii) Girgaon and (iv) Mazgoan (v) Sion. The five divisions selected from Mumbai Suburban were (i) Mulund, (ii) Kurla, (iii) Bandra, (iv) Andheri and (v) Malad.We then selected one of our sample divisions from the drop down list on each of these websites. After this, we entered a random survey number to generate a PRC for a parcel of land. This was repeated thrice for each sample division, in both Mumbai City and Mumbai Suburban in order to access PRCs for three separate land parcels within each sample division. Our total number of observations were therefore 30 PRCs (15 for Mumbai City and 15 for Mumbai Suburban). Our findings are set out below.

Findings - In each case above, we examined the heads of information to be entered in the PRC under the following themes:

1. Information to be maintained under the Maharashtra Land Revenue (Village, Town and City Survey) Rules, 1969 (Rules) - The Rules set out the fields of information required to be recorded in the PRC. This information can be classified into three main themes. First, property identification which includes details such as the cadastral survey number, location of the property and the name of the division in which the property is situated. Second, assessment information which includes information such as the collector's number, the collector's rent roll number and ground rent due to the government. Third, holder's history which has details of the holders of the property.

We find that not all the fields of information required to be recorded in the PRC by law are in fact recorded. In addition to not recording this information, the template of a PRC does not even have allocated sections to record this information. A summary of our findings is set out in Table 1. Table 1 sets out our findings on whether PRCs have a provision/place holder to record all information mandated to be recorded under the Rules.

Table 1: Information to be compulsorily recorded
 S.No. Information to be recorded Whether provision to record (Mumbai City) Whether provision to record (Mumbai Suburban) 1. Survey number Yes Yes 2. Area Yes Yes 3. Tenure Yes Yes 4. Particulars of assessment or rent paid to the government No Yes 5. Particulars of when the assessment or rent paid to the government is due for revision No Yes 6. Easements No Yes 7. Holder in origin of the title, so far as traced Yes Yes 8. Other remarks No Yes 9. Date No No 10. Transaction volume number No No 11. New holder Yes Yes 12. Attesting lessee No Yes 13. Encumbrances No Yes

2. Information which would aid a sound buy-sell decision - To ascertain the ideal fields of information which should be recorded to aid an efficient buy-sell decision, we have relied on the definition of a cadastre set out by the FIG, referred to above. We have accordingly classified the information into three broad heads:

1. Recording of interests in the land: Under this head, the FIG includes recording of rights, responsibilities and restrictions. Under each head we list relevant fields of information in the context of the Indian market. For example there is no provision to record possession rights in the PRC.
2. Map and description of boundaries: Currently, the boundaries of the parcel are not recorded in the PRC. A person looking at a PRC has no way of knowing where the parcel of land is in fact situated. In modern cadastres, the boundaries are set and described using the latitude and longitude description of the land parcel. Further, in Mumbai, the CM in respect of a parcel of land is not available as part of the PRC. Neither is a copy of the CM available online. In order to obtain a copy at present, a purchaser or parcel holder is required to make a physical application to the Survey and Settlement Department.
3. Valuation and improvements: Currently, property rates are available in the ready reckoner, which is a government issued booklet on area wise property prices. For the purpose of determining the fair market value of the land, the ready reckoner takes into consideration not only the location of the land but also the buildings on the land. This information is currently not recorded in the PRC. Similarly, the other factors that affect the valuation of the land such as development potential or the floor space index (FSI) available in respect of the parcel of land and its proximity to roads are also not recorded. This information is important as it directly affects the economic value of the land and is likely to affect a decision to transact in a parcel of land.

In Table 2 we set out a list of desired fields of information and analyse whether or not these are captured in the PRCs for sample divisions.

Table 2: Information required to aid a sound buy-sell decision
 S.No. Information Whether provision to record (Mumbai City) Whether provision to record (Mumbai Suburban) A. Record of interest in the land 1. Rights (i) Ownership Yes Yes (ii) Possession No No (iii) Easement No Yes 2. Responsibilities (i) Payment of taxes Yes Yes 3. Restrictions (i) Charges No Yes (ii) Disputes No No (iii) Restrictive covenants No No B. Maps and boundaries No No C. Valuation and improvements (i) Structures on the land No No (ii) FSI No No (iii) Transferable development rights No No

### Miscellaneous observations

Our case study also revealed several inconsistencies and deficiencies in the information recorded in the PRC. Some of our observations are as follows:

1. Lack of uniformity: We have observed that the templates of PRCs in Mumbai Suburban and Mumbai City differ. This means that even the fields of information captured in PRCs within Mumbai differ based on where the parcel of land is located. For instance, the PRC of a parcel of land in Mumbai City does not have a provision to record easements on the land whereas the PRC for a parcel of land located in Mumbai Suburban does.
2. Poor recording: The PRCs in Mumbai Suburban region revealed that, even though there is a provision for recording the information mandated under the Rules, such information was not always recorded under the specific provision. For instance, in 7 out of 15 cases, we observed that easementary rights were not recorded. Similarly in case of encumbrances and attesting lessees we observed that in 6 cases, respectively, this information was not recorded. In fact the PRC of one parcel of land only recorded 2 out of 13 fields of information i.e. survey number and particulars of rent.

In addition to not having the required fields, the PRCs in Mumbai City did not even record information for the existing fields.
3. Ambiguity in recorded information: We observed that there is lack of uniformity in the manner in which information is recorded. For instance where there is no information to be recorded in a given field, this is recored as "nil" in Mumbai City and a "-" in Mumbai Suburban. For instance the sample revealed that in Mumbai Suburban 8 out of 15 PRCs recorded "-" in the field for easements. Further in some cases the field is left empty leaving it to the reader to infer whether this is a mistake on the part of the recording officer or a there is no information to record.

We also observed that in some cases of PRCs in Mumbai City, where there is no specific field for recording certain information, the information is recorded under a different head. For instance, "attestting lessees" are recorded in the ownership column in PRCs (with the mention that they are attesting lessees). The problem with this is that where there is no lessee, there is no information stating clearly that there is no lessee on the land. Again, it is left to the interpretation of the reader to decide whether there is no lessee or there is in fact a lessee and this information has not been recorded.

### Recommendations

Our study reveals that the PRC as a cadastre in Mumbai, is far from being an ideal record. The new policy objective ought to be the creation of greater information symmetry in the land market to enable informed and intelligent buy or sell decisions. Based on our case study, we suggest the following:

1. Recording information mandated under the law: Our findings (Table 1) reveal that the current format of PRCs in Mumbai City does not have the provision to record certain heads of information that are mandated under the law. As a first step, authorities must ensure that the format of the PRC is in consonance with that set out under the law.
2. Increasing the scope of information recorded in a PRC: Our analysis of the PRC has revealed that the information recorded in the PRC is far from adequate for making an informed buy or sell decision. The scope of information recorded in the PRC must be increased to include relevant information such as disputes in relation to the land, mortgages and the development potential of the land as set out in Table 2.
3. Adopting uniformity in recording information: It is recommended that uniform practices of recording information be adopted. For instance, where there is no information to be recorded, it must be depicted by "nil" only and must not be left empty or be represented wth "-". Similarly, information must be recorded under the appropriate head in the template.
4. Moving towards a multi-purpose cadastre: The State of Maharashtra still maintains PRCs for the primary purpose of collection of revenue, as is evident from the property details currently recorded in the PRC. The growth of investment in real estate has led to a point where maintenance of a multi-purpose cadastre is the need of the hour for two reasons. First to ensure that all information pertaining to a land parcel is available in a consolidated manner at a single source. Second, to ensure that buyers are presented with all relevant information about the land parcel. This maybe achieved through the integration of databases maintained by relevant authorities. For instance, orders passed by civil courts, tribunals and other quasi-judicial institutions affect interests in a land parcel. For a complete, accurate and up-to-date picture of the interests appurtenant to the land parcel, it is essential that the outcome of such orders is immediately notified to the City Survey office. Further, pendency of proceedings before judicial and quasi-judicial bodies or lis pendens also has ramifications on the rights and interests to a land parcel. It is therefore advisable that such judicial and quasi-judicial bodies automatically update PRCs to reflect such encumbrances.
5. Integrating textual and spatial records: As a step towards achieving multi-purpose cadastres, we recommend that CMs and PRCs be integrated to form a single record. As of today, the CMs and PRCs are maintained by different offices. The aim again is to consolidate all relevant information about a land parcel in one document. For instance, this would mean that every time a land is sub-divided and a new map is drawn for the land parcel, it must become part of the PRC.

### References

1. Badarinza, Balasubramaniam and Ramadorai, The Indian Household Savings Landscape, 2017.
2. Farvacque and McAuslan, Reforming urban land policies and institutions in developing countries, 1992.
3. Constitution of India, 1950.
4. Dale and Mclaughlin, Land Information Management, An introduction with special reference to cadastral problems in Third World countries, 2000.
5. Department of Land Resources, The National Land Records Modernisation Programme (NLRMP) Guidelines, Technical Manuals and MIS, 2008-2009.
6. Ministry of Urban Development, Draft model guidelines for urban land policy, 2007.
7. Expert Committee, Government of India, Land titling - A road map, 2014.
8. Federation Internationale des Geometres, FIG Statement on the Cadastre, 1995.
9. Mukarage, Investigating the contribution of land records on property taxation: a case study of Huye District, Rwanda, 2016.
10. Powell, Land systems of British India, 1892.

Gausia Shaikh and Diya Uday are researchers at IGIDR.

LaTeX mathematics works. This means that if you want to say $10 you have to say \$10.


text:
Calculating Percent Variance Of Dates?

I have this problem where I have a set of data. Each data point has two values:

Value1: Birthday
Value2: Height

Now, the problem I am faced with involves finding the optimal groupings of data points to minimize the percent variance of Birthdays and Heights in each group (there are other additional constraints that I won't go into here). Finding the percent variance of Height is very straight forward, but for Birthday, it is more complex.

To calculate the percent variance of Birthday, my strategy is to count the numbers after the date January 1st, 0 AD of each Birthday, calculate the average, and average the squared percent difference of each Birthday to get the percent variance. That's all well and good, but because the number of days after January 1st, 0 AD is so huge, the problem I'm having is that the percent variance is tiny compare to the percent variance in height.

My strategy is to use percent variance so I can normalize the variances in Birthday and Height so I can measure the quality of a grouping by comparing these variances, but because the Birthday percent variance is so small, it's hard to determine when a real improvement is made in groupings based on Birthday variance.

Are there any other ways I can calculate a percent variance for Birthday, so that it is more comparable to the variance in Height? Are there any strategies that I could use to help improve my results?

-
as an aside: there is no such year in the western calendar as 0AD, 1AD is immediately preceded by 1BC. –  Willie Wong Jun 30 '11 at 14:12
Have you tried measuring birthdays from the mean of all the birthdays? –  Jay Jun 30 '11 at 14:19
@Willie, interesting fact, thanks –  Soo Jun 30 '11 at 14:25
@Jay, in percentage terms, this still has the same problems as just measuring birthdays from the mean of the birthdays in a particular group. –  Soo Jun 30 '11 at 14:26

1 Answer

What if you first scale all birthdays and heights so that they fall between 0 and 1? E.g., if all the heights are between, say, 60 inches and 75 inches, then replace each height $h$ with $(h-60)/15$?

-


text:
# Which of the following diatomic molecular species has only π bonds according to Molecular Orbital Theory?

more_vert

Which of the following diatomic molecular species has only $\pi$ bonds according to Molecular Orbital Theory?

(1) O2

(2) N2

(3) C2

(4) Be2

more_vert
Chemical bonding and molecular structure, Molecular Orbital Theory


text:
# Tag Info

16

So what you wrote here isn't exactly what Einstein writes in the paper, and the difference there is what's causing your confusion (also he changes what he means by $\phi(v)$ halfway through the paper, which is the real problem). On page 7 of the pdf you linked, these equations appear: $$\xi = a \frac{c^2}{c^2 - v^2} x'$$ $$\eta = a \frac{c}{\sqrt{c^2 - ... 5 Recall that the Faraday tensor in this form is a linear mapping that maps a charged particle's contravariant four-velocity to the latter's rate of change, wrt proper time (modulo scaling by invariant rest mass m and invariant charge q):$$m\,\frac{\mathrm{d} v^\mu}{\mathrm{d}\tau} = q\, F^\mu{}_\nu\,v^\nu\tag{1} Now let's think of a particle's ...

4

I think this question is a little more low-level then the one that it's being marked as a duplicate of, so I'm going to answer it. The basic thing that you need to know is that an inner product on the 4-vector space need not have the form it has in Euclidean coordinates. That is, defining $w = ct$, it is not necessarily the case for all 4-D vector spaces ...

2

The time measured by the clock you carry with you on your journey is called the proper time, and the proper time is just the length of your world line (give or take a factor of $c$). So if we calculate the length of your world line as you accelerate away then back, that gives us your elapsed time. Better still, the proper time is an invariant i.e. all ...

2

In one of my vector mechanics lectures, the lecturer said the the space time interval was the dot product of the four position vector. But then he proceeded to show it was this: $s^2$ = $\Delta r^2$ - $c^2\Delta t^2$ Where did the minus sign come from? See Einstein's Simple Derivation of the Lorentz Transformation. It's really simple. The light moves a ...

2

There is an argument based on deriving an arbitrary coordinate transformation that allows time to change as well as space for different observers. This transformation will turn out to have an undetermined parameter $v$ which corresponds to a maximum speed, and in the limit $v \to \infty$ the transformation becomes the Galilean transformation of classical ...

1

Besides the philosophical problems of not having a maximum speed at which interactions propagates: Leibniz was horrified by Newton's theory of gravity, and even Newton himself knew that his theory could not be the complete story. The best shots that comes to my mind right now at guessing that the speed of light has to be finite (ignoring post 1850 evidences) ...

1

No. The charge enclosed by a surface is really just the number of protons inside minus the number of electrons inside all multiplied by the charge of the proton (which is a constant). If the electric field has a large density in one region then it has less in another so that total flux over a closed surface is still the net enclosed by the whole surface is ...

1

Recall that the gradient of a scalar field is a (0,1) tensor, a one-form. With a vector field $\vec A=\vec A(\vec r)$ you can think of having three scalar fields $P(\vec r),$ $Q(\vec r),$ and $R(\vec r)$ and then $\vec A(\vec r)=P(\vec r)\hat x+Q(\vec r)\hat y +R(\vec r)\hat z.$ We will do the same kind of thing in flat spacetime. Note that the vectors ...

1

Vector spaces with mixed signature metrics (both pluses and minuses in the metric signature) are known and understood mathematical structures, but it's not surprising you might not have heard of them before this point: from an educational standpoint, you need everything you've learned about metric spaces with positive-definite metrics and more to make sense ...

Only top voted, non community-wiki answers of a minimum length are eligible


text:
Trigonometry

## Do the angle addition identities only work for positive angles?

The Angle Addition Identities were derived using $\sin\theta \equiv \frac{opp}{hyp}$ and $\cos\theta \equiv \frac{adj}{hyp}$. In addition, $\theta$ […]

Trigonometry

## The sine function divided by its angle, and a certain limit

What is $\lim_{x\rightarrow0} \frac{\sin x}{x}$ ? Recall the definition of a limit, repeated here for reference […]


text:
PrimOp.lhs 20.4 KB
Newer Older
 simonpj committed Jun 08, 1999 1 2 3 4 5 6 7 % % (c) The GRASP/AQUA Project, Glasgow University, 1992-1998 % \section[PrimOp]{Primitive operations (machine-level)} \begin{code} module PrimOp (  Ian Lynagh committed Sep 30, 2011 8 9 10  PrimOp(..), allThePrimOps, primOpType, primOpSig, primOpTag, maxPrimOpTag, primOpOcc,  simonpj committed Jun 08, 1999 11   Ian Lynagh committed Sep 30, 2011 12  tagToEnumKey,  simonpj@microsoft.com committed Aug 16, 2006 13   Simon Marlow committed May 24, 2011 14  primOpOutOfLine, primOpCodeSize,  Simon Peyton Jones committed Jan 12, 2012 15  primOpOkForSpeculation, primOpOkForSideEffects,  Michal Terepeta committed Nov 23, 2012 16  primOpIsCheap, primOpFixity,  simonpj committed Jun 08, 1999 17   Ian Lynagh committed Sep 30, 2011 18  getPrimOpResultInfo, PrimOpResultInfo(..),  Duncan Coutts committed Jun 09, 2009 19 20  PrimCall(..)  simonpj committed Jun 08, 1999 21 22 23 24 25 26 27  ) where #include "HsVersions.h" import TysPrim import TysWiredIn  simonpj@microsoft.com committed Nov 19, 2009 28 import Demand  Ian Lynagh committed Sep 30, 2011 29 30 31 32 33 import Var ( TyVar ) import OccName ( OccName, pprOccName, mkVarOccFS ) import TyCon ( TyCon, isPrimTyCon, tyConPrimRep, PrimRep(..) ) import Type ( Type, mkForAllTys, mkFunTy, mkFunTys, tyConAppTyCon, typePrimRep )  Michal Terepeta committed Nov 23, 2012 34 import BasicTypes ( Arity, Fixity(..), FixityDirection(..), TupleSort(..) )  Ian Lynagh committed Sep 30, 2011 35 36 import ForeignCall ( CLabelString ) import Unique ( Unique, mkPrimOpIdUnique )  simonpj committed Jun 08, 1999 37 import Outputable  simonmar committed Oct 12, 2000 38 import FastTypes  Ian Lynagh committed Mar 29, 2008 39 import FastString  Ian Lynagh committed Sep 30, 2011 40 import Module ( PackageId )  simonpj committed Jun 08, 1999 41 42 43 \end{code} %************************************************************************  Ian Lynagh committed Sep 30, 2011 44 %* *  simonpj committed Jun 08, 1999 45 \subsection[PrimOp-datatype]{Datatype for @PrimOp@ (an enumeration)}  Ian Lynagh committed Sep 30, 2011 46 %* *  simonpj committed Jun 08, 1999 47 48 49 50 51 %************************************************************************ These are in \tr{state-interface.verb} order. \begin{code}  sewardj committed Aug 07, 2000 52   Ian Lynagh committed Sep 30, 2011 53 -- supplies:  sewardj committed Aug 07, 2000 54 -- data PrimOp = ...  sewardj committed Aug 08, 2000 55 #include "primop-data-decl.hs-incl"  simonpj committed Jun 08, 1999 56 57 58 59 60 \end{code} Used for the Ord instance \begin{code}  simonpj committed Jun 22, 1999 61 primOpTag :: PrimOp -> Int  simonmar committed Oct 12, 2000 62 primOpTag op = iBox (tagOf_PrimOp op)  simonpj committed Jun 22, 1999 63   Ian Lynagh committed Sep 30, 2011 64 -- supplies  simonmar committed Oct 12, 2000 65 -- tagOf_PrimOp :: PrimOp -> FastInt  sewardj committed Aug 08, 2000 66 #include "primop-tag.hs-incl"  simonpj committed Jun 08, 1999 67   sewardj committed Aug 07, 2000 68   simonpj committed Jun 08, 1999 69 instance Eq PrimOp where  simonmar committed Oct 12, 2000 70  op1 == op2 = tagOf_PrimOp op1 ==# tagOf_PrimOp op2  simonpj committed Jun 08, 1999 71 72  instance Ord PrimOp where  simonmar committed Oct 12, 2000 73 74 75 76  op1 < op2 = tagOf_PrimOp op1 <# tagOf_PrimOp op2 op1 <= op2 = tagOf_PrimOp op1 <=# tagOf_PrimOp op2 op1 >= op2 = tagOf_PrimOp op1 >=# tagOf_PrimOp op2 op1 > op2 = tagOf_PrimOp op1 ># tagOf_PrimOp op2  simonpj committed Jun 08, 1999 77  op1 compare op2 | op1 < op2 = LT  Ian Lynagh committed Sep 30, 2011 78 79  | op1 == op2 = EQ | otherwise = GT  simonpj committed Jun 08, 1999 80 81 82 83 84 85  instance Outputable PrimOp where ppr op = pprPrimOp op \end{code} An @Enum@-derived list would be better; meanwhile... (ToDo)  simonpj committed Oct 09, 2003 86   simonpj committed Jun 08, 1999 87 \begin{code}  sewardj committed Aug 07, 2000 88 89 allThePrimOps :: [PrimOp] allThePrimOps =  sewardj committed Aug 08, 2000 90 #include "primop-list.hs-incl"  simonpj committed Jun 08, 1999 91 92 \end{code}  simonpj@microsoft.com committed Aug 16, 2006 93 94 95 96 97 98 99 \begin{code} tagToEnumKey :: Unique tagToEnumKey = mkPrimOpIdUnique (primOpTag TagToEnumOp) \end{code}  simonpj committed Jun 08, 1999 100 %************************************************************************  Ian Lynagh committed Sep 30, 2011 101 %* *  simonpj committed Jun 08, 1999 102 \subsection[PrimOp-info]{The essential info about each @PrimOp@}  Ian Lynagh committed Sep 30, 2011 103 %* *  simonpj committed Jun 08, 1999 104 105 106 107 108 109 110 111 112 113 114 115 116 %************************************************************************ The @String@ in the @PrimOpInfos@ is the base name'' by which the user may refer to the primitive operation. The conventional \tr{#}-for- unboxed ops is added on later. The reason for the funny characters in the names is so we do not interfere with the programmer's Haskell name spaces. We use @PrimKinds@ for the type'' information, because they're (slightly) more convenient to use than @TyCons@. \begin{code} data PrimOpInfo  Ian Lynagh committed Sep 30, 2011 117 118 119 120 121 122 123 124 125 126 127  = Dyadic OccName -- string :: T -> T -> T Type | Monadic OccName -- string :: T -> T Type | Compare OccName -- string :: T -> T -> Bool Type | GenPrimOp OccName -- string :: \/a1..an . T1 -> .. -> Tk -> T [TyVar] [Type] Type  simonpj committed Jun 08, 1999 128   Ian Lynagh committed Mar 29, 2008 129 mkDyadic, mkMonadic, mkCompare :: FastString -> Type -> PrimOpInfo  simonmar committed Jan 06, 2006 130 131 132 mkDyadic str ty = Dyadic (mkVarOccFS str) ty mkMonadic str ty = Monadic (mkVarOccFS str) ty mkCompare str ty = Compare (mkVarOccFS str) ty  Ian Lynagh committed Mar 29, 2008 133 134  mkGenPrimOp :: FastString -> [TyVar] -> [Type] -> Type -> PrimOpInfo  simonmar committed Jan 06, 2006 135 mkGenPrimOp str tvs tys ty = GenPrimOp (mkVarOccFS str) tvs tys ty  simonpj committed Jun 08, 1999 136 137 138 \end{code} %************************************************************************  Ian Lynagh committed Sep 30, 2011 139 %* *  simonpj committed Jun 08, 1999 140 \subsubsection{Strictness}  Ian Lynagh committed Sep 30, 2011 141 %* *  simonpj committed Jun 08, 1999 142 143 144 145 146 %************************************************************************ Not all primops are strict! \begin{code}  simonmar committed Dec 10, 2001 147 primOpStrictness :: PrimOp -> Arity -> StrictSig  Ian Lynagh committed Sep 30, 2011 148 149 150  -- See Demand.StrictnessInfo for discussion of what the results -- The arity should be the arity of the primop; that's why -- this function isn't exported.  sewardj committed Aug 08, 2000 151 #include "primop-strictness.hs-incl"  simonpj committed Jun 08, 1999 152 153 \end{code}  Michal Terepeta committed Nov 23, 2012 154 155 156 157 158 159 160 161 162 163 164 %************************************************************************ %* * \subsubsection{Fixity} %* * %************************************************************************ \begin{code} primOpFixity :: PrimOp -> Maybe Fixity #include "primop-fixity.hs-incl" \end{code}  simonpj committed Jun 08, 1999 165 %************************************************************************  Ian Lynagh committed Sep 30, 2011 166 %* *  simonpj committed Jun 08, 1999 167 \subsubsection[PrimOp-comparison]{PrimOpInfo basic comparison ops}  Ian Lynagh committed Sep 30, 2011 168 %* *  simonpj committed Jun 08, 1999 169 170 171 172 173 174 175 %************************************************************************ @primOpInfo@ gives all essential information (from which everything else, notably a type, can be constructed) for each @PrimOp@. \begin{code} primOpInfo :: PrimOp -> PrimOpInfo  sewardj committed Aug 08, 2000 176 #include "primop-primop-info.hs-incl"  simonpj committed Jun 08, 1999 177 178 \end{code}  sewardj committed Aug 07, 2000 179 Here are a load of comments from the old primOp info:  simonpj committed Jun 08, 1999 180 181 182 183 184 185 186 187 188 189 190 191  A @Word#@ is an unsigned @Int#@. @decodeFloat#@ is given w/ Integer-stuff (it's similar). @decodeDouble#@ is given w/ Integer-stuff (it's similar). Decoding of floating-point numbers is sorta Integer-related. Encoding is done with plain ccalls now (see PrelNumExtra.lhs). A @Weak@ Pointer is created by the @mkWeak#@ primitive:  Ian Lynagh committed Sep 30, 2011 192 193  mkWeak# :: k -> v -> f -> State# RealWorld -> (# State# RealWorld, Weak# v #)  simonpj committed Jun 08, 1999 194 195 196  In practice, you'll use the higher-level  Ian Lynagh committed Sep 30, 2011 197 198  data Weak v = Weak# v mkWeak :: k -> v -> IO () -> IO (Weak v)  simonpj committed Jun 08, 1999 199 200 201 202 203  The following operation dereferences a weak pointer. The weak pointer may have been finalized, so the operation returns a result code which must be inspected before looking at the dereferenced value.  Ian Lynagh committed Sep 30, 2011 204 205  deRefWeak# :: Weak# v -> State# RealWorld -> (# State# RealWorld, v, Int# #)  simonpj committed Jun 08, 1999 206 207 208 209 210  Only look at v if the Int# returned is /= 0 !! The higher-level op is  Ian Lynagh committed Sep 30, 2011 211  deRefWeak :: Weak v -> IO (Maybe v)  simonpj committed Jun 08, 1999 212 213  Weak pointers can be finalized early by using the finalize# operation:  Ian Lynagh committed Sep 30, 2011 214 215 216  finalizeWeak# :: Weak# v -> State# RealWorld -> (# State# RealWorld, Int#, IO () #)  simonpj committed Jun 08, 1999 217 218 219  The Int# returned is either  Ian Lynagh committed Sep 30, 2011 220 221  0 if the weak pointer has already been finalized, or it has no finalizer (the third component is then invalid).  simonpj committed Jun 08, 1999 222   Ian Lynagh committed Sep 30, 2011 223 224  1 if the weak pointer is still alive, with the finalizer returned as the third component.  simonpj committed Jun 08, 1999 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261  A {\em stable name/pointer} is an index into a table of stable name entries. Since the garbage collector is told about stable pointers, it is safe to pass a stable pointer to external systems such as C routines. \begin{verbatim} makeStablePtr# :: a -> State# RealWorld -> (# State# RealWorld, StablePtr# a #) freeStablePtr :: StablePtr# a -> State# RealWorld -> State# RealWorld deRefStablePtr# :: StablePtr# a -> State# RealWorld -> (# State# RealWorld, a #) eqStablePtr# :: StablePtr# a -> StablePtr# a -> Int# \end{verbatim} It may seem a bit surprising that @makeStablePtr#@ is a @IO@ operation since it doesn't (directly) involve IO operations. The reason is that if some optimisation pass decided to duplicate calls to @makeStablePtr#@ and we only pass one of the stable pointers over, a massive space leak can result. Putting it into the IO monad prevents this. (Another reason for putting them in a monad is to ensure correct sequencing wrt the side-effecting @freeStablePtr@ operation.) An important property of stable pointers is that if you call makeStablePtr# twice on the same object you get the same stable pointer back. Note that we can implement @freeStablePtr#@ using @_ccall_@ (and, besides, it's not likely to be used from Haskell) so it's not a primop. Question: Why @RealWorld@ - won't any instance of @_ST@ do the job? [ADR] Stable Names ~~~~~~~~~~~~ A stable name is like a stable pointer, but with three important differences:  Ian Lynagh committed Sep 30, 2011 262 263 264  (a) You can't deRef one to get back to the original object. (b) You can convert one to an Int. (c) You don't need to 'freeStableName'  simonpj committed Jun 08, 1999 265 266 267 268 269 270  The existence of a stable name doesn't guarantee to keep the object it points to alive (unlike a stable pointer), hence (a). Invariants:  Ian Lynagh committed Sep 30, 2011 271 272 273 274 275  (a) makeStableName always returns the same value for a given object (same as stable pointers). (b) if two stable names are equal, it implies that the objects from which they were created were the same.  simonpj committed Jun 08, 1999 276   Ian Lynagh committed Sep 30, 2011 277 278  (c) stableNameToInt always returns the same Int for a given stable name.  simonpj committed Jun 08, 1999 279 280 281 282 283 284 285 286 287 288  -- HWL: The first 4 Int# in all par... annotations denote: -- name, granularity info, size of result, degree of parallelism -- Same structure as _seq_ i.e. returns Int# -- KSW: v, the second arg in parAt# and parAtForNow#, is used only to determine -- the processor containing the expression v'; it is not evaluated These primops are pretty wierd.  Ian Lynagh committed Sep 30, 2011 289 290  dataToTag# :: a -> Int (arg must be an evaluated data type) tagToEnum# :: Int -> a (result type must be an enumerated type)  simonpj committed Jun 08, 1999 291 292 293 294 295  The constraints aren't currently checked by the front end, but the code generator will fall over if they aren't satisfied. %************************************************************************  Ian Lynagh committed Sep 30, 2011 296 %* *  Simon Peyton Jones committed Dec 12, 2011 297  Which PrimOps are out-of-line  Ian Lynagh committed Sep 30, 2011 298 %* *  simonpj committed Jun 08, 1999 299 300 301 302 303 %************************************************************************ Some PrimOps need to be called out-of-line because they either need to perform a heap check or they block.  apt committed Aug 17, 2001 304   simonpj committed Jun 08, 1999 305 \begin{code}  apt committed Aug 17, 2001 306 primOpOutOfLine :: PrimOp -> Bool  sewardj committed Aug 08, 2000 307 #include "primop-out-of-line.hs-incl"  simonpj committed Jun 08, 1999 308 309 \end{code}  simonpj committed Aug 24, 1999 310   Simon Peyton Jones committed Dec 12, 2011 311 312 313 314 315 316 317 318 %************************************************************************ %* * Failure and side effects %* * %************************************************************************ Note [PrimOp can_fail and has_side_effects] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  Simon Peyton Jones committed Jan 12, 2012 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 Both can_fail and has_side_effects mean that the primop has some effect that is not captured entirely by its result value. ---------- has_side_effects --------------------- Has some imperative side effect, perhaps on the world (I/O), or perhaps on some mutable data structure (writeIORef). Generally speaking all such primops have a type like State -> input -> (State, output) so the state token guarantees ordering, and also ensures that the primop is executed even if 'output' is discarded. ---------- can_fail ---------------------------- Can fail with a seg-fault or divide-by-zero error on some elements of its input domain. Main examples: division (fails on zero demoninator array indexing (fails if the index is out of bounds) However (ASSUMPTION), these can_fail primops are ALWAYS surrounded with a test that checks for the bad cases. Consequences: * You can discard a can_fail primop, or float it _inwards_. But you cannot float it _outwards_, lest you escape the dynamic scope of the test. Example: case d ># 0# of True -> case x /# d of r -> r +# 1 False -> 0 Here we must not float the case outwards to give case x/# d of r -> case d ># 0# of True -> r +# 1 False -> 0 * I believe that exactly the same rules apply to a has_side_effects primop; you can discard it (remember, the state token will keep it alive if necessary), or float it in, but not float it out. Example of the latter if blah then let! s1 = writeMutVar s0 v True in s1 else s0 Notice that s0 is mentioned in both branches of the 'if', but only one of these two will actually be consumed. But if we float out to let! s1 = writeMutVar s0 v True in if blah then s1 else s0 the writeMutVar will be performed in both branches, which is utterly wrong. * You cannot duplicate a has_side_effect primop. You might wonder how this can occur given the state token threading, but just look at Control.Monad.ST.Lazy.Imp.strictToLazy! We get something like this p = case readMutVar# s v of (# s', r #) -> (S# s', r) s' = case p of (s', r) -> s' r = case p of (s', r) -> r (All these bindings are boxed.) If we inline p at its two call sites, we get a catastrophe: because the read is performed once when s' is demanded, and once when 'r' is demanded, which may be much later. Utterly wrong. Trac #3207 is real example of this happening. However, it's fine to duplicate a can_fail primop. That is the difference between can_fail and has_side_effects. can_fail has_side_effects Discard YES YES Float in YES YES Float out NO NO Duplicate YES NO How do we achieve these effects?  Simon Peyton Jones committed Dec 12, 2011 391   Simon Peyton Jones committed Jan 12, 2012 392 393 394 395 396 397 Note [primOpOkForSpeculation] * The "no-float-out" thing is achieved by ensuring that we never let-bind a can_fail or has_side_effects primop. The RHS of a let-binding (which can float in and out freely) satisfies exprOkForSpeculation. And exprOkForSpeculation is false of can_fail and no_side_effect.  Simon Peyton Jones committed Dec 12, 2011 398   Simon Peyton Jones committed Jan 12, 2012 399 400 401  * So can_fail and no_side_effect primops will appear only as the scrutinees of cases, and that's why the FloatIn pass is capable of floating case bindings inwards.  Simon Peyton Jones committed Dec 12, 2011 402   Simon Peyton Jones committed Jan 12, 2012 403 404  * The no-duplicate thing is done via primOpIsCheap, by making has_side_effects things (very very very) not-cheap!  Simon Peyton Jones committed Dec 12, 2011 405   simonpj committed Jun 08, 1999 406 407  \begin{code}  Simon Peyton Jones committed Dec 12, 2011 408 409 410 411 412 413 primOpHasSideEffects :: PrimOp -> Bool #include "primop-has-side-effects.hs-incl" primOpCanFail :: PrimOp -> Bool #include "primop-can-fail.hs-incl"  simonpj committed Jun 08, 1999 414 primOpOkForSpeculation :: PrimOp -> Bool  Simon Marlow committed Jan 16, 2012 415  -- See Note [primOpOkForSpeculation and primOpOkForFloatOut]  Simon Peyton Jones committed Dec 12, 2011 416  -- See comments with CoreUtils.exprOkForSpeculation  Ian Lynagh committed Sep 30, 2011 417 primOpOkForSpeculation op  Simon Marlow committed Jan 16, 2012 418  = not (primOpHasSideEffects op || primOpOutOfLine op || primOpCanFail op)  Simon Peyton Jones committed Jan 12, 2012 419 420 421 422  primOpOkForSideEffects :: PrimOp -> Bool primOpOkForSideEffects op = not (primOpHasSideEffects op)  Simon Marlow committed Jan 16, 2012 423 \end{code}  simonpj committed Aug 24, 1999 424   Simon Peyton Jones committed Jan 13, 2012 425   Simon Marlow committed Jan 16, 2012 426 427 428 429 430 431 432 433 434 435 436 Note [primOpIsCheap] ~~~~~~~~~~~~~~~~~~~~ @primOpIsCheap@, as used in \tr{SimplUtils.lhs}. For now (HACK WARNING), we just borrow some other predicates for a what-should-be-good-enough test. "Cheap" means willing to call it more than once, and/or push it inside a lambda. The latter could change the behaviour of 'seq' for primops that can fail, so we don't treat them as cheap. \begin{code} primOpIsCheap :: PrimOp -> Bool primOpIsCheap op = primOpOkForSpeculation op  Ian Lynagh committed Sep 30, 2011 437 438 -- In March 2001, we changed this to -- primOpIsCheap op = False  simonpj committed Apr 27, 2004 439 -- thereby making *no* primops seem cheap. But this killed eta  Ian Lynagh committed Sep 30, 2011 440 -- expansion on case (x ==# y) of True -> \s -> ...  simonpj committed Apr 27, 2004 441 -- which is bad. In particular a loop like  Ian Lynagh committed Sep 30, 2011 442 -- doLoop n = loop 0  simonpj committed Apr 27, 2004 443 444 445 446 -- where -- loop i | i == n = return () -- | otherwise = bar i >> loop (i+1) -- allocated a closure every time round because it doesn't eta expand.  Ian Lynagh committed Sep 30, 2011 447 --  simonpj committed Apr 27, 2004 448 -- The problem that originally gave rise to the change was  Ian Lynagh committed Sep 30, 2011 449 -- let x = a +# b *# c in x +# x  simonpj committed Apr 27, 2004 450 451 452 -- were we don't want to inline x. But primopIsCheap doesn't control -- that (it's exprIsDupable that does) so the problem doesn't occur -- even if primOpIsCheap sometimes says 'True'.  simonpj committed Jun 08, 1999 453 454 \end{code}  Simon Peyton Jones committed Dec 12, 2011 455 456 457 458 459 460 461  %************************************************************************ %* * PrimOp code size %* * %************************************************************************  Simon Marlow committed May 24, 2011 462 463 464 465 primOpCodeSize ~~~~~~~~~~~~~~ Gives an indication of the code size of a primop, for the purposes of calculating unfolding sizes; see CoreUnfold.sizeExpr.  simonpj committed Jun 08, 1999 466 467  \begin{code}  Simon Marlow committed May 24, 2011 468 469 470 471 472 473 474 primOpCodeSize :: PrimOp -> Int #include "primop-code-size.hs-incl" primOpCodeSizeDefault :: Int primOpCodeSizeDefault = 1 -- CoreUnfold.primOpSize already takes into account primOpOutOfLine -- and adds some further costs for the args in that case.  simonpj committed Jun 08, 1999 475   Simon Marlow committed May 24, 2011 476 477 478 primOpCodeSizeForeignCall :: Int primOpCodeSizeForeignCall = 4 \end{code}  simonpj committed Jun 08, 1999 479   Simon Marlow committed May 15, 2009 480   Simon Peyton Jones committed Dec 12, 2011 481 482 483 484 485 %************************************************************************ %* * PrimOp types %* * %************************************************************************  simonpj committed Jun 08, 1999 486 487 488 489  \begin{code} primOpType :: PrimOp -> Type -- you may want to use primOpSig instead primOpType op  Ian Lynagh committed Mar 29, 2008 490 491 492 493  = case primOpInfo op of Dyadic _occ ty -> dyadic_fun_ty ty Monadic _occ ty -> monadic_fun_ty ty Compare _occ ty -> compare_fun_ty ty  simonpj committed Jun 08, 1999 494   Ian Lynagh committed Sep 30, 2011 495  GenPrimOp _occ tyvars arg_tys res_ty ->  Ian Lynagh committed Mar 29, 2008 496  mkForAllTys tyvars (mkFunTys arg_tys res_ty)  simonpj committed Jun 08, 1999 497 498  primOpOcc :: PrimOp -> OccName  Ian Lynagh committed Mar 29, 2008 499 500 501 502 503 primOpOcc op = case primOpInfo op of Dyadic occ _ -> occ Monadic occ _ -> occ Compare occ _ -> occ GenPrimOp occ _ _ _ -> occ  simonpj committed Jun 08, 1999 504 505 506  -- primOpSig is like primOpType but gives the result split apart: -- (type variables, argument types, result type)  simonpj committed Mar 23, 2000 507 -- It also gives arity, strictness info  simonpj committed Jun 08, 1999 508   simonmar committed Dec 10, 2001 509 primOpSig :: PrimOp -> ([TyVar], [Type], Type, Arity, StrictSig)  simonpj committed Jun 08, 1999 510 primOpSig op  sewardj committed Aug 07, 2000 511  = (tyvars, arg_tys, res_ty, arity, primOpStrictness op arity)  simonpj committed Mar 23, 2000 512 513 514 515  where arity = length arg_tys (tyvars, arg_tys, res_ty) = case (primOpInfo op) of  Ian Lynagh committed Mar 29, 2008 516 517 518 519  Monadic _occ ty -> ([], [ty], ty ) Dyadic _occ ty -> ([], [ty,ty], ty ) Compare _occ ty -> ([], [ty,ty], boolTy) GenPrimOp _occ tyvars arg_tys res_ty -> (tyvars, arg_tys, res_ty)  simonpj committed Jun 08, 1999 520 521 522 523 \end{code} \begin{code} data PrimOpResultInfo  Ian Lynagh committed Sep 30, 2011 524 525  = ReturnsPrim PrimRep | ReturnsAlg TyCon  simonpj committed Jun 08, 1999 526 527 528 529 530 531 532 533  -- Some PrimOps need not return a manifest primitive or algebraic value -- (i.e. they might return a polymorphic value). These PrimOps *must* -- be out of line, or the code generator won't work. getPrimOpResultInfo :: PrimOp -> PrimOpResultInfo getPrimOpResultInfo op = case (primOpInfo op) of  Ian Lynagh committed Sep 30, 2011 534 535 536  Dyadic _ ty -> ReturnsPrim (typePrimRep ty) Monadic _ ty -> ReturnsPrim (typePrimRep ty) Compare _ _ -> ReturnsAlg boolTyCon  simonpj committed Aug 21, 2001 537  GenPrimOp _ _ _ ty | isPrimTyCon tc -> ReturnsPrim (tyConPrimRep tc)  Ian Lynagh committed Sep 30, 2011 538 539 540 541 542 543  | otherwise -> ReturnsAlg tc where tc = tyConAppTyCon ty -- All primops return a tycon-app result -- The tycon can be an unboxed tuple, though, which -- gives rise to a ReturnAlg  simonpj committed Jun 08, 1999 544 545 \end{code}  Ian Lynagh committed Oct 03, 2011 546 547 548 549 We do not currently make use of whether primops are commutable. We used to try to move constants to the right hand side for strength reduction.  simonpj committed Jun 08, 1999 550 551  \begin{code}  Ian Lynagh committed Oct 03, 2011 552 {-  simonpj committed Jun 08, 1999 553 commutableOp :: PrimOp -> Bool  sewardj committed Aug 08, 2000 554 #include "primop-commutable.hs-incl"  Ian Lynagh committed Oct 03, 2011 555 -}  simonpj committed Jun 08, 1999 556 557 558 559 \end{code} Utils: \begin{code}  Ian Lynagh committed Mar 29, 2008 560 dyadic_fun_ty, monadic_fun_ty, compare_fun_ty :: Type -> Type  simonpj committed Jun 08, 1999 561 562 563 564 565 566 567 568 dyadic_fun_ty ty = mkFunTys [ty, ty] ty monadic_fun_ty ty = mkFunTy ty ty compare_fun_ty ty = mkFunTys [ty, ty] boolTy \end{code} Output stuff: \begin{code} pprPrimOp :: PrimOp -> SDoc  simonmar committed Mar 05, 2002 569 pprPrimOp other_op = pprOccName (primOpOcc other_op)  simonpj committed Mar 23, 2000 570 571 \end{code}  Duncan Coutts committed Jun 09, 2009 572 573  %************************************************************************  Ian Lynagh committed Sep 30, 2011 574 %* *  Duncan Coutts committed Jun 09, 2009 575 \subsubsection[PrimCall]{User-imported primitive calls}  Ian Lynagh committed Sep 30, 2011 576 %* *  Duncan Coutts committed Jun 09, 2009 577 578 579 %************************************************************************ \begin{code}  Ben.Lippmeier@anu.edu.au committed Jan 02, 2010 580 data PrimCall = PrimCall CLabelString PackageId  Duncan Coutts committed Jun 09, 2009 581 582  instance Outputable PrimCall where  Ian Lynagh committed Sep 30, 2011 583 584  ppr (PrimCall lbl pkgId) = text "__primcall" <+> ppr pkgId <+> ppr lbl  Duncan Coutts committed Jun 09, 2009 585 586  \end{code}`


text:
Thread: Ordering people in a line

1. Ordering people in a line

How many ways are there for eight men and five women to stand in a line so that no two women stand next to each other?

Can someone explain the solution step by step?
Thank you. =D

2. Hello, feiyingx!

How many ways are there for eight men and five women to stand in a line
so that no two women stand next to each other?

This approach seems to be the easiest . . .

Place the eight men in a row. .There are: $8! \,= \,40,320$ ways.

Leave a space between the men (and on the ends):

. . _ M _ M _ M _ M _ M _ M _ M _ M _

To place the five women, we have a choice of nine spaces.
. . There are: $9\cdot8\cdot7\cdot6\cdot5 \,= \,15,\!120$ choices.

Therefore, there are: . $40,320 \times 15,120 \;= \;\boxed{609,638,400 \text{ ways.}}$

3. Thanks a bunch for the response. xD It was really helpful.