text:
## Tuesday, March 26, 2019

### Python and pathlib and Windows -- this problem has been solved -- and yet...

I tell everyone to stop using os.path and use pathlib. Everyone. Here's the link: https://docs.python.org/3/library/pathlib.html

It's essential to realize the semantic richness of OS filesystem paths. They're not simply strings. They have a string representation, but there's quite a bit going on there that is not captured trivially by strings and string parsing.  "path/basename.extension" is more than just slashes and dots.

Windows users, of course, have a nightmarish problem. Actually many nightmarish problems, one of which is pathnames.

I tell Windows developers to use pathlib, it will make their life somewhat more bearable.

And Yet. The Passive-Aggressive Programmer insists on using Windows as if it doesn't have a problem with \ in path strings.

Line 110 has a literal r"C:\windows\is\xtreme\evil" Note the \x in the path. Without the r"" string, this literal raises a SyntaxError.

Line 50 had subprocess.run(r"C:\path\to\xectuable -option" + " " + options + " " + filename). Note the r"" string. Note the Linux-style -option, too. They're wrapping an open source app in a Python shell.

You're with me so far? They're Windows devs. They've managed to use raw strings in two places. Right?

But. They're Passive-Aggressive. They don't like PR comments of any kind. They'll "agree" to a change, but then... This...

Line 50 should change. It's needs to use a list.

The Passive Aggressive Programmer can't make a list work.

list_of_arguments = ["C:\path\to\xectuable -option"] + options_list + ["C:\windows\is\xtreme\evil"]

See what they did there? They didn't want to change from string to list. (We had to go over it more than once.) They wanted to leave it alone. Grudgingly, they agreed to change from string to list.

But.

SyntaxError. See? The list just doesn't work. Python is weird. It's an undocumented WAT.

[Yes, some of us know the r's vanished. They author couldn't figure that out, though.]

And the pathlib suggestion?

Since the strings are now a SyntaxError, they need me to fix that for them. I made them change to a list, therefore, I caused the SyntaxError. It would be a distraction to spend tome researching pathlib. "I need to Google and think about how to handle the Unicode error" was the response.

Using Path("C:/path/to/xecutable") to avoid any Window-ism of any kind is an impossible burden. Impossible. It requires them to Google. Instead, the SyntxError is all my fault.

The previous examples of the use of raw strings?  Don't know why they're not helpful, but I'm not the one who's struggling to implement a change.

## Tuesday, March 19, 2019

### Don't Solve My Problem.

Two and a half examples of "Don't solve the problem I described. Provide the implementation I dream about."

## Can't Use Enums for Constants

I was asked to see this because sometimes there's just too much abstraction https://stackoverflow.com/questions/2668355/how-much-abstraction-is-too-much

The question objects to abstract superclasses without much (or any) actual implementation.  I've seen folks toy around with frameworks where there are classes that introduce a name, but little else. So I understand the complaint. I once tried to use Python classes as surrogates for Java interfaces. It was a bad idea. And irrelevant to solving the underlying problem.

The problem that lead to the "yet another abstraction" complaint, however, was not related to a design with empty layers of framework abstractions. It was not related to classes used to define an interface-like feature in Python. It wasn't related to *anything* in the Stack Overflow question or answer.

The "yet another abstraction" complaint was based on Python not having constants. Seriously. How did we get here? Right. They don't want a solution. They want to complain.

I lift this situation up to folks who are trapped in conversations where things devolve into bizarro-world like "Yet Another Abstraction is bad" when we're not talking about abstractions. The solution is simple, but, it's not what they wanted so, it's labeled as bad in some way.

The solution is bad because it's unexpected. Consequently peripheral, tangential, weird-ass nonsense will show up in trying to avoid an unexpected solution.

## Can't Assign Numbers

There's an API to load some data.  They have 100's of clients happily loading data. In some cases, the clients must assign numbers in addition to names; it's a disambiguation thing. Most of the time, the name is good. In a few cases, (name, number) is a two-part key because they have multiple instances with the same name.

We're good here. The data structure's key can be (name, number) and the default number is zero. Works for almost everyone.

Almost everyone. Exception they have one client who cannot count or enumerate their data.

Really.

The client can't even pre-process the data to add numbers because reasons.

The stated reason is "the data originates off-line and the numbers might be inconsistent." The key needs a number. It doesn't need to consistent. The point is asking the client to own the identity -- a name and a number.

The solution seemed easy. Assign a number. If your data comes from a spread-sheet, use the row number. The =row() function works. Use that.  If your data doesn't come from a spread-sheet write a tiny utility to laminate a number into the data. This doesn't seem hard. And then the client owns the object identity.

Nope.

Can't do it. The web service will have to assign the number for them.

It's not a difficult feature to add. It's a complicated, stateful default value. This will turn into trouble tickets in the future when the numbers are unacceptable because they change with each load or something even more obscure than that.

## Can't Fork a Repo

This isn't recent, and I may not have the details right. But.

The team had evolved an approach where they had several different pieces of software spread among multiple branches in a single Git repository.

This was weird. And they were -- of course -- about to start having CI/CD problems as they moved away from manual builds into a world of git commit hooks and relatively fixed CI/CD pipelines.

And they were really unhappy. They liked having multiple branches in a single repo. The idea of forking this into separate repos was unacceptable. Unworkable. Breaks everything. (Breaks everything they had. Everything they needed to replace. Or so they claimed.)

They had some vision of having the CI/CD jobs all reworked to move beyond the common dev/master world into their uniquely odd world of lots of parallel branches, each it's own private "master". But all in one repo.

They seemed to have locked into a strange world view, and weren't happy discarding it. The circular discussions of how multiple repos would break something something in their something was more examples of tangential, irrelevant discussion to cloak empty whining.

## tl;dr

I think there are people who don't really want a "solution." They want something else.

There are people who have a vision: How Things Should Be (HTSB™,) They seem to be utterly unwilling to consider something that is not literally their (narrow) vision of HTSB.

It's very much as "Don't confuse me with facts, my mind is made up" situation. It's exasperating to me because of the irrelevant side-channel discussions they use to avoid confronting (or even stating) the actual problem.

## Tuesday, March 12, 2019

### Python's multi-threading and the GIL

Got this in an email.
"Python's multi-threading module seems not efficient because of the global interpreter lock?"
Yep.
Is the trick is to use "Thread-Local Data"?
Nope.

## It Gets Worse

Interestingly, there was no further ask. The questioner had decided on thread-local data because the questioner had decided to focus on threads. And they were done making choices at that point.

Sigh.

No question on "What was recommended?" or "What's a common solution?" or "What is Dask?" Nothing other than "confirm my assumptions."

This is swirling around a bunch of emails on trying to determine the maximum number of concurrent threads or processes based on the number of cores or CPU's or something.

Maximum.

I'll repeat that for those who skim.

They think there's a maximum number of concurrent threads or processes.

If you have some computation which (1) makes zero OS requests and (2) is never interrupted, I can imagine you'd like to have all of the cores fully committed to executing that theoretical stream of instructions. You might even be able to split that theoretical workload up based on the number of cores.

Practically, however, that stream of uninterrupted computing rarely exists.

Maybe. Maybe you've got some basin-hopping or gradient-following or random forest ML algorithm which is going to do a burst of computation on an in-memory data structure. In that (rare) case, Dask is still ideal for exploiting all of the cores on your processor.

The upper-bound idea bugs me a lot.

• Any OS request leads to a context switch. Any context switch leads to waiting. Any waiting means you can have more threads than you have cores.
• AFAIK, any memory write outside the local cache will lead to a stall in the pipeline. Another thread can (and should) leap in to the core's processing stream. The only way you can create the "all-computing" sequence of instructions bounded by the number of cores is to *also* be sure the entire thing fits in cache. Hahahaha.

What's the maximum number of threads or processes? It depends on the wait times. It depends on memory writes. It depends on the size of the data structure, the size of cache, and the size of the instruction stream.

Because it depends on a lot of things, it's rather difficult to predict. And that makes it rather difficult to determine a maximum.

Replying about the uselessness of trying to establish a maximum, of course, does nothing. AFAIK, they're still assiduously trying to use os.cpu_count() and os.sched_getaffinity() to put an upper bound on the size of a thread pool.

Acting as if Dask doesn't exist.

## Solution

Or

Use a multiprocessing pool.

These are simple things. They don't require a lot of hand-wringing over the GIL and Thread Local Data. They're built. They work. They're simple and effective solutions.

## Side-bar Nonsense

From "a really smart guy. He got his PhD in quantum mechanics and he got major money to actually go build … . He initially worked for ... and now he is working for .... So, when he says something or asks a question, I listen very carefully."
The laudatory blah-blah-blah doesn't really change the argument. It can be omitted. It is an "Appeal to Authority" fallacy, and the Highest Paid Person's Opinion (HIPPO) organizational pattern. Spare me.

Indeed. Asking for my confirmation of using Thread-Local Data to avoid the GIL is -- effectively -- yet another Appeal to Authority. Don't ask me if you have a good idea. An appeal to me as an authority is exactly as bad as appeal to some other authority to convince me you've found a corner case that no one has ever seen before.

Worse is to ask me and then blah-blah-blah Steve Lott says blah-blah-blah. Please don't.

I can be (and often am) wrong.

Write your code. Measure your code's performance. Tell me your results. Explore *all* the alternatives while you're at it.

## Tuesday, March 5, 2019

### Python exceptions considered an anti-pattern

https://sobolevn.me/2019/02/python-exceptions-considered-an-antipattern

While eloquent and thorough, I remain unconvinced that this is a significant improvement over try/except.

It's common enough in some functional languages to have strong support and a long, successful history.

I think it replaces one problem with another. It's not a "solution". It's an alternative. Instead of exceptions being raised, they're returned. Cool.


text:
# Find the derivative of the functions by using the Quotient Rule. Simplify your answer. 1. f(x)=(x+1)/(x-1) 2. f(x)=(x^2-3x+4)/(x+2) 3. (sqrt(x)-6)/(sqrt(x)+6)

Find the derivative of the functions by using the Quotient Rule. Simplify your answer.
1.$f\left(x\right)=\frac{x+1}{x-1}$
2. $f\left(x\right)=\frac{{x}^{2}-3x+4}{x+2}$
3. $\frac{\sqrt{x}-6}{\sqrt{x}+6}$
You can still ask an expert for help

• Questions are typically answered in as fast as 30 minutes

Solve your problem for the price of one coffee

• Math expert for every subject
• Pay only if we can solve it

phravincegrln2
1. $f\left(x\right)=\frac{x+1}{x-1}$
Using the Quotient rule
${f}^{\prime }\left(x\right)=\left(x-1\right)\frac{d}{dx}\frac{\left(x+1\right)-\left(x+1\right)\frac{d}{dx}\left(x-1\right)}{\left(x-1{\right)}^{2}}\phantom{\rule{0ex}{0ex}}=\frac{\left(x-1\right)-x-1}{\left(x-1{\right)}^{2}}\phantom{\rule{0ex}{0ex}}{f}^{\prime }\left(x\right)=\frac{-2}{\left(x-1{\right)}^{2}}$
2. $f\left(x\right)=\frac{{x}^{2}-3x+4}{x+2}\phantom{\rule{0ex}{0ex}}{f}^{\prime }\left(x\right)=\frac{\left(x+2\right)\frac{d}{dx}\left({x}^{2}-3x+4\right)-\left({x}^{2}-3x+4\right)\frac{d}{dx}\left(x+2\right)}{\left(x+2{\right)}^{2}}\phantom{\rule{0ex}{0ex}}{f}^{\prime }\left(x\right)=\frac{\left(x+2\right)\left(2x-3\right)-\left({x}^{2}-3x+4\right)}{\left(x+2{\right)}^{2}}\phantom{\rule{0ex}{0ex}}{f}^{\prime }\left(x\right)=\frac{2{x}^{2}-3x+4x-6-{x}^{2}+3x-4}{\left(x+2{\right)}^{2}}\phantom{\rule{0ex}{0ex}}{f}^{\prime }\left(x\right)=\frac{{x}^{2}+4x-10}{\left(x+2{\right)}^{2}}$
3. $\frac{\sqrt{x}-6}{\sqrt{x}+6}\phantom{\rule{0ex}{0ex}}\frac{d}{dx}\left[\frac{\sqrt{x}-6}{\sqrt{x}+6}\right]=\frac{\left(\sqrt{x}+6\right)\frac{d}{dx}\left(\sqrt{x}-6\right)-\left(\sqrt{x}-6\right)\frac{d}{dx}\left(\sqrt{x}+6\right)}{\left(\sqrt{x}+6{\right)}^{2}}\phantom{\rule{0ex}{0ex}}\frac{\left(\sqrt{x}+6\right)\frac{1}{\sqrt[2]{x}}-\left(\sqrt{x}-6\right)\frac{1}{\sqrt[2]{x}}}{\left(\sqrt{x}+6{\right)}^{2}}\phantom{\rule{0ex}{0ex}}=\frac{6}{\sqrt{x}\left(\sqrt{x}+6{\right)}^{2}}$

format: plain


text:
過去の記録

統計数学セミナー

15:00-16:10   数理科学研究科棟(駒場) 002号室
Stefano Maria Iacus 氏 (Universita degli Studi di Milano, Italy)
Divergences Test Statistics for Discretely Observed Diffusion Processes
[ 講演概要 ]
In this paper we propose the use of $\\phi$-divergences as test statistics to verify simple hypotheses about a one-dimensional parametric diffusion process dXt = b(Xt, theta)dt + sigma(Xt, theta) dWt, from discrete observations at times ti = i*Dn, i=0, 1, ..., n, under the asymptotic scheme Dn - 0, n*Dn - +oo and n*Dn^2 - 0. The class of phi-divergences is wide and includes several special members like Kullback-Leibler, Renyi, power and alpha-divergences. We derive the asymptotic distribution of the test statistics based on phi- divergences. The limiting law takes different forms depending on the regularity of phi. These convergence differ from the classical results for independent and identically distributed random variables. Numerical analysis is used to show the small sample properties of the test statistics in terms of estimated level and power of the test.

joint work with A. De Gregorio
[ 講演参考URL ]
https://www.ms.u-tokyo.ac.jp/~kengok/statseminar/2008/10.html

統計数学セミナー

16:20-17:30   数理科学研究科棟(駒場) 002号室
Nicolas Privault 氏 (City University of Hong Kong)
Stein estimation of Poisson process intensities
[ 講演概要 ]
In this talk we will construct superefficient estimators of Stein type for the intensity parameter lambda > 0 of a Poisson process, using integration by parts and superharmonic functionals on the Poisson space.
[ 講演参考URL ]
https://www.ms.u-tokyo.ac.jp/~kengok/statseminar/2008/11.html

2008年12月12日(金)

GCOE社会数理講演シリーズ

16:20-17:50   数理科学研究科棟(駒場) 128号室

ガスタービン翼の伝熱について

2008年12月11日(木)

作用素環セミナー

16:30-18:00   数理科学研究科棟(駒場) 128号室

Certain aperiodic automorphisms of unital simple projectionless $C^*$-algebras

2008年12月10日(水)

東京幾何セミナー

14:45-18:00   数理科学研究科棟(駒場) 122号室

「今後の予定」欄には、東工大で行われるセミナーは表��

Acyclic polarizations and localization of Riemann-Roch numbers
[ 講演概要 ]

Megumi Harada 氏 (McMaster University) 16:30-18:00
The topology of symplectic and hyperkahler quotients
[ 講演概要 ]
Symplectic geometry lies at the crossroads of many exciting areas of research due to its relationship to geometric representation theory, combinatorics, and algebraic geometry, among others. As often happens in mathematics, the presence of symmetry in these geometric structures -- in this context, a Hamiltonian G-action for a Lie group G, i.e. an action with an associated moment map -- turns out to be crucial in the computation of topological invariants, such as the Betti numbers, the cohomology ring, or the K-theory, of symplectic manifolds which arise as Hamiltonian quotients. In the first part of the talk, I will give a bird's-eye, motivating overview of this subject, and in particular will introduce one of the main technical tools of the field, which is the Morse theory associated to the moment map. In the second part, I will give a more detailed account of recent joint work with Graeme Wilkin, which deals with Nakajima quiver varieties, a special case of hyperkahler Hamiltonian quotients. In particular, we develop a Morse theory for the hyperkahler moment map analogous to the case of the moduli space of Higgs bundles. In particular, we show that the Harder-Narasimhan stratification of spaces of representations of quivers coincide with the Morse-theoretic stratification associated to the norm-square of the real moment map. Our approach also provides insight into the topology of specific examples of small-rank quiver varieties, including hyperpolygon spaces and some ADHM quivers.

2008年12月09日(火)

トポロジー火曜セミナー

16:30-18:00   数理科学研究科棟(駒場) 056号室
Tea: 16:00 - 16:30 コモンルーム
Bertrand Deroin 氏 (CNRS, Orsay, Universit\'e Paris-Sud 11)
Tits alternative in $Diff^1(S^1)$
[ 講演概要 ]
The following form of Tits alternative for subgroups of
homeomorphisms of the circle has been proved by Margulis: or the group
preserve a probability measure on the circle, or it contains a free
subgroup on two generators. We will prove that if the group acts by diffeomorphisms of
class $C^1$ and does not preserve a probability measure on the circle, then
in fact it contains a subgroup topologically conjugated to a Schottky group.
This is a joint work with V. Kleptsyn and A. Navas.

2008年12月08日(月)

複素解析幾何セミナー

10:30-12:00   数理科学研究科棟(駒場) 128号室

Critically finite holomorphic maps on projective spaces

2008年12月05日(金)

GCOE社会数理講演シリーズ

16:20-17:50   数理科学研究科棟(駒場) 128号室

2008年12月04日(木)

作用素環セミナー

16:30-18:00   数理科学研究科棟(駒場) 128号室

カッツ環の作用の分類

Lie群論・表現論セミナー

17:00-18:00   数理科学研究科棟(駒場) 056号室
いつもと開始時刻および場所が違いますのでご注意ください
Genkai Zhang 氏 (Chalmers and Gothenburg University)
Realization of quanternionic discrete series as spaces of H-holomorphic
functions
[ 講演参考URL ]
https://www.ms.u-tokyo.ac.jp/~toshi/seminar/ut-seminar.html

2008年12月03日(水)

数理ファイナンスセミナー

17:30-19:00   数理科学研究科棟(駒場) 122号室
Freddy Delaben 氏 (ETH)
The structure of dynamic utility functions in a Brownian Filtration

[ 講演概要 ]
The penalty function for monetary dynamic utility functions
has a special form. They can be seen as potentials. In the Brownian Filtration Rao's theorem permits to give a complete description.

代数学コロキウム

16:30-17:30   数理科学研究科棟(駒場) 056号室

Mean-periodicity and analytic properties of zeta-functions
[ 講演概要 ]
Mean-periodicityというのは周期性の概念のひとつの一般化である。最近、I. Fesenko, G. Ricottaとの共同研究により、数論的スキームのゼータ関数を含むある複素関数のクラスと、mean-periodicityとの関連性が新しく見出された。
これはHecke-Weilによる, 解析接続と関数等式を持つDirichlet級数と保型形式との対応の一つの拡張ともみなせる. この背景には, I. Fesenkoの高次元アデール上のゼータ積分の理論があり、数論的スキームのHasseゼータ関数の解析接続を高次元アデール上の調和解析から導こうというプログラムの一環となっている。
この講演ではそのような背景にも若干触れた上、ゼータ関数の解析的性質とmean-periodicityの関連、特に解析接続と関数等式との関連について解説する。

2008年12月02日(火)

Lie群論・表現論セミナー

17:00-18:00   数理科学研究科棟(駒場) 056号室
トポロジー火曜セミナーと合同で開催します. またいつもと開催時刻および開催場所が違います。

[ 講演概要 ]
The aim of my talk is to reveal an unforeseen link between the classical vanishing theorems of Matsushima and Weil, on the one hand, and rigidity of the Weyl chamber flow, a dynamical system arising from a higher-rank noncompact Lie group, on the other.

The connection is established via "transverse extension theorems": Roughly speaking, they claim that a tangential 1- form of the orbit foliation of the Weyl chamber flow that is tangentially closed (and satisfies a certain mild additional condition) can be extended to a closed 1- form on the whole space in a canonical manner. In particular, infinitesimal rigidity of the orbit foliation of the Weyl chamber flow is proved as an application.
[ 講演参考URL ]
https://www.ms.u-tokyo.ac.jp/~toshi/seminar/ut-seminar.html

トポロジー火曜セミナー

17:00-18:00   数理科学研究科棟(駒場) 056号室
Tea: 16:40 - 17:00 コモンルーム (Lie群論・表現論セミナーと合同で開催)

Vanishing and Rigidity
[ 講演概要 ]
The aim of my talk is to reveal an unforeseen link between
the classical vanishing theorems of Matsushima and Weil, on the one hand,
andrigidity of the Weyl chamber flow, a dynamical system arising from a higher-rank
noncompact Lie group, on the other. The connection is established via
"transverse extension theorems": Roughly speaking, they claim that a tangential 1- form of the
orbit foliation of the Weyl chamber flow that is tangentially closed
(and satisfies a certain mild additional condition) can be extended to a closed 1- form on the
whole space in a canonical manner. In particular, infinitesimal
rigidity of the orbit foliation of the Weyl chamber flow is proved as an application.

2008年12月01日(月)

複素解析幾何セミナー

10:30-12:00   数理科学研究科棟(駒場) 128号室

Kavli IPMU Komaba Seminar

17:00-18:30   数理科学研究科棟(駒場) 002号室
Kentaro Hori 氏 (University of Toronto / IPMU)
A pair of non-birational but derived equivalent Calabi-Yau
manifolds from non-Abelian gauge theories
[ 講演概要 ]
We construct a family of (2,2) supersymmetric gauge theories
in 2-dimensions that flows to a family of (2,2) superconformal fields theories with \\hat{c}=3. The family has two limits and three singular points. The two limits correspond to two Calabi-Yau manifolds which are not birationally equivalent. The two are, however, derived equivalent
by general principle of supersymmetric quantum field theory.

2008年11月28日(金)

GCOE社会数理講演シリーズ

16:20-17:50   数理科学研究科棟(駒場) 128号室

談話会・数理科学講演会

16:30-17:30   数理科学研究科棟(駒場) 123号室
お茶&Coffee&お菓子: 16:00～16:30 (コモンルーム)

[ 講演概要 ]

[ 講演参考URL ]
[開催日にご注意下さい]

GCOEレクチャーズ

14:40-16:10   数理科学研究科棟(駒場) 002号室
Andrei Pajitnov 氏 (Univ. de Nantes)
Circle-valued Morse theory
, Lecture 2

2008年11月26日(水)

代数幾何学セミナー

16:30-18:00   数理科学研究科棟(駒場) 122号室
Piotr Pragacz
(Banach Institute)
Diagonal subschemes and vector bundles

GCOEレクチャーズ

14:40-16:10   数理科学研究科棟(駒場) 002号室
Andrei Pajitnov 氏 (Univ. de Nantes)
Circle-valued Morse theory, Lecture 1
[ 講演概要 ]
Morse theory of circle-valued functions, initiated by S. P. Novikov in 1980-1982 is now a rapidly developing domain with applications and connections to many other fields of geometry and topology such as dynamical systems, Lagrangian intersections,
knots and links in three-dimensional sphere.

We will start with the basics of the theory, discuss the construction of the Novikov complex, relations with the dynamical zeta functions, and the knot theory. We will conclude with a list of the open problems of the theory.

代数学コロキウム

16:30-17:30   数理科学研究科棟(駒場) 056号室

Lang's Observation in Diophantine Problems
[ 講演概要 ]
In 1964, Serge Lang suggested the following problem, which reads now as follows:
Let $E$ be an elliptic curve defined over a number field $K$, and $\\varphi$ be a rational function on $E$. Then, for every point $P\\in E(K)$ where $\\varphi$ does not vanish at $P$, the logarithms of a norm of $\\varphi(P)$ is at worst linear in the logarithms of the Neron-Tate height of the point $P$.
We give a simultaneous Diophantine approximation for linear forms in elliptic logarithms which actually implies this conjecture. We also present Lang's observations in Diophantine problems.

2008年11月25日(火)

解析学火曜セミナー

16:30-18:00   数理科学研究科棟(駒場) 128号室
Ovidiu Calin 氏 (Eastern Michigan University)
Heat kernels for subelliptic operators
[ 講演概要 ]
Subelliptic operators are differential operators with missing
directions. Their behavior is very different than the behavior or
elliptic operators. Among the most well known subelliptic operators
are the Grusin operator, the Heisenberg operator, and the Kolmogorov
operator. There are several methods of finding the heat kernels of
subelliptic operators. The heat kernels of subelliptic operators are
usually represented in integral form, but in the case of the
Kolmogorov operator we shall show that the heat kernel is of function
type. We shall spend some time on other subelliptic operators too.

代数幾何学セミナー

16:30-18:00   数理科学研究科棟(駒場) 118号室
Xavier Roulleau 氏 (東大)
Cotangent maps of surfaces of general type
[ 講演概要 ]
Surfaces are usualy studied and classified via the properties of the pluricanonical maps. For surfaces of general type whose cotangent sheaf is generated by global sections, we propose to study an other map, called the cotangent map, in order to obtain geometric informations on the surface. In this way, we obtain informations on the ampleness of the cotangent sheaf of such a surface. We will illustate this talk with the example of the Fano surface of lines of cubic threefolds.

Lie群論・表現論セミナー

16:30-18:00   数理科学研究科棟(駒場) 126号室

$\\mathbb R^n$への$\\mathbb R^2$の固有な作用と周期性
[ 講演概要 ]
Consider $\\R^2$ actions on $\\R^n$ which is free, affine and unipotent. Our concern here is to answer the following question:

"Does the quotient topology admits a manifold structure?"

Under some weak assumption, we classify all actions up to conjugate, and give a complete answer to the question.

If Lipsman's conjecture were true, all of the answer should be affirmative.

But, we shall find a unique action which gives a negative answer for each $n\\geq 5$. And, we also find a periodicity on such counterexamples.

As a key lemma, we use "proper analogue" of the five lemma on
exact sequence.
[ 講演参考URL ]
https://www.ms.u-tokyo.ac.jp/~toshi/seminar/ut-seminar.html


text:
# Diffuse IAM Calculation¶

Integrating an IAM model across angles to determine the overall reflection loss for diffuse irradiance.

The fraction of light reflected from the front of a module depends on the angle of incidence (AOI) of the light compared to the panel surface. The greater the AOI, the larger the reflected fraction is. The incident angle modifier (IAM) is defined as the ratio of light transmitted at the given AOI to transmitted light at normal incidence. Several models exist to calculate the IAM for a given incidence angle (e.g. pvlib.iam.ashrae(), pvlib.iam.martin_ruiz(), pvlib.iam.sapm(), pvlib.iam.physical()). However, evaluating the IAM for diffuse light is not as straightforward because it comes from all directions and therefore has a range of angles of incidence. Here we show how to integrate the effect of AOI reflection across this AOI range using the process described in 1. In particular, we will recreate Figures 3, 4, and 5 in that paper.

## References¶

1(1,2,3,4,5,6)

B. Marion “Numerical method for angle-of-incidence correction factors for diffuse radiation incident photovoltaic modules”, Solar Energy, Volume 147, Pages 344-348. 2017. DOI: 10.1016/j.solener.2017.03.027

2

Duffie, John A. & Beckman, William A. (2013). Solar Engineering of Thermal Processes. DOI: 10.1002/9781118671603

from pvlib.iam import marion_diffuse, physical
import numpy as np
import matplotlib.pyplot as plt

## IAM Model¶

The IAM model used to generate the figures in 1 uses Snell’s, Fresnel’s, and Beer’s laws to determine the fraction of light transmitted through the air-glass interface as a function of AOI. The function pvlib.iam.physical() implements this model, except it also includes an exponential term to model attenuation in the glazing layer. To be faithful to Marion’s implementation, we will disable this extinction term by setting the attenuation coefficient K parameter to zero. For more details on this IAM model, see 2.

Marion generated diffuse irradiance modifiers for two cases: a standard uncoated glass with index of refraction n=1.526 and a glass with anti-reflective (AR) coating with n=1.3. Comparing the IAM model across AOI recreates Figure 3 in 1:

aoi = np.arange(0, 91)
iam_no_coating = physical(aoi, n=1.526, K=0)
iam_ar_coating = physical(aoi, n=1.3, K=0)

plt.plot(aoi, iam_ar_coating, c='b', label='$F_b$, AR coated, n=1.3')
plt.plot(aoi, iam_no_coating, c='r', label='$F_b$, uncoated, n=1.526')
plt.xlabel(r'Angle-of-Incidence, AOI $(\degree)$')
plt.ylabel('Diffuse Incidence Angle Modifier')
plt.legend()
plt.ylim([0, 1.2])
plt.grid()

## Diffuse sky, ground, and horizon IAM¶

Now that we have an AOI model, we use pvlib.iam.marion_diffuse() to integrate it across solid angle and determine diffuse irradiance IAM. Marion defines three types of diffuse irradiance: sky, horizon, and ground-reflected. The diffuse IAM value is evaluated independently for each type.

tilts = np.arange(0, 91, 2.5)

# marion_diffuse calculates all three IAM values (sky, horizon, ground)
iam_no_coating = marion_diffuse('physical', tilts, n=1.526, K=0)
iam_ar_coating = marion_diffuse('physical', tilts, n=1.3, K=0)

First we recreate Figure 4 in 1, showing the dependence of the sky diffuse incidence angle modifier on module tilt.

plt.plot(tilts, iam_ar_coating['sky'], c='b', marker='^',
label='$F_{sky}$, AR coated, n=1.3')
plt.plot(tilts, iam_no_coating['sky'], c='r', marker='x',
label='$F_{sky}$, uncoated, n=1.526')
plt.ylim([0.9, 1.0])
plt.xlabel(r'PV Module Tilt, $\beta (\degree)$')
plt.ylabel('Diffuse Incidence Angle Modifier')
plt.grid()
plt.legend()
plt.show()

Now we recreate Figure 5 in 1, showing the dependence of the diffuse iam values for horizon and ground diffuse irradiance on module tilt. Note that pvlib.iam.marion_diffuse() defaults to using 1800 points for the horizon case (instead of 180 like the others) to match 1.

plt.plot(tilts, iam_ar_coating['horizon'], c='b', marker='^',
label='$F_{hor}$, AR coated, n=1.3')
plt.plot(tilts, iam_no_coating['horizon'], c='r', marker='x',
label='$F_{hor}$, uncoated, n=1.526')
plt.plot(tilts, iam_ar_coating['ground'], c='b', marker='s',
label='$F_{grd}$, AR coated, n=1.3')
plt.plot(tilts, iam_no_coating['ground'], c='r', marker='+',
label='$F_{grd}$, uncoated, n=1.526')
plt.xlabel(r'PV Module Tilt, $\beta (\degree)$')
plt.ylabel('Diffuse Incidence Angle Modifier')
plt.grid()
plt.legend()
plt.show()

Total running time of the script: ( 0 minutes 1.958 seconds)

Gallery generated by Sphinx-Gallery


text:
# Family of functions such that $\int_0^1 f(t) dt =0$ and $\vert f'(x) \vert < x$ is bounded

Let $(f_n)_{n \in \mathbb{N}} \subset C([0,1], \mathbb{R})$ be a sequence of functions such that $\int_0^1 f_n (t) dt =0$ and $\vert f_n'(x) \vert < x$ then there is a subsequence that converge uniformly.

By Arzela-Ascoli theorem all I need to do is to prove that $(f_n)_{n \in \mathbb{N}}$ is uniformly bounded and equicontinuous, I already proved that is equicontinuous but I don't know how to use the hypothesis to prove that is uniformly bounded.

• You can't have $|f'(0)| < |0|=0.$ – zhw. Dec 5 '17 at 20:35

From the mean value theorem for integrals it follows that $f_n(x_n) = \int_0^1 f_n (t) dt = 0$ for some $x_n$.
From $-x \le f_n'(x) \le x$ it follows that $f_n(x) - \frac 12 x^2$ is decreasing, and $f_n(x) + \frac 12 x^2$ is increasing, so that $$\vert f_n(x) - f_n(y) \vert \le \vert \frac 12 x^2 - \frac 12 y^2 \vert$$ for all $x, y \in [0, 1]$.
Combining these facts we get $$\vert f_n(x) \vert \le \vert f_n(x_n) \vert + \vert f_n(x) - f_n(x_n) \vert \le 0 + \vert \frac 12 x^2 - \frac 12 x_n^2 \vert \le \frac 12 \, .$$
• Very minor point, but how do you get equality in the second equation without assuming something like $f' \in L_1[0,1]$? (The result follows from the ordinary MVT, so the integral is not necessary.) – copper.hat Dec 5 '17 at 21:58
If $|f'(x)| \le 1$ on $[0,1]$ and $|f(a)| > 2$ for some $a \in [0,1]$, then $$|f(x)| \ge |f(a)| - \left|\int_a^x f'(t)\; dt \right| > 1$$ Since $f$ is continuous, either $f(x) > 1$ everywhere or $f(x) < -1$ everywhere; in either case it is impossible to have $\int_0^1 f(x)\; dx = 0$.


text:
## anonymous 5 years ago I need a step by step walk through on how to solve w^2-18w^2-2=0. The question ask was is the solutions of w

$w^2-18w^2-2=0$ combine like terms $-17w^2-2 = 0$ $w^2 = \frac{2}{-17}$ $w = -i\sqrt{\frac{2}{17}}$ and $w = i\sqrt{\frac{2}{17}}$


text:
# Multicolumn alignment with “interlocked” cells

I would like to merge some cells horizontally in an "interlocked" manner, but LaTeX does not let me do that when all relevant cells are filled with characters of roughly equal length.

Code:

\documentclass{article}

\begin{document}
\begin{tabular}{|c|c|c|c|c|}
\hline
A & 1 & \multicolumn{2}{c|}{2} \\ \hline
B & \multicolumn{2}{c|}{2} & 1 \\
\hline
\end{tabular}

\end{document}

The problem is that you have some columns with no entries, in which case Tex "optimises the column away".

If you has a row with all cells, the \multicolumn work as expected. If you really want no full rows, you can add a "hidden" row as in the second table.

\documentclass{article}

\begin{document}
\begin{tabular}{|c|c|c|c|c|}
\hline
A & 1 & \multicolumn{2}{c|}{2} & \\ \hline
B & \multicolumn{2}{c|}{2} & 1 & \\
\hline
a&b&c&d&e\\
\hline
\end{tabular}

\bigskip

\begin{tabular}{|c|c|c|c|c|}
\hline
A & 1 & \multicolumn{2}{c|}{2} & \\ \hline
B & \multicolumn{2}{c|}{2} & 1 & \\
\hline
\omit&&&&
\end{tabular}

\end{document}

• Thanks! That is really cool. Is there something that limits how many & symbols you can put after \omit ? – Rethliopuks Apr 18 '17 at 6:16
• @Rethliopuks the \omit only applies to the first cell, normally latex adds a strut there so all the table rows have the same height, adding a row in this form adds a zero-height row, the number of & is just one less than the number of columns as specified in the \begin{tabular} – David Carlisle Apr 18 '17 at 6:58


text:
# Source code for torch.distributions.lkj_cholesky

"""
This closely follows the implementation in NumPyro (https://github.com/pyro-ppl/numpyro).

# Copyright: Contributors to the Pyro project.
"""

import math

import torch
from torch.distributions import constraints, Beta
from torch.distributions.distribution import Distribution

[docs]class LKJCholesky(Distribution):
r"""
LKJ distribution for lower Cholesky factor of correlation matrices.
The distribution is controlled by concentration parameter :math:\eta
to make the probability of the correlation matrix :math:M generated from
a Cholesky factor propotional to :math:\det(M)^{\eta - 1}. Because of that,
when concentration == 1, we have a uniform distribution over Cholesky
factors of correlation matrices. Note that this distribution samples the
Cholesky factor of correlation matrices and not the correlation matrices
themselves and thereby differs slightly from the derivations in [1] for
the LKJCorr distribution. For sampling, this uses the Onion method from
[1] Section 3.

L ~ LKJCholesky(dim, concentration)
X = L @ L' ~ LKJCorr(dim, concentration)

Example::

>>> l = LKJCholesky(3, 0.5)
>>> l.sample()  # l @ l.T is a sample of a correlation 3x3 matrix
tensor([[ 1.0000,  0.0000,  0.0000],
[ 0.3516,  0.9361,  0.0000],
[-0.1899,  0.4748,  0.8593]])

Args:
dimension (dim): dimension of the matrices
concentration (float or Tensor): concentration/shape parameter of the
distribution (often referred to as eta)

**References**

[1] Generating random correlation matrices based on vines and extended onion method,
Daniel Lewandowski, Dorota Kurowicka, Harry Joe.
"""
arg_constraints = {'concentration': constraints.positive}
support = constraints.corr_cholesky

def __init__(self, dim, concentration=1., validate_args=None):
if dim < 2:
raise ValueError(f'Expected dim to be an integer greater than or equal to 2. Found dim={dim}.')
self.dim = dim
batch_shape = self.concentration.size()
event_shape = torch.Size((dim, dim))
# This is used to draw vectorized samples from the beta distribution in Sec. 3.2 of [1].
marginal_conc = self.concentration + 0.5 * (self.dim - 2)
offset = torch.arange(self.dim - 1, dtype=self.concentration.dtype, device=self.concentration.device)
offset = torch.cat([offset.new_zeros((1,)), offset])
beta_conc1 = offset + 0.5
beta_conc0 = marginal_conc.unsqueeze(-1) - 0.5 * offset
self._beta = Beta(beta_conc1, beta_conc0)
super(LKJCholesky, self).__init__(batch_shape, event_shape, validate_args)

[docs]    def expand(self, batch_shape, _instance=None):
new = self._get_checked_instance(LKJCholesky, _instance)
batch_shape = torch.Size(batch_shape)
new.dim = self.dim
new.concentration = self.concentration.expand(batch_shape)
new._beta = self._beta.expand(batch_shape + (self.dim,))
super(LKJCholesky, new).__init__(batch_shape, self.event_shape, validate_args=False)
new._validate_args = self._validate_args
return new

[docs]    def sample(self, sample_shape=torch.Size()):
# This uses the Onion method, but there are a few differences from [1] Sec. 3.2:
# - This vectorizes the for loop and also works for heterogeneous eta.
# - Same algorithm generalizes to n=1.
# - The procedure is simplified since we are sampling the cholesky factor of
#   the correlation matrix instead of the correlation matrix itself. As such,
#   we only need to generate w.
y = self._beta.sample(sample_shape).unsqueeze(-1)
u_normal = torch.randn(self._extended_shape(sample_shape),
dtype=y.dtype,
device=y.device).tril(-1)
u_hypersphere = u_normal / u_normal.norm(dim=-1, keepdim=True)
# Replace NaNs in first row
u_hypersphere[..., 0, :].fill_(0.)
w = torch.sqrt(y) * u_hypersphere
# Fill diagonal elements; clamp for numerical stability
eps = torch.finfo(w.dtype).tiny
diag_elems = torch.clamp(1 - torch.sum(w**2, dim=-1), min=eps).sqrt()
w += torch.diag_embed(diag_elems)
return w

[docs]    def log_prob(self, value):
# See: https://mc-stan.org/docs/2_25/functions-reference/cholesky-lkj-correlation-distribution.html
# The probability of a correlation matrix is proportional to
#   determinant ** (concentration - 1) = prod(L_ii ^ 2(concentration - 1))
# Additionally, the Jacobian of the transformation from Cholesky factor to
# correlation matrix is:
#   prod(L_ii ^ (D - i))
# So the probability of a Cholesky factor is propotional to
#   prod(L_ii ^ (2 * concentration - 2 + D - i)) = prod(L_ii ^ order_i)
# with order_i = 2 * concentration - 2 + D - i
if self._validate_args:
self._validate_sample(value)
diag_elems = value.diagonal(dim1=-1, dim2=-2)[..., 1:]
order = torch.arange(2, self.dim + 1)
order = 2 * (self.concentration - 1).unsqueeze(-1) + self.dim - order
unnormalized_log_pdf = torch.sum(order * diag_elems.log(), dim=-1)
# Compute normalization constant (page 1999 of [1])
dm1 = self.dim - 1
alpha = self.concentration + 0.5 * dm1
denominator = torch.lgamma(alpha) * dm1
numerator = torch.mvlgamma(alpha - 0.5, dm1)
# pi_constant in [1] is D * (D - 1) / 4 * log(pi)
# pi_constant in multigammaln is (D - 1) * (D - 2) / 4 * log(pi)
# hence, we need to add a pi_constant = (D - 1) * log(pi) / 2
pi_constant = 0.5 * dm1 * math.log(math.pi)
normalize_term = pi_constant + numerator - denominator
return unnormalized_log_pdf - normalize_term


text:
# Eddy (fluid dynamics)

In fluid dynamics, an eddy is the swirling of a fluid and the reverse current created when the fluid is in a turbulent flow regime.[2] The moving fluid creates a space devoid of downstream-flowing fluid on the downstream side of the object. Fluid behind the obstacle flows into the void creating a swirl of fluid on each edge of the obstacle, followed by a short reverse flow of fluid behind the obstacle flowing upstream, toward the back of the obstacle. This phenomenon is naturally observed behind large emergent rocks in swift-flowing rivers.

A vortex street around a cylinder. This can occur around cylinders and spheres, for any fluid, cylinder size and fluid speed, provided that the flow has a Reynolds number in the range ~40 to ~1000.[1]

## Swirl and eddies in engineering

The propensity of a fluid to swirl is used to promote good fuel/air mixing in internal combustion engines.

In fluid mechanics and transport phenomena, an eddy is not a property of the fluid, but a violent swirling motion caused by the position and direction of turbulent flow.[3]

A diagram showing the velocity distribution of a fluid moving through a circular pipe, for laminar flow (left), turbulent flow, time-averaged (center), and turbulent flow, instantaneous depiction (right)

## Reynolds number and turbulence

In 1883, scientist Osborne Reynolds conducted a fluid dynamics experiment involving water and dye, where he adjusted the velocities of the fluids and observed the transition from laminar to turbulent flow, characterized by the formation of eddies and vortices.[4] Turbulent flow is defined as the flow in which the system's inertial forces are dominant over the viscous forces. This phenomenon is described by Reynolds number, a unit-less number used to determine when turbulent flow will occur. Conceptually, the Reynolds number is the ratio between inertial forces and viscous forces.[5]

The general form for the Reynolds number flowing through a tube of radius r (or diameter d):

Reynolds Experiment (1883). Osborne Reynolds standing beside his apparatus.

${\displaystyle Re={2v\rho r \over \mu }={\rho vd \over \mu }}$

Schlieren photograph showing the thermal convection plume rising from an ordinary candle in still air. The plume is initially laminar, but transition to turbulence occurs in the upper 1/3 of the image. The image was made using the 1-meter-diameter schlieren mirror of Floviz Inc. by Dr. Gary Settles

where: ${\displaystyle {v}=velocity}$

${\displaystyle \rho =density}$

${\displaystyle r=radius}$

${\displaystyle \mu =viscosity}$

The transition from laminar to turbulent flow in a fluid is defined by the critical Reynolds number:

${\displaystyle Re_{c}\approx 2000}$

In terms of the critical Reynolds number, the critical velocity is represented as:

${\displaystyle v_{c}={R_{c}\mu \over \rho d}}$

## Research and development

### Hemodynamics

Hemodynamics is the study of blood flow in the circulatory system. Blood flow in straight sections of the arterial tree are typically laminar (high, directed wall stress), but branches and curvatures in the system cause turbulent flow.[2] Turbulent flow in the arterial tree can cause a number of concerning effects, including atherosclerotic lesions, postsurgical neointimal hyperplasia, in-stent restenosis, vein bypass graft failure, transplant vasculopathy, and aortic valve calcification.

Comparison of air flow around a smooth golf ball versus a dimpled golf ball.

### Industrial processes

Lift and drag properties of golf balls are customized by the manipulation of dimples along the surface of the ball, allowing for the golf ball to travel further and faster in the air.[6][7]

The data from turbulent-flow phenomena has been used to model different transitions in fluid flow regimes, which are used to thoroughly mix fluids and increase reaction rates within industrial processes.[8]

### Fluid currents and pollution control

Oceanic and atmospheric currents transfer particles, debris, and organisms all across the globe. While the transport of organisms, such as phytoplankton, are essential for the preservation of ecosystems, oil and other pollutants are also mixed in the current flow and can carry pollution far from its origin.[9][10] Eddy formations circulate trash and other pollutants into concentrated areas which researchers are tracking to improve clean-up and pollution prevention.

Mesoscale ocean eddies play crucial roles in transferring heat poleward, as well as maintaining heat gradients at different depths.[11]

### Computational fluid dynamics

These are turbulence models in which the Reynolds stresses, as obtained from a Reynolds averaging of the Navier-Stokes equations, are modelled by a linear constitutive relationship with the mean flow straining field, as:

${\displaystyle -\rho \langle u_{i}u_{j}\rangle =2\mu _{t}S_{i,j}-{2 \over 3}\rho \kappa \delta _{i,j}}$

where

• ${\displaystyle \mu _{t}}$ is the coefficient termed turbulence "viscosity" (also called the eddy viscosity)
• ${\displaystyle \kappa ={\tfrac {1}{2}}(\langle u_{1}u_{1}\rangle +\langle u_{2}u_{2}\rangle +\langle u_{3}u_{3}\rangle )}$ is the mean turbulent kinetic energy
• ${\displaystyle S_{i,j}}$ is the mean strain rate
Note that that inclusion of ${\displaystyle {\tfrac {2}{3}}\rho \kappa \delta _{i,j}}$ in the linear constitutive relation is required by tensorial algebra purposes when solving for two-equation turbulence models (or any other turbulence model that solves a transport equation for ${\displaystyle \kappa }$ .[12]

## Mesoscale ocean eddies

Downwind of obstacles, in this case, the Madeira and the Canary Islands off the west African coast, eddies create turbulent patterns called vortex streets.

Eddies are common in the ocean, and range in diameter from centimeters to hundreds of kilometers. The smallest scale eddies may last for a matter of seconds, while the larger features may persist for months to years.

Eddies that are between about 10 and 500 km (6.2 and 310.7 miles) in diameter and persist for periods of days to months are known in oceanography as mesoscale eddies.[13]

Mesoscale eddies can be split into two categories: static eddies, caused by flow around an obstacle (see animation), and transient eddies, caused by baroclinic instability.

When the ocean contains a sea surface height gradient this creates a jet or current, such as the Antarctic Circumpolar Current. This current as part of a baroclinically unstable system meanders and creates eddies (in much the same way as a meandering river forms an ox-bow lake). These types of mesoscale eddies have been observed in many of major ocean currents, including the Gulf Stream, the Agulhas Current, the Kuroshio Current, and the Antarctic Circumpolar Current, amongst others.

Mesoscale ocean eddies are characterized by currents that flow in a roughly circular motion around the center of the eddy. The sense of rotation of these currents may either be cyclonic or anticyclonic (such as Haida Eddies). Oceanic eddies are also usually made of water masses that are different from those outside the eddy. That is, the water within an eddy usually has different temperature and salinity characteristics to the water outside the eddy. There is a direct link between the water mass properties of an eddy and its rotation. Warm eddies rotate anti-cyclonically, while cold eddies rotate cyclonically.

Because eddies may have a vigorous circulation associated with them, they are of concern to naval and commercial operations at sea. Further, because eddies transport anomalously warm or cold water as they move, they have an important influence on heat transport in certain parts of the ocean.

## References

1. ^ Tansley, Claire E.; Marshall, David P. (2001). "Flow past a Cylinder on a Plane, with Application to Gulf Stream Separation and the Antarctic Circumpolar Current" (PDF). Journal of Physical Oceanography. 31 (11): 3274–3283. Bibcode:2001JPO....31.3274T. doi:10.1175/1520-0485(2001)031<3274:FPACOA>2.0.CO;2.
2. ^ a b Chiu, Jeng-Jiann; Chien, Shu (2011-01-01). "Effects of Disturbed Flow on Vascular Endothelium: Pathophysiological Basis and Clinical Perspectives". Physiological Reviews. 91 (1): 327–387. doi:10.1152/physrev.00047.2009. ISSN 0031-9333. PMC 3844671. PMID 21248169.
3. ^ Lightfoot, R. Byron Bird ; Warren E. Stewart ; Edwin N. (2002). Transport phenomena (2. ed.). New York, NY [u.a.]: Wiley. ISBN 0-471-41077-2.
4. ^ Kambe, Tsutomu (2007). Elementary Fluid Mechanics. World Scientific Publishing Co. Pte. Ltd. p. 240. ISBN 978-981-256-416-0.
5. ^ "Pressure". hyperphysics.phy-astr.gsu.edu. Retrieved 2017-02-12.
6. ^ Arnold, Douglas. "The Flight of a Golf Ball" (PDF).
7. ^ "Why are Golf Balls Dimpled?". math.ucr.edu. Retrieved 2017-02-12.
8. ^ Dimotakis, Paul. "The Mixing Transition in Turbulent Flows" (PDF). California Institute of Technology Information Tech Services.
9. ^ "Ocean currents push phytoplankton, and pollution, around the globe faster than thought". Science Daily. 16 April 2016. Retrieved 2017-02-12.
10. ^ "Ocean Pollution". National Oceanic and Atmospheric Administration.
11. ^ "Ocean Mesoscale Eddies – Geophysical Fluid Dynamics Laboratory". www.gfdl.noaa.gov. Retrieved 2017-02-12.
12. ^ "Linear eddy viscosity models -- CFD-Wiki, the free CFD reference". www.cfd-online.com. Retrieved 2017-02-12.
13. ^ https://journals.ametsoc.org/doi/pdf/10.1175/1520-0485%282001%29031%3C3274%3AFPACOA%3E2.0.CO%3B2
Beaufort Gyre

The Beaufort Gyre is a wind-driven ocean current located in the Arctic Ocean polar region. The gyre contains both ice and water. It accumulates fresh water by the process of melting the ice floating on the surface of the water.

Eddy covariance

The eddy covariance (also known as eddy correlation and eddy flux) technique is a key atmospheric measurement technique to measure and calculate vertical turbulent fluxes within atmospheric boundary layers. The method analyzes high-frequency wind and scalar atmospheric data series, and yields values of fluxes of these properties. It is a statistical method used in meteorology and other applications (micrometeorology, oceanography, hydrology, agricultural sciences, industrial and regulatory applications, etc.) to determine exchange rates of trace gases over natural ecosystems and agricultural fields, and to quantify gas emissions rates from other land and water areas. It is frequently used to estimate momentum, heat, water vapour, carbon dioxide and methane fluxes.The technique is also used extensively for verification and tuning of global climate models, mesoscale and weather models, complex biogeochemical and ecological models, and remote sensing estimates from satellites and aircraft. The technique is mathematically complex, and requires significant care in setting up and processing data. To date, there is no uniform terminology or a single methodology for the Eddy Covariance technique, but much effort is being made by flux measurement networks (e.g., FluxNet, Ameriflux, ICOS, CarboEurope, Fluxnet Canada, OzFlux, NEON, and iLEAPS) to unify the various approaches.

The technique has additionally proven applicable under water to the benthic zone for measuring oxygen fluxes between seafloor and overlying water. In these environments, the technique is generally known as the eddy correlation technique, or just eddy correlation. Oxygen fluxes are extracted from raw measurements largely following the same principles as used in the atmosphere, and they are typically used as a proxy for carbon exchange, which is important for local and global carbon budgets. For most benthic ecosystems, eddy correlation is the most accurate technique for measuring in-situ fluxes. The technique's development and its applications under water remains a fruitful area of research.

Index of physics articles (E)

The index of physics articles is split into multiple pages due to its size.

Index of wave articles

This is a list of Wave topics.

Kármán vortex street

In fluid dynamics, a Kármán vortex street (or a von Kármán vortex street) is a repeating pattern of swirling vortices, caused by a process known as vortex shedding, which is responsible for the unsteady separation of flow of a fluid around blunt bodies. It is named after the engineer and fluid dynamicist Theodore von Kármán, and is responsible for such phenomena as the "singing" of suspended telephone or power lines and the vibration of a car antenna at certain speeds.

Lorenz Magaard

Lorenz Magaard (born May 21, 1934 in Wallsbüll, Germany) is a German-American mathematician and oceanographer. He made essential contributions to the theory of ocean waves and earned particular credit for organizing education and research.

Ocean gyre

In oceanography, a gyre () is any large system of circulating ocean currents, particularly those involved with large wind movements. Gyres are caused by the Coriolis effect; planetary vorticity along with horizontal and vertical friction, determine the circulation patterns from the wind stress curl (torque).The term gyre can be used to refer to any type of vortex in the air or the sea, even one that is man-made, but it is most commonly used in oceanography to refer to the major ocean systems.

Ocean surface topography

Ocean surface topography or sea surface topography, also called dynamic topography, are highs and lows on the ocean surface, similar to the hills and valleys of Earth's land surface depicted on a topographic map.

These variations are expressed in terms of sea surface height (SSH) relative to the Earth's geoid.

The main purpose of measuring ocean surface topography is to understand the large-scale circulation of the ocean.

Wake turbulence

Wake turbulence is a disturbance in the atmosphere that forms behind an aircraft as it passes through the air. It includes various components, the most important of which are wingtip vortices and jetwash. Jetwash refers simply to the rapidly moving gases expelled from a jet engine; it is extremely turbulent, but of short duration. Wingtip vortices, on the other hand, are much more stable and can remain in the air for up to three minutes after the passage of an aircraft. It is therefore not true turbulence in the aerodynamic sense, as this would be chaotic. Instead, it refers to the similarity to atmospheric turbulence as experienced by an aircraft flying through this region of disturbed air.

Wingtip vortices occur when a wing is generating lift. Air from below the wing is drawn around the wingtip into the region above the wing by the lower pressure above the wing, causing a vortex to trail from each wingtip. The strength of wingtip vortices is determined primarily by the weight and airspeed of the aircraft. Wingtip vortices make up the primary and most dangerous component of wake turbulence.

Wake turbulence is especially hazardous in the region behind an aircraft in the takeoff or landing phases of flight. During take-off and landing, aircraft operate at high angle of attack. This flight attitude maximizes the formation of strong vortices. In the vicinity of an airport there can be multiple aircraft, all operating at low speed and low altitude, and this provides extra risk of wake turbulence with reduced height from which to recover from any upset.

Whirlpool

A whirlpool is a body of rotating water produced by opposing currents or a current running into an obstacle. Small whirlpools form when a bath or a sink is draining. More powerful ones in seas or oceans may be termed maelstroms. Vortex is the proper term for a whirlpool that has a downdraft.In narrow ocean straits with fast flowing water, whirlpools are often caused by tides. Many stories tell of ships being sucked into a maelstrom, although only smaller craft are actually in danger. Smaller whirlpools appear at river rapid and can be observed downstream of manmade structures such as weirs and dams. Large cataracts, such as Niagara Falls, produce strong whirlpools.

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.


text:
Lemma 35.32.8. Let $f : X \to X'$ be a morphism of schemes over a base scheme $S$. Assume $\{ X \to S\}$ is an fpqc covering (for example if $f$ is surjective, flat and quasi-compact). Then the pullback functor of Lemma 35.31.6 is a fully faithful functor from the category of descent data relative to $X'/S$ to the category of descent data relative to $X/S$.

Proof. We may factor $X \to X'$ as $X \to X \times _ S X' \to X'$. The first morphism has a section, hence induces an equivalence of categories of descent data by Lemma 35.32.6. The second morphism is an fpqc covering hence induces a fully faithful functor by Lemma 35.32.4. $\square$

There are also:

• 2 comment(s) on Section 35.32: Fully faithfulness of the pullback functors

In your comment you can use Markdown and LaTeX style mathematics (enclose it like $\pi$). A preview option is available if you wish to see how it works out (just click on the eye in the toolbar).


text:
# All Questions

356 views

### Why are elliptic curves better than cyclic groups?

The set of points of an elliptic curve over a finite field is isomorphic to the direct product of two cyclic groups (i.e. $E(F_{p^n}) \cong Z_{s} \times Z_{t})$. What is the advantage of representing ...
455 views

### The utility of elliptic curve cryptography

Suppose that the only public key cryptography schemes that we knew were Diffie Hellman, RSA and ElGamal. How much would this set civilization back? Are there important applications of elliptic curve ...
536 views

### Signature schemes for underpowered devices (8bit microcontroller)

I am currently researching into a small scale home automation system, aiming for cost. The system architecture is basically one master and several slaves which are connected in parallel. Recently ...
2k views

### AES-CTR vulnerability to cryptographic oracle

I am new to cryptographic issues and from what I googled so far I could not retrieve the information I need. Consider the use of AES-128 in CTR mode. Let M be the set of possible plaintexts, for ...
314 views

### How is the x coordinate of a “point at infinity” encoded in a Secp256k1 signature?

I'm testing an implementation of Bitcoin, which uses the curve Secp256k1 for ECDSA, and I want to see how it handles the point at infinity ($0$) if present in a signature. For example, r could be the ...
335 views

### Is it possible to break a hash-based block cipher?

Let's define the following block cipher: $C_n = M_n \oplus H(k + n)$ where $C_n$ is the nth block of ciphertext, $M_n$ is the nth block of plaintext, $H$ is a cryptographic hash function, and $k$ is ...
268 views

### A situation where security by obscurity might be the best solution - or am I wrong?

Imagine the following situation. There is an application for a microcontroller-driven system. The profits are made from manufacturing and selling the device itself. However, it is expected, that the ...
757 views

### Is there any semantic difference between predicate encryption and functional encryption?

Predicate encryption(PE) arrived as a descendant of attribute based encryption. Attribute based encryption allows the encryptor to embody a policy to the ciphertext (Ciphertext-Policy based ...
225 views

### Is SHA1 secure with such many inputs Z that Z = constant secret X + variable public Y?

Let me ask whether SHA1 is designed to be secure for the following case. You compute each SHA1 of many strings,for example 1 million, where each string is a concatenation of X+Y , where X is secret ...
410 views

### X.509 CSR: Why does CA remove signature?

I just read this article on Wikipedia: Certificate Signing Request I'm not a PKI or Crypto expert. As I understand, a CSR (certification request) is always signed by the PKCS#10-Request creator. ...
334 views

### Does this block cipher mode allow for decryption?

Is there's a way for someone (with the key) to decrypt a message encrypted with the cipher mode shown? $$P_0 = IV$$ $$C_i = P_{i-1} \oplus E_K(P_i) \oplus P_i$$
779 views

### Are there two-way encryption algorithms that include a work factor?

I recently learned about the hashing algorithm bcrypt, which allows you to specify a "work factor" for the hash which can be incremented to stay ahead of Moore's Law. I understand there are some other ...
1k views

### Is it a good idea to use bitwise XOR on a set of MD5 sums?

I have designed an SQL aggregate function in Oracle that bitwise XORs all MD5 sums of the values stored in a column. For example, if my table is: ...
894 views

### public key cryptography and digital signature

I read the following from Understanding Public Key Cryptography on Microsoft TechNet: Using a private key to establish identity shows that the full encryption and decryption operation was ...
180 views

### The difference between MAC algorithms and what to use

I've been looking into message authentication codes and found several ways to create integrity for a message. I know of the following algorithms: HMAC, this can use any cryptograhpic hash function ...
125 views

### Randomness re-use in LWE encryption scheme

Let me describe the scheme first, it is the scheme proposed by O. Regev when he introduced the LWE assumption. $sk = \textbf{s} \in \mathbf{Z}_q^n$ $pk = \textbf{A}\textbf{s}+\textbf{e}$ where ...
138 views

### Finding strong primes

Wikipedia lists the following conditions for a prime to be strong: $p-1$ has large prime factors. That is, $p = a_1 q_1 + 1$ for some integer $a_1$ and large prime $q_1$. $q_1-1$ has large prime ...
165 views

### Spoofing protocol nonce

Amy and Betty have a shared key $k$, and the protocol below is to provide a mutual authentication for both Betty and Amy. A sends B : $n_a$ B sends A : $n_b \;\|\; E(k, n_a)$ A sends B : $E(k, n_b)$ ...
672 views

### How secure is the AES master key if Round Keys are found

If an attacker finds some round key of AES256, is it possible to find the master key? How safe is the master key if an attackers finds multiple round keys?
139 views

### Should different key pairs be used for signing and encryption?

In the recent iOS Security white paper from Apple (February 2014), the section on iMessage discusses using two different asymmetric key types as part of its standard operation: When a user turns ...
226 views

I want to encrypt data and protect its integrity and confidentiality. However, I cannot increase the length of the data. Are there any cipher modes of operation which provide confidentiality and ...
203 views

### Homomorphic Encryption and Semantic Security using Lattices?

I've been reading Brakerski and Vaikuntanathan's "Efficient Fully Homomorphic Encryption from (Standard) LWE" and I'm still digesting pieces at a time. Under section 1.1, "Re-Linearization: Somewhat ...
227 views

### Is the following symmetric design secure?

Assume: $O$ be a reversible random permutation oracle on a finite set and $O^{-1}$ the inverse permutation (pretty much equivalent to a random permutation: What is the difference between a bijective ...
838 views

### Why is sharing the seed and using SecureRandom “deterministically” so bad?

I've recently been reading an article about "using cryptography to store credentials", and I would love it someone explained this in more detail… Up until Android 4.1, Android used a SecureRandom ...
2k views

### Which stream cipher can we replace the RC4 in the SSL?

In cryptography, the Fluhrer, Mantin and Shamir attack is a particular stream cipher attack, a dedicated form of cryptanalysis for attacking the widely-used stream cipher RC4. The attack allows an ...
2k views

### Can an RSA private key have several public keys?

Ok, so my crpto lecturer in Uni posed this question at the end of the RSA key generation lecture as a brain teaser. I have been thinking about this and I think I have come up with a way ( I am aware ...
218 views

### how to iteratively calculate a^emod n with modulus n sized 4096 bits

In most sites the exponent of the RSA public key is 24 bits. But the modulus can get to 4096 bits size. I have an accelerator that can get max. 2112 bit size modulus. It calculates ...
179 views

### Can S/MIME be still considered secure?

Previoulsy I had asked this question at http://stackoverflow.com/questions/18235983/can-s-mime-be-still-considered-secure but I feel this forum is topic-wise the right place. Recently there has been ...
4k views

### AES encryption using a Diffie-Hellman key exchange

I have two systems which need to encrypt their communication by AES-128. The key for the AES encryption should be exchanged with the Diffie-Hellman (DH) algorithm. Now, I've read about DH and got a ...
294 views

### Does SRP reduce to DH key exchange when shared password is not secret?

I can find JavaScript implementations of SRP (Secure Remote Password protocol), but nothing that inspires confidence for Diffie-Hellmen key exchange. I also have a separate need for SRP later. I ...
417 views

### How do I unpack the x and y values from the BITSTRING in a DER ECDSA public key?

In ASN.1, the X and Y values for a 256-bit elliptic curve key are stored as a single 66-byte ASN.1 BITSTRING. Are the values just the first and second half of this bitstring? The private key is an ...
886 views

### BCrypt vs Key Stretching MD5

Ars technica posted an article about the latest in cyber warfare from the stuxnet crew. They key stretched MD5 by iterating it 10,000 times. It seems to be effective at handicapping HashCat's gpu ...


text:
# The solutions of the heat equation from $0$ datum

Consider the initial value problem $$\partial_t u = \Delta u$$ $$u(0,x) = 0$$ for the heat equation in $$\mathbb R^n$$, where $$u: [0,T] \times \mathbb R^n \to \mathbb R$$ is a smooth solution up to the time $$T$$. Suppose there exists a large constant $$N>0$$ such that $$|u(t,x)| \le N\exp(N|x|^2t^{-1})$$ for any $$x\in \mathbb R^n$$ and $$t\in (0,T]$$.

Can we prove that $$u(t,x)$$ must be identically $$0$$?

Notice that if $$|u(t,x)| \le N\exp(N|x|^2)$$, then the question is true by Tychonoff's theorem.

Have you tried the classical Tychonoff's example, $$u(t,x) = \sum_{k = 0}^\infty \frac{g^{(k)}(t) x^{2k}}{(2k)!},$$ with $$g(t) = e^{-1/t^\alpha}$$ and $$\alpha > 1$$?

As discussed, for example, in these lecture notes, in this case $$|g^{(k)}(t)| \leqslant \frac{k!}{(\theta t)^k} e^{-1/(2 t^\alpha)} \tag{\star}$$ for some $$\theta > 0$$ (edit: see below for a proof), and hence $$|u(t, x)| \leqslant \sum_{k = 0}^\infty \frac{k! x^{2k}}{(\theta t)^k(2k)!} e^{-1 / (2 t^\alpha)} \leqslant \sum_{k = 0}^\infty \frac{x^{2k}}{(2 \theta t)^k k!} e^{-1 / (2 t^\alpha)} = e^{x^2/(2 \theta t)-1/(2t^\alpha)} \leqslant e^{x^2 / (2 \theta t)} .$$ If I am not mistaken, this (counter-)example implies a negative question to your answer.

Edit: For completeness, here is the proof of ($$\star$$). This is, of course, completely standard; I reworked it only to convince myself that there is no error in my answer.

The function $$g(t) = e^{-1/t^\alpha}$$ is holomorphic in the right complex half-plane. By Cauchy's formula (applied to the circle $$\Gamma$$ centred at $$t$$ with radius $$\theta t$$), we have $$g^{(k)}(t) = \frac{k!}{2\pi i} \int_\Gamma \frac{g(z)}{(z - t)^{k + 1}} dz = \frac{k!}{2\pi} \int_0^{2\pi} \frac{g(t + \theta t e^{i s})}{(\theta t e^{i s})^k} ds .$$ Therefore, $$|g^{(k)}(t)| \leqslant \frac{k!}{2\pi (\theta t)^k} \int_0^{2\pi} |g(t + \theta t e^{i s})| ds .$$ Choose $$\theta > 0$$ small enough, so that the image of the disk $$D(1, \theta)$$ under $$z \mapsto z^{-\alpha}$$ is contained in the half-plane $$\Re z > \tfrac{1}{2}$$. Since $$|g(z)| = e^{-\Re z^{-\alpha}}$$, we have $$|g(t + \theta t e^{i s})| = e^{-t^{-\alpha} \Re (1 + \theta e^{i s})^{-\alpha}} \leqslant e^{-t^{-\alpha} / 2} .$$ It follows that $$|g^{(k)}(t)| \leqslant \frac{k!}{(\theta t)^k} e^{-1 / (2 t^\alpha)}$$, as desired.

• Kwasnicki For the Tychonoff argument to work, you need $\alpha >1$. In fact, up to geometrical terms $g^{(k)}$ is bounded above by $k^{k(1+\frac{1}{\alpha})}$ and you have in the series a denominator as $k^{2k}$, so you need $1+\frac{1}{\alpha}<2$. A reference is doi.org/10.1017/S001309150000095X – Bazin Apr 5 '20 at 11:26
• @Bazin: Thanks for spotting the typo, and for the reference! Regarding the estimate of $g^{(k)}$, unfortunately I do not have time now to check the bound given in the lecture notes (which is left as a "good exercise"). – Mateusz Kwaśnicki Apr 5 '20 at 19:46
• @Kwasnicki the good exercise is to prove that your function $g$ belongs to the Gevrey class $G^{1+\frac{1}{\alpha}}$ (this is sharp). Checking the Faa di Bruno theorem is one way to get this, but complex analysis with Cauchy theorem would give you the same answer. – Bazin Apr 9 '20 at 12:23
• @Bazin: Thanks for the comment. I am not sure if I understand correctly, though: you seem to refer to uniform bounds for $g^{(k)}$, while here one needs an estimate that can deteriorate as $t \to 0^+$: a uniform bound for $t^k g^{(k)}(t)$. I believe both estimates follow from Faà di Bruno's formula, but, as said above, I did not attempt to check it. If you did, or if you can improve the answer in any other way, please feel free to edit it. – Mateusz Kwaśnicki Apr 9 '20 at 21:15
• @Kwasnicki you do not need anything else than $\vert g^{(k)}\vert\le C^{k+1} k^{k(1+\frac{1}{\alpha })}$ with $\alpha >1$ for the Tychonoff example to work: you have applying the heat operator a telescoping series and the convergence follows from the estimate $\vert g^{(k)}\vert\frac{x^{2k}}{(2k)!}\lesssim R^{2k}k^{k(-1+\frac{1}{\alpha})}$. – Bazin Apr 10 '20 at 21:07