text:
# Browse Dissertations and Theses - Physics by Contributor "Yang, Liang"

• (2017-11-29)
Topologically nontrivial systems are electronic materials that have protected conducting states on their edge or surface. These widely studied materials are of great interest due to their exotic physical properties and ...

application/pdf

PDF (3MB)
• (2018-10-30)
This dissertation presents a measurement of forward--forward and forward--central dijet azimuthal angular correlations and conditional yields in proton--proton ($pp$) and proton--lead ($p$+Pb) collisions as a probe for ...

application/pdf

PDF (27MB)
• (2017-08-14)
Macroscopic quantum tunneling is a process by which a macroscopic object, rather than a single electron, tunnels between two macroscopically distinct quantum states. In this dissertation, we will present the study of ...

application/pdf

PDF (14MB)
• (2017-09-18)
The superconducting state of matter enables one to observe quantum effects on the macroscopic scale and hosts many fascinating phenomena. Topological defects of the superconducting order parameter, such as vortices and ...

application/pdf

PDF (17MB)
• (2015-04-16)
This dissertation presents a measurement of differential cross sections as a function of mass, transverse momentum and rapidity of the top quark pairs using $\sqrt{s} = 7 \TeV$ proton-proton collision data collected by the ...

application/pdf

PDF (11MB)
• (2016-05-25)
Neutrino oscillation with three active neutrinos has been well established by experiments. However, θ_13 was the least known mixing angle before the Daya Bay reactor neutrino experiment. The Daya Bay experiment uses relative ...

application/pdf

PDF (32MB)
• (2015-01-21)
Quantum computation is a fascinating field that combines novel physics with improvements in computation times and has been rapidly growing in the past few years. Using superconductors to form the qubits has the potential ...

application/pdf

PDF (4MB)
• (2015-12-04)
Part I: Entanglement Entropy of 2d Quasi-Topological Quantum Field Theory We compute the entanglement entropy of two-dimensional quasi-topological quantum field the- ories (QTFTs). These are theories in which the correlation ...

application/pdf

PDF (2MB)
• (2013-05-24)
The results of x-ray scattering experiments on orbitally ordered KCuF3 and periodic arrays of stripe-like ferroelectric domains in epitaxial thin films of multiferroic BiFeO3 are presented in this dissertation. Both resonant ...

application/pdf

PDF (21MB)


text:
# MAPPING CLASS GROUP DYNAMICS ON SURFACE GROUP REPRESENTATIONS

@article{Goldman2006MAPPINGCG,
title={MAPPING CLASS GROUP DYNAMICS ON SURFACE GROUP REPRESENTATIONS},
author={W. Goldman},
journal={arXiv: Geometric Topology},
year={2006}
}
• W. Goldman
• Published 2006
• Mathematics
• arXiv: Geometric Topology
Deformation spaces Hom(�,G)/G of representations of the fundamental groupof a surfacein a Lie group G ad- mit natural actions of the mapping class group Mod�, preserving a Poisson structure. When G is compact, the actions are ergodic. In contrast if G is noncompact semisimple, the associated deforma- tion space contains open subsets containing the Fricke-Teichmuller space upon which Modacts properly. Properness of the Mod�- action relates to (possibly singular) locally homogeneous geomet- ric… Expand
47 Citations
Dynamics on character varieties: a survey
We survey recent work on the dynamics of the outer automorphism group of a word hyperbolic group on spaces of (conjugacy classes of) representations ofthe group into a semi-simple Lie group G. AllExpand
Modular orbits on the representation spaces of compact abelian Lie groups
• Mathematics
• 2021
Let S be a closed surface of genus g greater than zero. In the present paper we study the topologicaldynamical action of the mapping class group on the Tn-character variety giving necessary andExpand
Ergodicity of the mapping class group action on super-maximal representations
This note investigates the dynamics of the mapping class group action on the character variety of super-maximal representations of the fundamental group of a punctured sphere intoExpand
Poisson geometry of "SL" (3, C)-character varieties relative to a surface with boundary
The SL(3, C)-representation variety R of a free group F r arises naturally by considering surface group representations for a surface with boundary. There is an SL(3,C)-action on the coordinate ringExpand
Quasi-Poisson structures on representation spaces of surfaces
• Mathematics
• 2012
Given an oriented surface S with base point * on the boundary, we introduce for all N>0, a canonical quasi-Poisson bracket on the space of N-dimensional linear representations of \pi_1(S,*). OurExpand
Ergodic actions of mapping class groups on moduli spaces of representations of non-orientable surfaces
AbstractLet M be a non-orientable surface with Euler characteristic χ(M) ≤ −2. We consider the moduli space of flat SU(2)-connections, or equivalently the space of conjugacy classes ofExpand
On a family of unitary representations of mapping class groups
For a compact surface $S = S_{g,n}$ with $3g + n \geq 4$, we introduce a family of unitary representations of the mapping class group $Mod(S)$ based on the space of measured foliations. For thisExpand
The action of the mapping class group on representation varieties of PSL(2,R). Case I: The one-holed torus
In this paper we consider the action of the mapping class group of a surface on the space of homomorphisms from the fundamental group of a surface into PSL(2,R). Goldman conjectured that when theExpand
Finite braid group orbits in Aff(C)-character varieties of the punctured sphere
• Mathematics
• 2016
We give a complete description of finite braid group orbits in Aff(C)-character varieties of the punctured Riemann sphere. This is performed thanks to a coalescence procedure and to the theory ofExpand
Moduli spaces of hyperbolic 3-manifolds and dynamics on character varieties
• Mathematics
• 2009
The space AH(M) of marked hyperbolic 3-manifold homotopy equivalent to a compact 3-manifold with boundary M sits inside the PSL2(C)-character variety X(M) of π1(M). We study the dynamics of theExpand

#### References

SHOWING 1-10 OF 122 REFERENCES
Maximal Representations of Surface Groups: Symplectic Anosov Structures
• Mathematics
• 2005
Let G be a connected semisimple Lie group such that the associ- ated symmetric space X is Hermitian and let Γg be the fundamental group of a compact orientable surface of genus g ≥ 2. We survey theExpand
Dynamics of the mapping class group action on the variety of PSL2C characters
• Mathematics
• 2005
We study the action of the mapping class group Mod.S/ on the boundary @Q of quasifuchsian space Q. Among other results, Mod.S/ is shown to be topologically transitive on the subset C @Q of manifoldsExpand
Topological components of spaces of representations
Since rt is a finitely generated group, the space Hom0r, G) is a real analytic variety whenever G is a connected Lie group, and is a real affine algebraic variety whenever G is a linear algebraicExpand
Exceptional discrete mapping class group orbits in moduli spaces
• Mathematics
• 2001
Let M be a four-holed sphere and Γ the mapping class group of M fixing ∂M . The group Γ acts on the space MB(SU(2)) of SU(2)-gauge equivalence classes of flat SU(2)-connections on M with fixedExpand
ON THE DYNAMICS OF PSEUDO-ANOSOV HOMEOMORPHISMS ON REPRESENTATION VARIETIES OF SURFACE GROUPS
We study the action of pseudo-Anosov homeomorphisms f: R → R on the char- acter varieties of SL(2,C)-representations of the fundamental groups π1(R) of closed orientable hyperbolic surfaces R. WeExpand
Ergodicity of mapping class group actions on representation varieties, II. Surfaces with boundary
• Mathematics
• 2000
AbstractThe mapping class group of a compact oriented surface of genus greater than one with boundary acts ergodically on connected components of the representation moduli corresponding to aExpand
On the mapping class group action on the cohomology of the representation space of a surface
The mapping class group of a d-pointed Riemann surface has a natural C ∞ action on any moduli space of parabolic bundles with the marked points as the parabolic points. We prove that under someExpand
The action of the Torelli group on the homology of representation spaces is nontrivial
• Mathematics
• 2000
Abstract The mapping class group and its subgroup, the Torelli group, of a Riemann surface M has a natural action on the space R SU(2) (M) of SU(2) -representations of the fundamental group of M andExpand
Characteristic classes of surface bundles
Let M be a C~-manifold. If one wants to classify all differentiable fibre bundles over a given manifold which have M as fibres, then one must study the topology of the corresponding structure groupExpand
Topological dynamics on moduli spaces II
• Mathematics
• 2002
Let M be an orientable genus g > 0 surface with boundary ∂M. Let Γ be the mapping class group of M fixing ∂M. The group Γ acts on M c = Homc(π 1 (M),SU(2))/SU(2), the space of SU(2)-gauge equivalenceExpand

format: plain


text:
mPDF Manual – HTML control tags

# watermarkimage

(mPDF ≥ 3.0)

watermarkimage – Set an image to use as a Watermark

## Description

<watermarkimage  $src [$alpha ] [ $size ] [$position ] />

Set an image to use as a Watermark. The watermark is a semi-transparent background printed on each page, used for text such as “DRAFT” or a background image. The watermark will be added to each page when the Footer is printed if the variable showWatermarkImage is set to 1 or true.

## Parameters

$src This parameter specifies the image file to use for the watermark. This can be a full URI or use a relative path$alpha

This parameter defines the transparency value (alpha) to use for the watermark. The Value should be between '0' and '1'.

Default: '0.2'

$size This parameter takes either a pre-defined string, an integer, or an array of width and height. Defines the size of the watermark. Values • 'D': default i.e. original size of image - may depend on img_dpi • 'P': Resize to fit the full page size, keeping aspect ratio • 'F': Resize to fit the print-area (frame) respecting current page margins, keeping aspect ratio • INT: Resize to full page size minus a margin set by this integer in millimeters, keeping aspect ratio • 2 comma-separated numbers ($width, $height) e.g '200,250': Specify a size; units in millimeters Default: "D"$position

This parameter takes either a pre-defined string or an array of $x and$y. Defines the position of the watermark on the page.

Values

• 'P': Centred on the whole page area
• 'F': Centred on the page print-area (frame) respecting page margins
• 2 comma-separated numbers ($x,$y) e.g '200,250': Specify a position; units in millimeters

Default: "P"

## Changelog

Version Description
3.0 The tag was added.

## Examples

Example #1

<?php
$mpdf = new \Mpdf\Mpdf();$mpdf->showWatermarkText = true;

$mpdf->WriteHTML( '<watermarkimage src="images/background.png" alpha="0.4" size="200,250" />' );$mpdf->WriteHTML('
Hello World
');


text:
### Home > A2C > Chapter 7 > Lesson 7.1.2 > Problem7-26

7-26.

Mark claims to have created a sequence of three function machines that always gives him the same number he started with.

1. Test his machines. Do you think he is right?

Test his machines multiple times with different numbers.

2. Be sure to test negative numbers. What happens for negative numbers?

Again, test several different numbers.

3. Mark wants to get his machines patented but has to prove that the set of machines will always do what he says it will, at least for positive numbers. Show Mark how to prove that his machines work for positive numbers by dropping in a variable (for example, n) and writing out each step the machines must take.

Input: $n$
machine 1: $\left(n\right) + 2$
output 1: $n + 2$
machine 2: $\left(n + 2\right)^{2} − 4\left(n + 2\right)$
output 2: $n^{2} − 4$

4. Why do the negative numbers come out positive?

Look at the steps that the variable went through in part (c). Pay careful attention to what happens when it passes through the third machine.

Use the eTool below to test the machine.
Click the link at right for the full version of the eTool: 7-26 HW eTool


text:
# Equivalence Class in P-adic Integers Contains Unique Coherent Sequence/Lemma 2

## Theorem

Let $p$ be a prime number.

Let $\norm{\,\cdot\,}_p$ be the $p$-adic norm on the rational numbers $\Q$.

Let $\sequence{\gamma_n}$ be a Cauchy sequence in $\struct {\Q, \norm{\,\cdot\,}_p}$ such that:

$\forall j \in \N: \norm{\gamma_{j + 1} - \gamma_j }_p \le p^{-\paren{j + 1}}$

Let $\sequence{\alpha_n}$ be a sequence in $\Q$ such that:

$\forall j \in \N: \norm{\alpha_j - \gamma_j }_p \le p^{-\paren{j + 1}}$

Then:

$\forall j \in \N: \norm{\alpha_{j + 1} - \alpha_j }_p \le p^{-\paren{j + 1}}$

## Proof

For all $j \in \N$:

 $\displaystyle \norm{\alpha_{j + 1} - \alpha_j}_p$ $=$ $\displaystyle \norm{\alpha_{j + 1} - \gamma_{j + 1} + \gamma_{j + 1} - \gamma_j + \gamma_j - \alpha_j}_p$ $\displaystyle$ $\le$ $\displaystyle \max \set { \norm{\alpha_{j + 1} - \gamma_{j + 1} }_p \mathop , \norm{\gamma_{j + 1} - \gamma_j }_p \mathop , \norm{\gamma_j - \alpha_j}_p}$ $\displaystyle$ $\le$ $\displaystyle \max \set { p^{-\paren{j + 2} } , \norm{\gamma_{j + 1} - \gamma_j }_p \mathop , p^{-\paren{j + 1} } }$ Assumption on $\sequence{\alpha_n}$ $\displaystyle$ $\le$ $\displaystyle \max \set { p^{-\paren{j + 2} } , p^{-\paren{j + 1} } , p^{-\paren{j + 1} } }$ Assumption on $\sequence{\gamma_n}$ $\displaystyle$ $=$ $\displaystyle p^{-\paren{j + 1} }$ Power Function on Integer between Zero and One is Strictly Decreasing

$\blacksquare$


text:
Question: Limma; design matrix for treatments and sibship
0
3.5 years ago by
John0
United Kingdom
John0 wrote:

Hello.

I have a targets file as follows;

treat sibship
file1   GeneInsert   1
file2   GeneInsert   2
file4  EmptyVector   1
file5  EmptyVector   2
file7 no_treatment   1
file8 no_treatment   2

Treat = treatment by tranfsection of an interesting gene, or with an empty vector transfected, and finally cells not treated at all. They are also paired by sibship.

How can I make differential gene expression of GeneInsert vs. no_treatment (but taking into account both the Empty vector and sibship)?

I have read the pertinent sections, 9.4 and 9.5 of the Limma manual, but I am not sure which is, if any, are applicable?

I will appreciate any help, thank you.

John.

Note; for an unpaired analysis I did;

contrast.matrix <- makeContrasts('InsertVscontrol'=GeneInsert-((no_treatment+EmptyVector)/2), levels=design)

Looks to be working as plots of expression values of the signif. diff. expressed genes look as they should (but I would like to incorporate the sibship as well to be precise).

modified 3.5 years ago • written 3.5 years ago by John0
Answer: Limma; design matrix for treatments and sibship
1
3.5 years ago by
United States
James W. MacDonald49k wrote:

I don't know what you mean by 'taking into account...Empty vector'. That's a completely different treatment, that has nothing to do with the other two groups, so you can't really take it into account. You can however block on sibship to account for a shift in expression due to the different litters.

> treat <- factor(rep(c("GeneInsert","EmptyVector","NoTreatment"), each = 2))
> sibship <- factor(rep(1:2, each = 3))
> treat
[1] GeneInsert  GeneInsert  EmptyVector EmptyVector NoTreatment NoTreatment
Levels: EmptyVector GeneInsert NoTreatment
> treat <- relevel(treat, "NoTreatment")
> design <- model.matrix(~treat+sibship)
> design
(Intercept) treatEmptyVector treatGeneInsert sibship2
1           1                0               1        0
2           1                0               1        0
3           1                1               0        0
4           1                1               0        1
5           1                0               0        1
6           1                0               0        1

The second coefficient compares the EmptyVector to NoTreatment, and the third compares GeneInsert to NoTreatment. If you want to compare GeneInsert and EmptyVector, you have to use a contrast.

1

James, I think your sibship definition might be wrong; it should be factor(rep(1:2, 3)).

Anyway, to elaborate on James' answer, the comparison between the inserted and empty vectors can be done with:

con <- makeContrasts(treatGeneInsert - treatEmptyVector, levels=design)

There's no point or need to consider the no-treatment group (besides for residual d.f. considerations, as Gavin has noted). The above comparison is equivalent to asking if the effect of the gene insert relative to no-treatment is different to the effect of the empty vector relative to no-treatment. This is because the no-treatment expression is represented by the intercept:

(treatGeneInsert - intercept) - (treatEmptyVector - intercept)

... which just cancels out when you expand past the parentheses.

Thanks for the answer and code. I understand this is similar to section 9.4.1 of the Limma manual.

I thought the empty vector is related to the geneInsert samples, as that same vector is used in both sample groups; 1) to insert the gene and 2) the vector alone without the gene insert. Some genes will change due to the vector insertion in both sample groups.

Am I wrong in this thinking?

John.

You could look at genes that were significant according to the third coefficient (treatGeneInsert) but not the second (treatEmptyVector).  I would not recommended this, however, as you're going to decrease overall power due to the double round of testing.  As the GeneInsert is effectively NoTreatment+InsertEffect+TreatmentEffect, and your EmptyVector is NoTreatment+InsertEffect, then you can estimate TreatmentEffect as GeneInsert - EmptyVector, so

treat <- relevel(treat, "EmptyVector")

and refitting will give a coefficient treatGeneInsert that estimates the Insert effect over and above the vector effect.  The noTreatment group is not necessary to estimate effect size (and strictly needn't have been assayed), but the presence of these extra samples will increase power by providing better estimates of within-group variability.  Sibship will have been dealt with correctly by the inclusion of it as a covariate.

Thanks Gavin for the clear logic in your answer and a solution, that helps a lot.

John.

Answer: Limma; design matrix for treatments and sibship
0
3.5 years ago by
John0
United Kingdom
John0 wrote:


text:
# Chapter 9 - Exercises - Page 421: 55

The bonds will be : a. pure covalent b. polar covalent c. pure covalent d. ionic bond

#### Work Step by Step

a. The bond is formed by sharing of electrons between the two $Br$ atoms, so it is covalent. There is no electronegativity difference, so the bond is pure covalent. b. The bond is formed by sharing of electrons between the $C$ and $Cl$ atoms, so it is covalent. There is electronegativity difference between the two atoms (Cl is more electronegative), so the bond is polar covalent. c. The bond is formed by sharing of electrons between the $C$ and $S$ atoms, so it is covalent. There is negligible electronegativity difference between the two atoms, so the bond is pure covalent. d. The bond is formed between the $O^{2-}$ and $Sr^+$ ions, so it is ionic.

After you claim an answer you’ll have 24 hours to send in a draft. An editor will review the submission and either publish your submission or provide feedback.


text:
I have a large number of keyword bookmarks in whichever browser I happen to be using at the time that I’ve been building up over the years1. One of the ones I particular enjoy is text: data:text/html, <html contenteditable>. What that does is open a new tab where I can take notes, completely locally. It’s really handy… but there’s one big problem: I often accidentally close the tab and lose whatever I had been typing. So I decided to take a few minutes to write up a simple extension of the idea that would save the data to LocalStorage.

# Adding HSTS to Redirects in Apache

TLDR:

# Use 'always' so headers are also set for non-2XX and unset to avoid duplicates
header always set Strict-Transport-Security "max-age=16070400; includeSubDomains;"
</IfModule>

Slightly1 longer version:

HTTPS everywhere is a worthwhile goal. Even when you have traffic that isn’t super interesting or sensitive by itself, the fact that you’re encrypting it makes traffic that really does need to be encrypted safer against tools that grab all of the encrypted traffic they can to decrypt later if/when possible.

One of the downsides of using HTTPS though is that without certain things in place, many users will still type domain.com in their address bar from time to time, completely missing out on the https://. While you can immediately redirect them, that very first request is a risk, since if a man-in-the-middle attack happens to catch that request, they can downgrade the entire connection.

Enter HTTP Strict Transport Security (HSTS). It’s a HTTP header that you can send on the first HTTPS connection you establish with a compatible client. Once you’ve done that, any further requests (until the header’s TTL expires without being renewed) will be sent to https:// no matter what the user types. Which solves the first request problem for all sessions… but it still doesn’t fix the very first time you have to get the header. So how do you fix that?

# Counting and Sizing S3 Buckets

A long time ago in a galaxy far far away, I wrote up a script that I used to take an AWS S3 bucket and count how many objects there were in the bucket and calculate its total size. While you could get some of this information from billing reports, there just wasn’t a good way to get it other than that at the time. The only way you could do it was to… iterate through the entire bucket, summing as you go. If you have buckets with millions (or more) objects, this could take a while.

Basically:

conn = boto.connect_s3()
for bucket in sorted(conn.get_all_buckets()):
try:
total_count = 0
total_size = 0
start = datetime.datetime.now()

for key in bucket.list_versions():
# Skip deleted files
if isinstance(key, boto.s3.deletemarker.DeleteMarker):
continue

size = key.size
total_count += 1
total_size += size

print('-- {count} files, {size}, {time} to calculate'.format(
count = total_count,
size = humanize.naturalsize(total_size),
time = humanize.naturaltime(datetime.datetime.now() - start).replace(' ago', '')
))

# Creating a temporary SMTP server to 'catch' domain validation emails

One problem that has come up a time or two is dealing with email-based domain validation (specifically in this case for the issuance of TLS certificates) on domains that aren’t actually configured to receive email. Yes, in a perfect world, it would be easier to switch to DNS-based validation (since we have to have control of the DNS for the domain, we need it later), but let’s just assume that’s not an option. So, how do we ‘catch’ the activation email so we can prove we can receive email on that domain?

# Deep Dreams with Fish and Docker

DeepDream is a research project originally from Google that gives you a look into how neural networks see the world. They’re fascinating, bizarre, and a lot of fun to play with. A bit of work getting them to work on your own machine though.

Luckily, GitHub user saturnism has put together a lovely Docker-based tool that will do just that for us: deepdream-cli-docker. Unfortunately, the commands are still a bit long. Let’s clean it up a bit and add the ability to dream about non-JPGs (animated GIFs especially!).

# Generating zone files from Route53

Recently I found myself wanting to do some analysis on all of our DNS entires stored in AWS’s Route53 for security reasons (specifically to prevent subdomain takeover attacks, I’ll probably write that up soon). In doing so, I realized that while Route53 has the ability to import a zone file, it’s not possible to export one.

To some extent, this makes sense. Since Route53 supports ALIAS records (which can automatically determine their values based on other AWS products, such as an ELB changing its public IP) and those aren’t actually ‘real’ DNS entries, things will get confused. But I don’t currently intend to re-import these zone files, just use them. So let’s see what we can do.

# Automatic self-signed HTTPS for local development

From time to time when doing web development, you need to test something related to HTTPS. In some cases, the application you’re writing already supports HTTPS natively and that’s no problem. But more often (and probably better, in my opinion) is the case when you have another service (be it an AWS ELB or an nginx layer) that will terminate the HTTPS connection for you so your application doesn’t have to know how to speak HTTPS.

In those cases, how can you test functionality that specifically interacts with HTTPS?

Today I will show you autohttps, a thin nginx proxy using Docker and a self signed certificate to automatically create an HTTPS proxy in front of your application.

# Making Fish Shell Smile

When working in a shell, from time to time, I need to know if a command succeeded or failed. Sometimes, it’s easy:

$make noise make: *** No rule to make target noise'. Stop. Sometimes, less so: $ grep frog podcasts.json > podcasts-about-frogs.txt

Since, alas, I don’t have any podcasts about frogs, that command would fail silently. But that’s fixable!

$grep frog podcasts.json > podcasts-about-frogs.txt$ # Bash/Zsh
$echo$?
1

$# Fish$ echo \$status
1`


text:
# Complex¶

Complex is a predefined structured type in Chapel. It is specified in the Types chapter of the Chapel Language Specification.

record complex

It is defined as if it were a record with two fields. Note that both of these fields are of type real. Specifically the imaginary component is not of type imag. This is important when using the getter/setter for the field im.

var re: real
var im: real
proc complex.re ref

When used as a value, this returns the real component of the complex number as a real.

When used as an lvalue, this is a setter that assigns the real component.

proc complex.im ref

When used as a value, this returns the imaginary component of the complex number as a real.

When used as an lvalue, this is a setter that assigns the imaginary component.


text:
# Why is the energy of particles in accelerators much higher than the energy of the particles they are trying to find?

I have been wondering. In the LHC, or other particle accelerators for that matter, they are colliding particles with energies above TeV. The LHC is going to be 14 TeV or something like that the next time they are turning it on, right ?

So, when they were searching for the Higgs, it turned out it had a mass around 125 GeV, if I'm not mistaken. So basically my question is: Why is so high colliding energy needed to detect masses that are way below that ?

The only thing I've heard of is, that the particle might have the TeV energies, but the quarks inside does not, do to something I can't remember. But is that really it, or is there a better reason I can't seem to figure out ?

• I don't have anything to back this up, but I would assume it has something to do with the enormous kinetic energy of the colliding particles. – HDE 226868 Nov 20 '14 at 23:24
• The multiplicity of charged hadrons produced in pp collisions at the LHC seems to be $\sim100$: dspace.mit.edu/handle/1721.1/68876 . If you're producing on the order of a hundred particles, maybe it makes sense that you have to put in on the order of a hundred times the energy of the particle you're hoping to create. – Ben Crowell Nov 21 '14 at 1:55


text:
# Krippendorff's alpha getting low after restricting data

I am calculating inter-rater agreement for ~350 raters, each of who rated 100 items using Likert scale. The original scale has range [-3,3], using this python implementation, I got $$\alpha=.35$$, which is lower than I expected. Then I restricted the range of values to [-1,1] by clipping and got $$\alpha=.29$$ which is even lower. Should not clipping increase the agreement? Or I am not understanding it correctly?


text:
## Using Java Collections in Scala 2.8 (and 2.7)

From: andrew cooke <andrew@...>

Date: Fri, 9 Oct 2009 18:10:57 -0400

If you want to inter-operate with Java objects that use the Java
collections it's not immediately clear what to do - the Scala
collections are completely separate.

However, it turns out that's there's a solution that requires almost
no typing and replies on Scala's implicit conversions.  All that is
necessary in 2.8 is to add

import scala.collection.JavaConversions._

and the inter-operation will happen "magically".  In practice, I think
that Scala's type system uses classes from that package to convert
from one type to another (so it automatically wraps a Scala mutable
set, for example, in something that implement's Java's AbstractSet
interface).

In 2.7 there appears to be a similar solution, in
scala.collection.jcl.Convertions, but that package has disappeared in
2.8. It also contains collections that were "backed" by Java
collections (and again that has disappeared in 2.8).

For example, here's some code of mine:

import scala.collection.JavaConversions._
import scala.collection.mutable.HashSet
...

val commands = new HashSet[Command]()
Andrew


text:
# Difference between revisions of "UPB"

 Other toolboxes required UPB Generates an unextendible product basis none IsUPBMinUPBSizeUPBSepDistinguishable Unextendible product bases

UPB is a function that generates an unextendible product basis (UPB). The user may either request a specific UPB from the literature such as 'Tiles' or 'Pyramid'[1], or they may request a minimal UPB of specified dimensions.

## Syntax

• U = UPB(NAME)
• U = UPB(NAME,OPT_PAR)
• [U,V,W,...] = UPB(NAME,OPT_PAR)
• U = UPB(DIM)
• U = UPB(DIM,VERBOSE)
• [U,V,W,...] = UPB(DIM,VERBOSE)

## Argument descriptions

### Input arguments

Important: Do not specify both NAME and DIM: just one or the other!

• NAME: The name of a UPB that is found in the literature. Accepted values include:
• 'GenShifts': A minimal UPB in $$(\mathbb{C}^2)^{\otimes p}$$ (only valid when p ≥ 3 is odd) constructed in [2]. Note that OPT_PAR must be the number of parties (i.e., the integer p) in this case.
• 'Min4x4': A minimal UPB in $$\mathbb{C}^4 \otimes \mathbb{C}^4$$ constructed in [3].
• 'Pyramid': A minimal UPB in $$\mathbb{C}^3 \otimes \mathbb{C}^3$$ constructed in [1].
• 'QuadRes': A minimal UPB in $$\mathbb{C}^d \otimes \mathbb{C}^d$$ (only valid when 2d-1 is prime and d is odd) constructed in [2]. Note that you must set OPT_PAR equal to d (the local dimension) in this case.
• 'Shifts': A minimal UPB in $$\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^2$$ introduced in [1].
• 'SixParam': The six-parameter UPB in $\mathbb{C}^3 \otimes \mathbb{C}^3[/itex] introduced in Section IV.A of [2]. Note that OPT_PAR must be a vector containing the six parameters in this case. • 'Tiles': A minimal UPB in $$\mathbb{C}^3 \otimes \mathbb{C}^3$$ constructed in [1]. • 'GenTiles1': A non-minimal UPB in $$\mathbb{C}^n \otimes \mathbb{C}^n$$ when n is even from [1]. Note that OPT_PAR must be n in this case. • 'GenTiles2': A non-minimal UPB in $$\mathbb{C}^m \otimes \mathbb{C}^n$$ from [1]. Note that OPT_PAR must be a 2-entry vector containing m and n in this case. • DIM: A vector containing the local dimensions of the desired UPB. In all cases, the smallest known UPB of the desired dimensionality is returned. If no unextendible product basis is known for the specified dimensions, an error is produced. • VERBOSE (optional, default 1): A flag (either 1 or 0) indicating whether or not a reference to a journal article that contains the UPB (or a description of how to construct the UPB) returned by this script will be displayed. ### Output arguments If only one output argument is specified (e.g., U = UPB(DIM)) then U is a matrix whose columns are the product states in the desired UPB. If multiple output arguments are specified (e.g., [U,V,W,...] = UPB(DIM)) then the unextendible product basis is obtained by tensoring the columns of U, V, W, ... together. That is, U, V, W, ... are the local vectors in the unextendible product basis. ## Examples ### Generating the "Shifts" UPB The following code returns the "Shifts" UPB [1], which is a UPB of 4 states on$\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^2$: >> v = UPB('Shifts') v = 1.0000 -0.0000 -0.0000 -0.0000 0 -0.0000 0.0000 -0.5000 0 0.0000 -0.5000 -0.0000 0 0.0000 0.5000 -0.5000 0 -0.5000 -0.0000 0.0000 0 -0.5000 0.0000 0.5000 0 0.5000 -0.5000 0.0000 0 0.5000 0.5000 0.5000 Alternatively, we can request that the local vectors on each copy of$\mathbb{C}^2$are returned, rather than the total product vectors on$\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^2$: >> [u,v,w] = UPB('Shifts') u = 1.0000 0.0000 0.7071 -0.7071 0 1.0000 0.7071 0.7071 v = 1.0000 -0.7071 0.0000 0.7071 0 0.7071 1.0000 0.7071 w = 1.0000 0.7071 -0.7071 0.0000 0 0.7071 0.7071 1.0000 ### Generating bound entangled states As noted in [1], if $$\big\{|v_i\rangle\big\}$$ is an unextendible product basis, then$I - \sum_i |v_i\rangle\langle v_i|$is (up to scaling) a bound entangled state. The following code illustrates this fact in$\mathbb{C}^3 \otimes \mathbb{C}^5\$ by first constructing a UPB in this space, then constructing the corresponding state, and then verifying that this state is bound entangled.

>> v = UPB([3,5]);
Generated a minimal 7-state UPB from:
N. Alon and L. Lovasz. Unextendible product bases. J. Combinatorial Theory, Ser. A, 95:169-179, 2001.

>> rho = eye(3*5);
>> for j = 1:7
rho = rho - v(:,j)*v(:,j)';
end
rho = rho/7; % we are now done constructing the bound entangled state

>> IsSeparable(rho,[3,5]) % show that the state is indeed entangled
Determined to be entangled by not having a 2-copy symmetric extension. Reference:
A. C. Doherty, P. A. Parrilo, and F. M. Spedalieri. A complete family of separability criteria.
Phys. Rev. A, 69:022308, 2004.

ans =

0
>> IsPPT(rho,2,[3,5]) % verify that this state has positive partial transpose and is thus bound entangled

ans =

1

### Generating multipartite UPBs

Many multipartite minimal UPBs can be constructed via this script. For example, the following code generates a minimal UPB (of 6 states) in $$\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^3$$:

>> [u,v,w] = UPB([2,2,3])
Generated a minimal 6-state UPB from:
K. Feng. Unextendible product bases and 1-factorization of complete graphs.
Discrete Applied Mathematics, 154:942–949, 2006.

u =

1.0000         0    1.0000    0.7071    0.7071    0.7071
0    1.0000         0    0.7071   -0.7071    0.7071

v =

1.0000    0.7071         0         0    0.7071    1.0000
0    0.7071    1.0000    1.0000   -0.7071         0

w =

1.0000    0.7071    0.5345    0.5774         0         0
0         0   -0.8018    0.5774    0.3162    1.0000
0    0.7071   -0.2673   -0.5774   -0.9487         0

However, the minimum size of UPBs is still unknown in many multipartite cases – an error is returned in these cases:

>> [u,v,w,x] = UPB([2,2,3,7])
??? Error using ==> UPB at 132
No minimal UPB is currently known in the specified dimensions.

## Source code

Click here to view this function's source code on github.

## References

1. C.H. Bennett, D.P. DiVincenzo, T. Mor, P.W. Shor, J.A. Smolin, and B.M. Terhal. Unextendible product bases and bound entanglement. Phys. Rev. Lett. 82, 5385–5388, 1999. E-print: arXiv:quant-ph/9808030
2. D.P. DiVincenzo, T. Mor, P.W. Shor, J.A. Smolin, and B.M. Terhal. Unextendible product bases, uncompletable product bases and bound entanglement. Commun. Math. Phys. 238, 379–410, 2003. E-print: arXiv:quant-ph/9908070
3. T.B. Pedersen. Characteristics of unextendible product bases. Master's Thesis, Aarhus Universitet, Datalogisk Institut, 2002.


text:
# zbMATH — the first resource for mathematics

## Brzeziński, Tomasz

Compute Distance To:
 Author ID: brzezinski.tomasz Published as: Brzezinski, Tomasz; Brzeziński, T.; Brzeziński, Tomasz External Links: MGP · ORCID
 Documents Indexed: 101 Publications since 1992, including 3 Books Reviewing Activity: 123 Reviews
all top 5

#### Co-Authors

 39 single-authored 7 Majid, Shahn 6 Böhm, Gabriella 5 Beggs, Edwin J. 4 Dabrowski, Ludwik 4 Fairfax, Simon A. 4 Rembieliński, Jakub 3 Militaru, Gigel 3 Sitarz, Andrzej 3 Wisbauer, Robert 2 Caenepeel, Stefaan 2 El Kaoutit, Laiachi 2 Gómez Torrecillas, José 2 Gonera, Cezary 2 Hajac, Piotr M. 2 Jiao, Zhengming 2 Lomp, Christian 2 Turner, Ryan B. 2 Vazquez-Marquez, Adrian 2 Vercruysse, Joost 2 Wrightson, Adam P. 2 Zieliński, Bartosz 1 Almulhem, Munerah 1 Amin, Ismail A. 1 Ardizzoni, Alessandro 1 Ciccoli, Nicola 1 Dąbrowski, H. 1 Gómez Pardo, José Luis 1 Kadison, Lars 1 Katriel, Jakob 1 Kosiński, Piotr 1 Macfarlane, Alan J. 1 Maślanka, Paweł 1 Menini, Claudia 1 Merabet, Houari 1 Nichita, Florin Felix 1 Papaloucas, Loucas C. 1 Shestakov, Ivan Pavlovich 1 Smith, Patrick Fleming 1 Smoliński, Kordian Andrzej 1 Szymański, Wojciech 1 Yousif, Mohamed F. 1 Zhu, Shenglin
all top 5

#### Serials

 10 Journal of Algebra 8 Communications in Algebra 6 Journal of Pure and Applied Algebra 6 Applied Categorical Structures 5 Communications in Mathematical Physics 5 Letters in Mathematical Physics 4 Journal of Geometry and Physics 4 Journal of Noncommutative Geometry 3 Journal of Mathematical Physics 3 Journal of Physics A: Mathematical and General 3 International Journal of Geometric Methods in Modern Physics 3 SIGMA. Symmetry, Integrability and Geometry: Methods and Applications 2 Bulletin of the Belgian Mathematical Society - Simon Stevin 2 Algebras and Representation Theory 1 Modern Physics Letters A 1 Physics Letters. A 1 Reports on Mathematical Physics 1 Revue Roumaine de Mathématiques Pures et Appliquées 1 Fortschritte der Physik 1 Acta Mathematica 1 Annali dell’Università di Ferrara. Nuova Serie. Sezione VII 1 Colloquium Mathematicum 1 Proceedings of the American Mathematical Society 1 Acta Applicandae Mathematicae 1 $K$-Theory 1 IMRN. International Mathematics Research Notices 1 Mathematical Physics, Analysis and Geometry 1 Czechoslovak Journal of Physics 1 Comptes Rendus. Mathématique. Académie des Sciences, Paris 1 Journal of Algebra and its Applications 1 London Mathematical Society Lecture Note Series 1 International Electronic Journal of Algebra (IEJA) 1 Arabian Journal of Mathematics 1 Axioms 1 Trends in Mathematics
all top 5

#### Fields

 67 Associative rings and algebras (16-XX) 29 Global analysis, analysis on manifolds (58-XX) 26 Quantum Theory (81-XX) 23 Nonassociative rings and algebras (17-XX) 23 Functional analysis (46-XX) 16 Category theory, homological algebra (18-XX) 4 Algebraic geometry (14-XX) 4 Differential geometry (53-XX) 3 Algebraic topology (55-XX) 2 General mathematics (00-XX) 2 Commutative algebra (13-XX) 2 Group theory and generalizations (20-XX) 1 Combinatorics (05-XX) 1 Linear and multilinear algebra; matrix theory (15-XX) 1 $K$-theory (19-XX) 1 Several complex variables and analytic spaces (32-XX) 1 Dynamical systems and ergodic theory (37-XX) 1 Statistical mechanics, structure of matter (82-XX)


text:
## Introduction

Confidence interval can be used to estimate the population parameter with the help of an interval with some degree of confidence. One such a parameter that can be estimated is a population mean.

In this article we will discuss step by step procedure to construct a confidence interval for population mean when the population standard deviation is known.

## Confidence Interval for Mean

Let $X_1, X_2, \cdots , X_{n}$ be a random sample of size $n$ from $N(\mu, \sigma^2)$ with known variance $\sigma^2$. Let $\overline{X} = \frac{1}{n} \sum X_i$ be the sample mean.

Let $C=1-\alpha$ be the confidence coefficient. We wish to construct a $100(1-\alpha)$% confidence interval of a population mean $\mu$ when $\sigma$ is known.

The margin of error for mean is \begin{aligned} E = Z_{\alpha/2} \frac{\sigma}{\sqrt{n}}. \end{aligned} Then, $100(1-\alpha)$% confidence interval for the population mean $\mu$ is \begin{aligned} \overline{X} - E \leq \mu \leq \overline{X} + E \end{aligned}

## Assumptions

a. The sample is a simple random sample.

b. The population standard deviation $\sigma$ is known.

c. The population has a normal distribution.

## Step by Step Procedure

Step by step procedure to estimate the confidence interval for mean is as follows:

### Step 2 Given information

Specify the given information, sample size $n$, sample mean $\overline{X}$ and population standard deviation.

### Step 3 Specify the formula

$100(1-\alpha)$% confidence interval for the population mean $\mu$ is \begin{aligned} \overline{X} - E \leq \mu \leq \overline{X} + E \end{aligned} where $E = Z_{\alpha/2} \frac{\sigma}{\sqrt{n}}$.

### Step 4 Determine the critical value

Determine the critical value $Z_{\alpha/2}$ from normal statistical table that corresponds to the desired confidence level.

### Step 5 Compute the margin of error

The margin of error for mean is \begin{aligned} E = Z_{\alpha/2} \frac{\sigma}{\sqrt{n}}. \end{aligned}

### Step 6 Determine the confidence interval

$100(1-\alpha)$% confidence interval estimate for population mean is \begin{aligned} \overline{X} - E \leq \mu\leq \overline{X} + E \end{aligned}

Equivalently, $100(1-\alpha)$% confidence interval estimate of population mean is $\overline{X} \pm E$ or $(\overline{X} -E, \overline{X} +E)$.

That is the $100(1-\alpha)$% confidence interval estimate of population mean (when $\sigma$ is unknown) is

$$\bigg(\overline{X} -Z_{\alpha/2} \dfrac{\sigma}{\sqrt{n}}, \overline{X} +Z_{\alpha/2} \dfrac{\sigma}{\sqrt{n}}\bigg)$$


text:
math.GN

(what is this?)

Title: Products of $H$-separable spaces in the Laver model

Abstract: We prove that in the Laver model for the consistency of the Borel's conjecture, the product of any two $H$-separable spaces is $M$-separable.
 Subjects: General Topology (math.GN); Logic (math.LO) MSC classes: 03E05, 03E35, 54C50, 54D20 Journal reference: Topology Appl. 239 (2018), 115-119 DOI: 10.1016/j.topol.2018.02.021 Cite as: arXiv:1803.06483 [math.GN] (or arXiv:1803.06483v1 [math.GN] for this version)

Submission history

From: Dušan Repovš [view email]
[v1] Sat, 17 Mar 2018 09:28:15 GMT (8kb)


text:
# Proof from Reid's Undergraduate Algebraic Geometry: help with minor details

On p.28 (here) Reid proves that the curve $y^2=x(x-1)(x-\lambda)$ for $\lambda\neq 0,1$ has no rational paramaterisation. At one point (on p.29), he has the equation $$r^2=ap(p-q)(p-\lambda q)$$ where $p$ and $q$ are polynomials over a field $k$, and $a$, $\lambda$ are constants in the field. He then says that "by considering factorisation into primes, there exist nonzero constants $b,c,d\in k$ such that $$bp,c(p-q),d(p-\lambda q)$$ are all squares in $k[t]$.

Edit: $p$ and $q$ are known to be coprime.

I feel like this should be obvious, but I don't follow his argument. Why do we know that those factors are squares (up to units)?

-
p, (p-q), (p-lambda*q) are pairwise coprime. Shared irreducible factors between r^2 and p have to appear an even number of times in p. –  T.. Nov 18 '10 at 7:14
For an alternative argument, see math.stackexchange.com/questions/5278/… . This can be adapted to work for the curve considered by Reid. –  Robin Chapman Nov 18 '10 at 7:37
Thanks for both answers. I'm not quite at the stage where I'm comfortable translating between algebra and geometry yet, but hopefully I'll get there one day. –  Lost In Math Nov 19 '10 at 7:07

Because $p$ and $q$ are coprime, then $p$ and $p-q$ are coprime: any irreducible factor of both would divide $p-(p-q)=q$, so it would divide both $p$ and $q$. Likewise, since $\lambda\neq 0$, $p$ and $p-\lambda q$ are coprime (same reason). And since $\lambda\neq 1$, then $p-\lambda q$ and $p-q$ are coprime; any shared factor between them is a factor of $\lambda(p-q)-(p-\lambda q) = (\lambda-1)p$ (hence of $p$) and of $(p-q)-(p-\lambda q) = (\lambda-1)q$ (hence of $q$), but $p$ and $q$ have no common factors other than units.
So $p$, $(p-q)$, and $(p-\lambda q)$ are pairwise coprime as well.
At this point, the argument is the same as in any UFD (e.g., the integers): you have $r^2 = xyz$, with $x$, $y$ and $z$ relatively prime; looking at each irreducible factor of $r$, and at each irreducible factor of $x$, of $y$, and of $z$, you get that each irreducible factor of $x$, of $y$, and of $z$ must appear to an even exponent, so each of $x$, $y$, and $z$ are squares.


text:
# Is the square root of 945 irrational?

• B
Is the square root of 945 irrational?

I feel it is rational because my TI-84 Plus converts it into 275561/8964, however, I am unsure whether the calculator is estimating.

Can someone please advise. It can be broken down into 3√105, and again, my calculator is able to convert √105 into a fraction.

Thank you.

## Answers and Replies

phyzguy
Yes, sqrt(945) is irrational. Your calculator is finding a fraction approximating sqrt(945).

sqrt(945) = 30.740852297878796...
275561/8964 = 30.740852298081215...

They are not equal.

mathman
If the square root of an integer is rational it must be an integer. The square of this fraction is 945.000000012445056. You are running into the limits on the calculator significant digits.

StoneTemplePython
Gold Member
I typed these 3 commands into worlfram
https://www.wolframalpha.com/input/?i=prime+factorization+of+8964
https://www.wolframalpha.com/input/?i=prime+factorization+of+275561
https://www.wolframalpha.com/input/?i=prime+factorization+of+945

so supposing it is rational we get

##3^3 \cdot 5 \cdot 7 = 945 = \big(\frac{275561}{8964}\big)^2= \big( \frac{11\cdot 13\cdot 41 \cdot 47}{2^2 \cdot 3^3 \cdot 83 }\big)^2##

clearing the denominator gives

##\big(3^3 \cdot 5 \cdot 7\big)\big(2^2 \cdot 3^3 \cdot 83 \big)^2 = 945\big(2^2 \cdot 3^3 \cdot 83 \big)^2 = \big( 11\cdot 13\cdot 41 \cdot 47\big)^2 ##

but this violates the fundamental theorem of arithmetic and hence what your calculator gave cannot be an exact rational expression for the square root

mfb
Mentor
Two-line approach: 275561/8964 is a fraction that doesn't share prime factors in numerator and denominator. Therefore (275561/8964)2 is also a fraction with this property and the numerator cannot be a multiple of the denominator.


text:
• 0 Vote(s) - 0 Average
• 1
• 2
• 3
• 4
• 5
 Iteration exercises: Lucas-Lehmer-test and Schröder-function Gottfried Ultimate Fellow Posts: 757 Threads: 116 Joined: Aug 2007 04/04/2012, 06:17 AM (This post was last modified: 04/04/2012, 06:28 AM by Gottfried.) Since it is a bit quiet currently someone might enjoy an iteration exercise which I've applied to the Lucas-Lehmer-test for the primality of Mersenne-numbers. The Lucas-Lehmer-test *is* just an application of iteration of some simple function, but it is unusual to express this iteration using the concept of the Schröder-function and the Carleman-matrix. After the coefficients of the Schröder-functions have a simple pattern, that functions could be identified with the cosh and arccosh-functions; an identity which was also already known to Schröder himself and was also introduced and is mentioned in Chris Caldwell's nice Prime-pages. Here is my approach which led to a new "Lucal-Lehmer-Constant" L which allows to do the Lucas-Lehmer-test just by the test $\lceil L^{2^p} \rceil = 0 (mod M_p)$ and if the equality holds, then $M_p$ is prime.(Well, for p>7 we need so many digits of L that the test is not practical) Here is the link: lucasLehmerConstant Enjoy - Gottfried Gottfried Helms, Kassel « Next Oldest | Next Newest »

 Possibly Related Threads... Thread Author Replies Views Last Post Is there a function space for tetration? Chenjesu 0 194 06/23/2019, 08:24 PM Last Post: Chenjesu Degamma function Xorter 0 672 10/22/2018, 11:29 AM Last Post: Xorter Iteration exercises: f(x)=x^2 - 0.5 ; Fixpoint-irritation... Gottfried 23 27,675 10/20/2017, 08:32 PM Last Post: Gottfried Should tetration be a multivalued function? marraco 17 14,930 01/14/2016, 04:24 AM Last Post: marraco Introducing new special function : Lambert_t(z,r) tommy1729 2 3,241 01/10/2016, 06:14 PM Last Post: tommy1729 Tommy-Mandelbrot function tommy1729 0 1,778 04/21/2015, 01:02 PM Last Post: tommy1729 The inverse gamma function. tommy1729 3 7,128 05/13/2014, 02:18 PM Last Post: JmsNxn entire function close to sexp ?? tommy1729 8 8,679 04/30/2014, 03:49 PM Last Post: JmsNxn Problem with infinite product of a function: exp(x) = x * f(x)*f(f(x))*... Gottfried 5 6,364 07/17/2013, 09:46 AM Last Post: Gottfried Proof Ackermann function extended to reals cannot be commutative/associative JmsNxn 1 2,838 06/15/2013, 08:02 PM Last Post: MphLee

Users browsing this thread: 1 Guest(s)


text:
# Symplectic Matrices with Integer Entries

I have a couple questions regarding symplectic matrices, specifically those with integer entries.

1) Suppose we are trying to find symplectic matrices of dimension $4$ with integer entries. We know that eigenvalues come in reciprocal pairs; we are assuming that the symplectic matrix $A$ has irreducible characteristic polynomial so the eigenvalues are distinct. Also we want the eigenvalues real. Thus, it is necessary for the characteristic polynomial of $A$ to be of the form

$$f = x^4 - nx^3 + (2+m)x^2 -nx+1$$

where $n,m \in \mathbb{Z}$. The question is, if we have an irreducible $f$ of this form, with roots $\lambda, \lambda ^{-1}, \mu, \mu^{-1}$, is it possible to construct an integer matrix which is symplectic with this characteristic polynomial?

2) Suppose the construction in 1) is possible, and we have matrix A. Are there any properties on matrices in the conjugacy class of A over $\mathbb{Q}$ which ensure that those matrices are symplectic? That is, is there a way to find matrices conjugate to a symplectic matrix A which are also symplectic?

Thanks for any help or any suggestions on literature to read.


text:
# 4.6. Dropout¶ Open the notebook in Colab Open the notebook in Colab Open the notebook in Colab Open the notebook in SageMaker Studio Lab

In Section 4.5, we introduced the classical approach to regularizing statistical models by penalizing the $$L_2$$ norm of the weights. In probabilistic terms, we could justify this technique by arguing that we have assumed a prior belief that weights take values from a Gaussian distribution with mean zero. More intuitively, we might argue that we encouraged the model to spread out its weights among many features rather than depending too much on a small number of potentially spurious associations.

## 4.6.1. Overfitting Revisited¶

Faced with more features than examples, linear models tend to overfit. But given more examples than features, we can generally count on linear models not to overfit. Unfortunately, the reliability with which linear models generalize comes at a cost. Naively applied, linear models do not take into account interactions among features. For every feature, a linear model must assign either a positive or a negative weight, ignoring context.

In traditional texts, this fundamental tension between generalizability and flexibility is described as the bias-variance tradeoff. Linear models have high bias: they can only represent a small class of functions. However, these models have low variance: they give similar results across different random samples of the data.

Deep neural networks inhabit the opposite end of the bias-variance spectrum. Unlike linear models, neural networks are not confined to looking at each feature individually. They can learn interactions among groups of features. For example, they might infer that “Nigeria” and “Western Union” appearing together in an email indicates spam but that separately they do not.

Even when we have far more examples than features, deep neural networks are capable of overfitting. In 2017, a group of researchers demonstrated the extreme flexibility of neural networks by training deep nets on randomly-labeled images. Despite the absence of any true pattern linking the inputs to the outputs, they found that the neural network optimized by stochastic gradient descent could label every image in the training set perfectly. Consider what this means. If the labels are assigned uniformly at random and there are 10 classes, then no classifier can do better than 10% accuracy on holdout data. The generalization gap here is a whopping 90%. If our models are so expressive that they can overfit this badly, then when should we expect them not to overfit?

The mathematical foundations for the puzzling generalization properties of deep networks remain open research questions, and we encourage the theoretically-oriented reader to dig deeper into the topic. For now, we turn to the investigation of practical tools that tend to empirically improve the generalization of deep nets.

## 4.6.2. Robustness through Perturbations¶

Let us think briefly about what we expect from a good predictive model. We want it to peform well on unseen data. Classical generalization theory suggests that to close the gap between train and test performance, we should aim for a simple model. Simplicity can come in the form of a small number of dimensions. We explored this when discussing the monomial basis functions of linear models in Section 4.4. Additionally, as we saw when discussing weight decay ($$L_2$$ regularization) in Section 4.5, the (inverse) norm of the parameters also represents a useful measure of simplicity. Another useful notion of simplicity is smoothness, i.e., that the function should not be sensitive to small changes to its inputs. For instance, when we classify images, we would expect that adding some random noise to the pixels should be mostly harmless.

In 1995, Christopher Bishop formalized this idea when he proved that training with input noise is equivalent to Tikhonov regularization (). This work drew a clear mathematical connection between the requirement that a function be smooth (and thus simple), and the requirement that it be resilient to perturbations in the input.

Then, in 2014, Srivastava et al. () developed a clever idea for how to apply Bishop’s idea to the internal layers of a network, too. Namely, they proposed to inject noise into each layer of the network before calculating the subsequent layer during training. They realized that when training a deep network with many layers, injecting noise enforces smoothness just on the input-output mapping.

Their idea, called dropout, involves injecting noise while computing each internal layer during forward propagation, and it has become a standard technique for training neural networks. The method is called dropout because we literally drop out some neurons during training. Throughout training, on each iteration, standard dropout consists of zeroing out some fraction of the nodes in each layer before calculating the subsequent layer.

To be clear, we are imposing our own narrative with the link to Bishop. The original paper on dropout offers intuition through a surprising analogy to sexual reproduction. The authors argue that neural network overfitting is characterized by a state in which each layer relies on a specifc pattern of activations in the previous layer, calling this condition co-adaptation. Dropout, they claim, breaks up co-adaptation just as sexual reproduction is argued to break up co-adapted genes.

The key challenge then is how to inject this noise. One idea is to inject the noise in an unbiased manner so that the expected value of each layer—while fixing the others—equals to the value it would have taken absent noise.

In Bishop’s work, he added Gaussian noise to the inputs to a linear model. At each training iteration, he added noise sampled from a distribution with mean zero $$\epsilon \sim \mathcal{N}(0,\sigma^2)$$ to the input $$\mathbf{x}$$, yielding a perturbed point $$\mathbf{x}' = \mathbf{x} + \epsilon$$. In expectation, $$E[\mathbf{x}'] = \mathbf{x}$$.

In standard dropout regularization, one debiases each layer by normalizing by the fraction of nodes that were retained (not dropped out). In other words, with dropout probability $$p$$, each intermediate activation $$h$$ is replaced by a random variable $$h'$$ as follows:

(4.6.1)\begin{split}\begin{aligned} h' = \begin{cases} 0 & \text{ with probability } p \\ \frac{h}{1-p} & \text{ otherwise} \end{cases} \end{aligned}\end{split}

By design, the expectation remains unchanged, i.e., $$E[h'] = h$$.

## 4.6.3. Dropout in Practice¶

Recall the MLP with a hidden layer and 5 hidden units in Fig. 4.1.1. When we apply dropout to a hidden layer, zeroing out each hidden unit with probability $$p$$, the result can be viewed as a network containing only a subset of the original neurons. In Fig. 4.6.1, $$h_2$$ and $$h_5$$ are removed. Consequently, the calculation of the outputs no longer depends on $$h_2$$ or $$h_5$$ and their respective gradient also vanishes when performing backpropagation. In this way, the calculation of the output layer cannot be overly dependent on any one element of $$h_1, \ldots, h_5$$.

Fig. 4.6.1 MLP before and after dropout.

Typically, we disable dropout at test time. Given a trained model and a new example, we do not drop out any nodes and thus do not need to normalize. However, there are some exceptions: some researchers use dropout at test time as a heuristic for estimating the uncertainty of neural network predictions: if the predictions agree across many different dropout masks, then we might say that the network is more confident.

## 4.6.4. Implementation from Scratch¶

To implement the dropout function for a single layer, we must draw as many samples from a Bernoulli (binary) random variable as our layer has dimensions, where the random variable takes value $$1$$ (keep) with probability $$1-p$$ and $$0$$ (drop) with probability $$p$$. One easy way to implement this is to first draw samples from the uniform distribution $$U[0, 1]$$. Then we can keep those nodes for which the corresponding sample is greater than $$p$$, dropping the rest.

In the following code, we implement a dropout_layer function that drops out the elements in the tensor input X with probability dropout, rescaling the remainder as described above: dividing the survivors by 1.0-dropout.

from mxnet import autograd, gluon, init, np, npx
from mxnet.gluon import nn
from d2l import mxnet as d2l

npx.set_np()

def dropout_layer(X, dropout):
assert 0 <= dropout <= 1
# In this case, all elements are dropped out
if dropout == 1:
return np.zeros_like(X)
# In this case, all elements are kept
if dropout == 0:
return X
mask = np.random.uniform(0, 1, X.shape) > dropout
return mask.astype(np.float32) * X / (1.0 - dropout)

import torch
from torch import nn
from d2l import torch as d2l

def dropout_layer(X, dropout):
assert 0 <= dropout <= 1
# In this case, all elements are dropped out
if dropout == 1:
# In this case, all elements are kept
if dropout == 0:
return X
return mask * X / (1.0 - dropout)

import tensorflow as tf
from d2l import tensorflow as d2l

def dropout_layer(X, dropout):
assert 0 <= dropout <= 1
# In this case, all elements are dropped out
if dropout == 1:
return tf.zeros_like(X)
# In this case, all elements are kept
if dropout == 0:
return X
shape=tf.shape(X), minval=0, maxval=1) < 1 - dropout
return tf.cast(mask, dtype=tf.float32) * X / (1.0 - dropout)

We can test out the dropout_layer function on a few examples. In the following lines of code, we pass our input X through the dropout operation, with probabilities 0, 0.5, and 1, respectively.

X = np.arange(16).reshape(2, 8)
print(dropout_layer(X, 0))
print(dropout_layer(X, 0.5))
print(dropout_layer(X, 1))

[[ 0.  1.  2.  3.  4.  5.  6.  7.]
[ 8.  9. 10. 11. 12. 13. 14. 15.]]
[[ 0.  2.  4.  6.  8. 10. 12. 14.]
[ 0. 18. 20.  0.  0.  0. 28.  0.]]
[[0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0.]]

X= torch.arange(16, dtype = torch.float32).reshape((2, 8))
print(X)
print(dropout_layer(X, 0.))
print(dropout_layer(X, 0.5))
print(dropout_layer(X, 1.))

tensor([[ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.],
[ 8.,  9., 10., 11., 12., 13., 14., 15.]])
tensor([[ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.],
[ 8.,  9., 10., 11., 12., 13., 14., 15.]])
tensor([[ 0.,  2.,  4.,  0.,  0., 10.,  0., 14.],
[ 0., 18., 20., 22.,  0., 26.,  0.,  0.]])
tensor([[0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0.]])

X = tf.reshape(tf.range(16, dtype=tf.float32), (2, 8))
print(X)
print(dropout_layer(X, 0.))
print(dropout_layer(X, 0.5))
print(dropout_layer(X, 1.))

tf.Tensor(
[[ 0.  1.  2.  3.  4.  5.  6.  7.]
[ 8.  9. 10. 11. 12. 13. 14. 15.]], shape=(2, 8), dtype=float32)
tf.Tensor(
[[ 0.  1.  2.  3.  4.  5.  6.  7.]
[ 8.  9. 10. 11. 12. 13. 14. 15.]], shape=(2, 8), dtype=float32)
tf.Tensor(
[[ 0.  0.  4.  6.  0.  0. 12. 14.]
[16.  0.  0. 22.  0.  0. 28.  0.]], shape=(2, 8), dtype=float32)
tf.Tensor(
[[0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0.]], shape=(2, 8), dtype=float32)

### 4.6.4.1. Defining Model Parameters¶

Again, we work with the Fashion-MNIST dataset introduced in Section 3.5. We define an MLP with two hidden layers containing 256 units each.

num_inputs, num_outputs, num_hiddens1, num_hiddens2 = 784, 10, 256, 256

W1 = np.random.normal(scale=0.01, size=(num_inputs, num_hiddens1))
b1 = np.zeros(num_hiddens1)
W2 = np.random.normal(scale=0.01, size=(num_hiddens1, num_hiddens2))
b2 = np.zeros(num_hiddens2)
W3 = np.random.normal(scale=0.01, size=(num_hiddens2, num_outputs))
b3 = np.zeros(num_outputs)

params = [W1, b1, W2, b2, W3, b3]
for param in params:

num_inputs, num_outputs, num_hiddens1, num_hiddens2 = 784, 10, 256, 256

num_outputs, num_hiddens1, num_hiddens2 = 10, 256, 256

### 4.6.4.2. Defining the Model¶

The model below applies dropout to the output of each hidden layer (following the activation function). We can set dropout probabilities for each layer separately. A common trend is to set a lower dropout probability closer to the input layer. Below we set it to 0.2 and 0.5 for the first and second hidden layers, respectively. We ensure that dropout is only active during training.

dropout1, dropout2 = 0.2, 0.5

def net(X):
X = X.reshape(-1, num_inputs)
H1 = npx.relu(np.dot(X, W1) + b1)
# Use dropout only when training the model
# Add a dropout layer after the first fully connected layer
H1 = dropout_layer(H1, dropout1)
H2 = npx.relu(np.dot(H1, W2) + b2)
# Add a dropout layer after the second fully connected layer
H2 = dropout_layer(H2, dropout2)
return np.dot(H2, W3) + b3

dropout1, dropout2 = 0.2, 0.5

class Net(nn.Module):
def __init__(self, num_inputs, num_outputs, num_hiddens1, num_hiddens2,
is_training = True):
super(Net, self).__init__()
self.num_inputs = num_inputs
self.training = is_training
self.lin1 = nn.Linear(num_inputs, num_hiddens1)
self.lin2 = nn.Linear(num_hiddens1, num_hiddens2)
self.lin3 = nn.Linear(num_hiddens2, num_outputs)
self.relu = nn.ReLU()

def forward(self, X):
H1 = self.relu(self.lin1(X.reshape((-1, self.num_inputs))))
# Use dropout only when training the model
if self.training == True:
# Add a dropout layer after the first fully connected layer
H1 = dropout_layer(H1, dropout1)
H2 = self.relu(self.lin2(H1))
if self.training == True:
# Add a dropout layer after the second fully connected layer
H2 = dropout_layer(H2, dropout2)
out = self.lin3(H2)
return out

net = Net(num_inputs, num_outputs, num_hiddens1, num_hiddens2)

dropout1, dropout2 = 0.2, 0.5

class Net(tf.keras.Model):
def __init__(self, num_outputs, num_hiddens1, num_hiddens2):
super().__init__()
self.input_layer = tf.keras.layers.Flatten()
self.hidden1 = tf.keras.layers.Dense(num_hiddens1, activation='relu')
self.hidden2 = tf.keras.layers.Dense(num_hiddens2, activation='relu')
self.output_layer = tf.keras.layers.Dense(num_outputs)

def call(self, inputs, training=None):
x = self.input_layer(inputs)
x = self.hidden1(x)
if training:
x = dropout_layer(x, dropout1)
x = self.hidden2(x)
if training:
x = dropout_layer(x, dropout2)
x = self.output_layer(x)
return x

net = Net(num_outputs, num_hiddens1, num_hiddens2)

### 4.6.4.3. Training and Testing¶

This is similar to the training and testing of MLPs described previously.

num_epochs, lr, batch_size = 10, 0.5, 256
loss = gluon.loss.SoftmaxCrossEntropyLoss()
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs,
lambda batch_size: d2l.sgd(params, lr, batch_size))

num_epochs, lr, batch_size = 10, 0.5, 256
loss = nn.CrossEntropyLoss(reduction='none')
trainer = torch.optim.SGD(net.parameters(), lr=lr)
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, trainer)

num_epochs, lr, batch_size = 10, 0.5, 256
loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
trainer = tf.keras.optimizers.SGD(learning_rate=lr)
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, trainer)

## 4.6.5. Concise Implementation¶

With high-level APIs, all we need to do is add a Dropout layer after each fully-connected layer, passing in the dropout probability as the only argument to its constructor. During training, the Dropout layer will randomly drop out outputs of the previous layer (or equivalently, the inputs to the subsequent layer) according to the specified dropout probability. When not in training mode, the Dropout layer simply passes the data through during testing.

net = nn.Sequential()
# Add a dropout layer after the first fully connected layer
nn.Dropout(dropout1),
nn.Dense(256, activation="relu"),
# Add a dropout layer after the second fully connected layer
nn.Dropout(dropout2),
nn.Dense(10))
net.initialize(init.Normal(sigma=0.01))

net = nn.Sequential(nn.Flatten(),
nn.Linear(784, 256),
nn.ReLU(),
# Add a dropout layer after the first fully connected layer
nn.Dropout(dropout1),
nn.Linear(256, 256),
nn.ReLU(),
# Add a dropout layer after the second fully connected layer
nn.Dropout(dropout2),
nn.Linear(256, 10))

def init_weights(m):
if type(m) == nn.Linear:
nn.init.normal_(m.weight, std=0.01)

net.apply(init_weights)

Sequential(
(0): Flatten(start_dim=1, end_dim=-1)
(1): Linear(in_features=784, out_features=256, bias=True)
(2): ReLU()
(3): Dropout(p=0.2, inplace=False)
(4): Linear(in_features=256, out_features=256, bias=True)
(5): ReLU()
(6): Dropout(p=0.5, inplace=False)
(7): Linear(in_features=256, out_features=10, bias=True)
)

net = tf.keras.models.Sequential([
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(256, activation=tf.nn.relu),
# Add a dropout layer after the first fully connected layer
tf.keras.layers.Dropout(dropout1),
tf.keras.layers.Dense(256, activation=tf.nn.relu),
# Add a dropout layer after the second fully connected layer
tf.keras.layers.Dropout(dropout2),
tf.keras.layers.Dense(10),
])

Next, we train and test the model.

trainer = gluon.Trainer(net.collect_params(), 'sgd', {'learning_rate': lr})
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, trainer)

trainer = torch.optim.SGD(net.parameters(), lr=lr)
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, trainer)

trainer = tf.keras.optimizers.SGD(learning_rate=lr)
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, trainer)

## 4.6.6. Summary¶

• Beyond controlling the number of dimensions and the size of the weight vector, dropout is yet another tool to avoid overfitting. Often they are used jointly.

• Dropout replaces an activation $$h$$ with a random variable with expected value $$h$$.

• Dropout is only used during training.

## 4.6.7. Exercises¶

1. What happens if you change the dropout probabilities for the first and second layers? In particular, what happens if you switch the ones for both layers? Design an experiment to answer these questions, describe your results quantitatively, and summarize the qualitative takeaways.

2. Increase the number of epochs and compare the results obtained when using dropout with those when not using it.

3. What is the variance of the activations in each hidden layer when dropout is and is not applied? Draw a plot to show how this quantity evolves over time for both models.

4. Why is dropout not typically used at test time?

5. Using the model in this section as an example, compare the effects of using dropout and weight decay. What happens when dropout and weight decay are used at the same time? Are the results additive? Are there diminished returns (or worse)? Do they cancel each other out?

6. What happens if we apply dropout to the individual weights of the weight matrix rather than the activations?

7. Invent another technique for injecting random noise at each layer that is different from the standard dropout technique. Can you develop a method that outperforms dropout on the Fashion-MNIST dataset (for a fixed architecture)?


text:
Date & Time: Monday, March 15, 2010, 16:00-17:00.
Venue: Ramanujan Hall

Title: H-infinity Feedback Boundary Stabilization of 2D Navier-Stokes Equation

Speaker: Sheetal Dharmatti, Institut de Mathematique de Toulouse

Abstract: We study the robust or $H^\infty$ exponential stabilization of the linearized Navier-Stokes equations around an unstable stationary solution in a two dimensional domain $\Omega$. The disturbance is an unknown perturbation in the boundary condition of the fluid flow. We determine a feedback boundary control law, robust with respect to boundary perturbations, by solving a Max-Min linear quadratic control problem. Next we show that this feedback law locally stabilizes the Navier-Stokes system. We do not assume that the normal component of the control is equal to zero. In that case the state equation, satisfied by the velocity field $y$, is decoupled into an evolution equation satisfied by $Py$, where $P$ is the so-called Helmholtz projection operator, and a quasi-stationary elliptic equation satisfied by $(I-P)y$. Using this decomposition we show that the feedback law can be expressed only as a function of $Py$. In the two dimensional case we show that the linear feedback law provides a local exponential stabilization of the Navier-Stokes equations.


text:
Published:

## Summary

• Deep RL has been successful in training visual navigational agents conditioned on language for multimodal tasks, e.g. semantic goal navigation and embodied question answering
• Novel Dual-Attention unit to disentangle words and visual concepts
• Success in 3D games such as Doom and DeepmindLab, causing increased interset in training embodied agents, which interact with a 3D environment
• Interseted in specifying goals via language, versus say images or coordinates
• Natural medium for humans to communicate with autonomous agents
• Multimodal tasks require perception from raw pixels, grounding of words to visual attributes, reasoning, navigation, and question answering
• Multitask approach allows for knowledge to be shared across tasks and increases sample efficiency
• Most previous work focuses on single tasks or simpler environments, 2D or static.

## Background and Methods

• Consider autonomous agent interacting in episodic environment
• State $s_t=(I_t, T)$ at each time step $t$, $I_t$ is egocentric view
• Takes action a_t
• Learn policy $\pi(a_t \vert s_t)$ to complete task
• Focus on two visually-grounded language navigation tasks ** Embodied Question Answering: Given a question, gather information from 3D environment to find answer ** Semantic Goal Navigation: Given language instruction, navigate to goal location
• ViZDoom-based environment
• Single room with 5 objects, randomized based on textual input
• 4 actions: forward, left, right, and answer
• Two difficulty settings
• Easy: Agent spawned in fixed location with all objects in FOV
• Hard: Agent and objects spawned randomly
• BoW and sentence representation (GRU) for textual input, CNN for image
• Number of CNN channels equals size of vocabulary V
• Dual-Attention unit combines image and text representations and outputs complete state representation $x_S$ and answer prediction $x_{ans}$
• Gated attention between BoW and image features, then sum over channels and softmax to get spatial attention map
• Spatial attention between image features and spatial attention map
• Gated attention between spatial attention output and sentence features, then spatial summation and softmax for answer
• $x_S, x_{ans}$, time step, and task indicator variable fed to policy to produce action
• Also tried spatial auxiliary task to detect object or attribute in each CNN output channel corresponding to the word

## Results

• +1 reward for reaching correct object or predicting correct answer, -0.001 reward per time step to encourage shorter paths
• Train for 10 million (Easy) or 50 million frames (Hard)
• Baselines
• Image Only
• Text Only
• Concat (Hermmann et al. 2017, Misra et al. 2017): semantic goal navigation
• Gated-Attention (Chaplot et al. 2017): semantic goal navigation
• FiLM (Perez et al. 2017): question answering
• PACMAN (Das et al. 2017): question answering
• Proposed Dual-Attention model outperforms all baselines by a large margin, with and without the auxillary task

## Conclusion

• Model is able to transfer knowledge of words across tasks
• How to deal with large vocabulary

Tags:

Categories:


text:
# Is it "identity function is diffeomorphism" implies the two smooth structures are equal?

I am reading Lee's Introduction to Smooth Manifolds, 2nd edition, and happen to read a sentence in a proof for Proposition 5.2 goes like this:

With this smooth structure on $S$, the map $F$ is a diffeomorphism onto its image, and this is obviously the only smooth structure with this property.

Perhaps I missed something from previous chapters, but this is not obvious to me at first sight. Maybe I would prove the following:

Say $F:M\to N$ is a homeomorphism between two topological manifolds. We endow $M$ with only one smooth structure, and $N$ with two smooth structures $C_1$ and $C_2$, such that $F$ is a diffeomorphism in both cases. We would show that $C_1=C_2$. Due to symmetric footing, it suffices to show $C_1\subseteq C_2$.

Observe $id=F\circ F^{-1}:(S,C_1)\to (S,C_2)$ is a diffeomorphism. To show $C_1\subseteq C_2$, I think this could be stated and proved more generally:

For a diffeomorphism $f:X\to Y$ and any smooth chart $(U,\varphi)$ on $X$, we have that $(f(U),\varphi\circ f^{-1})$ is a smooth chart on $Y$.

Now let $(U,\varphi)$ be a smooth chart on $X$ and $(V,\psi)$ be a smooth chart on $Y$. We are to show $\psi\circ f\circ\varphi^{-1}:\varphi\circ f^{-1}(f(U)\cap V)\to\psi(f(U)\cap V)$ and $\varphi\circ f^{-1}\circ\psi^{-1}:\psi(f(U)\cap V)\to\varphi\circ f^{-1}(f(U)\cap V)$ are smooth as maps between subsets of $\Bbb R^n,\Bbb R^m$, where $f(U)\cap V$ is nonempty for non-triviality.

For a point $p\in f^{-1}(f(U)\cap V)$, by smoothness of $f$, pick a chart $(U_p,\varphi_p)$ containing $p$, a chart $(V_{f(p)},\psi_{f(p)})$ containing $f(p)$, such that $f(U_p)\subseteq V_{f(p)}$, and $\psi_{f(p)}\circ f\circ\varphi_p^{-1}:\varphi_p(U_p)\to\psi_{f(p)}(V_{f(p)})$ is smooth. Impose also that $U_p\subseteq f^{-1}(f(U)\cap V)$; if not, we can use the chart $(U_p\cap f^{-1}(f(U)\cap V),\varphi|_{U_p\cap f^{-1}(f(U)\cap V)})$ in place of $(U_p,\varphi_p)$, which still satisfies the above conditions.

Now observe that the composition of smooth maps $(\psi\circ\psi_{f(p)}^{-1})\circ(\psi_{f(p)}\circ f\circ\varphi_p^{-1})\circ(\varphi_p\circ\varphi^{-1})$ is smooth. Cancellation gives that the composition is smooth on the domain of definition. We are to check that the domain is a neighbourhood of $\varphi(p)$.

To see this, observe the condition $U_p\subseteq f^{-1}(f(U)\cap V)$ gives $U_p\subseteq U$, so that the transition map $\varphi_p\circ\varphi^{-1}$ has domain and codomain $\varphi(U_p)$ and $\varphi_p(U_p)$ respectively; the conditions $U_p\subseteq f^{-1}(f(U)\cap V)$ and $f(U_p)\subseteq V_p$ gives $f(U_p)\subseteq V_{f(p)}\cap V$, so that the map $\psi_{f(p)}\circ f\circ\varphi_p^{-1}$ has range being a subset of $\psi_{f(p)}(V_{f(p)}\cap V)$; the transition map $\psi\circ\psi_{f(p)}^{-1}$ has domain $\psi_{f(p)}(V_{f(p)}\cap V)$. Hence, $(\psi\circ\psi_{f(p)}^{-1})\circ(\psi_{f(p)}\circ f\circ\varphi_p^{-1})\circ(\varphi_p\circ\varphi^{-1})$ is defined on the whole neighbourhood $\varphi(U_p)$ of $\varphi(p)$. Since this function $\psi\circ f\circ\varphi^{-1}$ is locally smooth around each point $\varphi(p)\in\varphi\circ f^{-1}(f(U)\cap V)$, it is smooth on the whole set $\varphi\circ f^{-1}(f(U)\cap V)$.

Smoothness of $\varphi\circ f^{-1}\circ\psi^{-1}$ is proved similarly: for each point $p'\in f(U)\cap V$, choose a chart $(V_{p'},\psi_{p'})$ containing $p'$, a chart $(U_{f^{-1}(p')},\varphi_{f^{-1}(p')})$ containing $f^{-1}(p')$, such that $f^{-1}(V_{p'})\subseteq U_{f^{-1}(p')}$, and $\varphi_{f^{-1}(p')}\circ f^{-1}\circ\psi_{p'}^{-1}$ is smooth. Impose $V_{p'}\subseteq f(U)\cap V$. We can then prove $\varphi\circ f^{-1}\circ\psi^{-1}$ is locally smooth around $\psi(p')$ by the same arguments as above.

Is the above proof correct? Is there a shorter proof for the above claim? Or is this proved in the book but I overlooked?

Edit: I will include the whole statement of Proposition 5.2 here.

Suppose $M$ is a smooth manifold with or without boundary, $N$ is a smooth manifold, and $F:N\to M$ is a smooth embedding. Let $S=F(N)$. With the subspace topology, $S$ is a topological manifold, and it has a unique smooth structure making it into an embedded submanifold of $M$ with the property that $F$ is a diffeomorphism onto its image.

• It seems like you may be establishing that there is only one smooth structure in a diffeomorphism class on a manifold, which is, I believe, false. .. btw is there any more info on $F$ and $S$ in your example
– user403337
Aug 21, 2017 at 7:17
• @ChrisCuster $F$ is simply required to be a fixed diffeomorphism.
– edm
Aug 21, 2017 at 7:20
• What about $S$?
– user403337
Aug 21, 2017 at 7:30
• @ChrisCuster do you mean the $S$ from the book?
– edm
Aug 21, 2017 at 7:31
• yeah. Is it an arbitrary smooth manifold; or anything more specific?
– user403337
Aug 21, 2017 at 7:34

Here is a possible reason why it could be okay to call it 'obvious'. It is a straight forward combination of three basic observations. Let me use the provisory definition that a topological chart on a topological space $X$ is a pair $(U,\varphi)$ of an open subset $U\subset X$ and a homeomorphism $\varphi\colon U\to U'$ onto any open subset $U'$ of some $\mathbb{R}^n$.

1. Let $U,V,W$ be smooth manifolds. If $f\colon U\to V$ is a diffeomorphism, then a map $g\colon V\to W$ is a diffeomorphism if and only if $g\circ f\colon U\to W$ is a diffeomorphism.

2. The maximal atlas of a smooth manifold $X$ is the set of topological charts $(U,\varphi)$ on $X$ where $\varphi\colon U\to U'$ is a diffeomorphism. (Note that this is somehow recursive since we're taking $U$ with the differentiable structure naturally inherited from $X$; this is exactly the trick here.)

3. Let $f\colon X\to Y$ be a homeomorphism between topological manifolds. For each topological chart $(U,\varphi)$ on $X$ we get a topological chart $f_*(U,\varphi):=(f(U),\varphi\circ f^{-1}|_{f(U)})$ on $Y$ and each topological chart on $Y$ is of this form since the process can be inverted by mapping a topological chart on $Y$, $(V,\psi)$, to the topological chart $f^*(V,\psi) := (f^{-1}(V),\psi\circ f|_{f^{-1}(V)})$ on $X$.

In combination, we see that if $f\colon X\to Y$ is a diffeomorphism, then we can recover the maximal atlas $A_Y$ (hence, the smooth structure) of $Y$ from the maximal atlas $A_X$ of $X$ as follows. A topological chart $(V,\psi)$ on $Y$ is actually a chart, i.e., $(V,\psi)\in A_Y$, if and only if $\psi$ is a diffeomorphism; but this is the case if and only if $\psi\circ f|_{f^{-1}V}$ is a diffeomorphism and this in fact precisely means $f^*(V,\psi)\in A_X$. Thus, we get a pair of inverse bijections $f_*\colon A_X\to A_Y$ and $f^*\colon A_Y\to A_X$. In particular, the smooth structure on $Y$, that is, $A_Y =\{f_*(U,\varphi)\mid(U,\varphi)\in A_X\}$, is uniquely determined by $(X,A_X)$ and $f$.

The embedded submanifold $S$ inherits a unique smooth structure from the manifold $M$. With this structure the inclusion $\mathcal i:S \to M$ is an embedding. Note, however, there certainly can be more than one atlas defining this structure. These atlases are called compatible...

It's clear that if we took a different smooth structure, that is, one defined by atlases not smoothly equivalent to the above, $F$ would not be a diffeomorphism anymore. ..

So, say $\phi_\alpha \circ \psi_\beta^{-1}$ isn't a diffeomorphism .. then $F\circ \psi_\beta^{-1}$ isn't either. .. because, say $g=F\circ \psi_\beta^{-1}$ is a diffeomorphism. .. then $\phi_\alpha \circ F^{-1}\circ g=\phi_\alpha \circ \psi_\beta^{-1}$ would be a diffeomorphism. ..

And I now think you're right, he didn't mean up to diffeomorphism. Incompatible maps can define diffeomorphic smooth structures, as in @Ben's example. .. ($(\mathbb R, id)$ and $(\mathbb R, x\to x^3)$)

• I am aware that the uniqueness of smooth structure is under the assumption that $F$ has to be a diffeomorphism. What is not obvious is the statement "all smooth structures on the image $F(S)$ that make $F$ a diffeomorphism must be equal to each other".
– edm
Aug 8, 2017 at 5:03
• I don't think the author means "up to diffeomorphism". He wants to make a fixed mapping $F$ to be a diffeomorphism.
– edm
Aug 21, 2017 at 7:32
• I'm aware of the function $F$. I meant diffeomorphic atlases (smooth structures), which would make $F$ a diffeomorphism. ..
– user403337
Aug 21, 2017 at 9:41
• An easy example for the claim that there can be incompatible but diffeomorphic atlases: Take $\mathbb{R}$ once with the most obvious chart $(\mathbb{R},\mathrm{id})$ and once with the chart $(\mathbb{R},\varphi)$ where $\varphi\colon\mathbb{R}\to \mathbb{R}$ is the map $x\mapsto x^3$. The two charts are incompatible but there is still a diffeomorphism between them, namely, $\varphi\colon (\mathbb{R},\varphi)\to (\mathbb{R},\mathrm{id})$.
– Ben
Aug 21, 2017 at 10:16
• @Ben This is getting further and further away from what I am asking... To respond to ChrisCuster's addendum, I don't think I want to use results that comes from latter pages because the author does not seem to postpone the proof as he writes "...is obviously the only smooth structure...".
– edm
Aug 21, 2017 at 10:51


text:
# Is silver carbonate soluble?

Mar 3, 2017

No.

#### Explanation:

Silver carbonate, ${\text{Ag"_2"CO}}_{3}$, is considered insoluble in water because you can only dissolve a very, very small amount of this salt in $\text{1 L}$ of water at room temperature.

According to Wikipedia, silver carbonate has a solubility of ${\text{0.032 g L}}^{- 1}$ at ${25}^{\circ} \text{C}$.

https://en.wikipedia.org/wiki/Silver_carbonate

This means that at ${25}^{\circ} \text{C}$, you can only hope to dissolve $\text{0.032 g}$ of silver carbonate in $\text{1 L}$ of water. In other words, at ${25}^{\circ} \text{C}$, a saturated solution of silver carbonate will contain $\text{0.032 g}$ of dissolved salt for every $\text{1 L}$ of water.

As a general rule, carbonates are only soluble if they contain alkali metal cations, i.e. cations of group 1 metal, or the ammonium cation, ${\text{NH}}_{4}^{+}$.