Skip to content

Commit 0201a29

Browse files
Jonathan MoussaJonathan Moussa
Jonathan Moussa
authored and
Jonathan Moussa
committed
Cauchy kernel post & security fix
1 parent 4d3923f commit 0201a29

File tree

7 files changed

+165
-46
lines changed

7 files changed

+165
-46
lines changed

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ group :jekyll_plugins do
2222
gem "jekyll-feed", "~> 0.6"
2323
end
2424

25+
# To deal with security vulnerability:
26+
gem "nokogiri", ">= 1.10.4"
27+
2528
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
2629
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
2730

Gemfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ GEM
205205
jekyll-seo-tag (~> 2.1)
206206
minitest (5.11.3)
207207
multipart-post (2.0.0)
208-
nokogiri (1.10.2)
208+
nokogiri (1.10.4)
209209
mini_portile2 (~> 2.4.0)
210210
octokit (4.14.0)
211211
sawyer (~> 0.8.0, >= 0.5.3)
@@ -244,8 +244,8 @@ PLATFORMS
244244
DEPENDENCIES
245245
github-pages
246246
jekyll-feed (~> 0.6)
247-
jekyll-sitemap
248247
minima (~> 2.0)
248+
nokogiri (>= 1.10.4)
249249
tzinfo-data
250250

251251
BUNDLED WITH
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
---
2+
layout: post
3+
title: "Triage of my Cauchy kernel project"
4+
categories: research
5+
---
6+
7+
This is a post about my latest paper, ["Minimax separation of the Cauchy kernel"](https://arxiv.org/abs/1909.06911),
8+
which I have just posted to the arXiv and submitted to the
9+
[SIAM Journal on Numerical Analysis](https://www.siam.org/Publications/Journals/SIAM-Journal-on-Numerical-Analysis-SINUM).
10+
I have wanted to write and publish a math paper for a long time, to signify an increased emphasis in my research
11+
on the mathematical underpinnings of atomistic simulation.
12+
It has taken me longer than expected to reach this goal because it has been difficult to focus on mathematical work
13+
that is entirely unrelated to work obligations,
14+
and my attempts to align employment with this sort of research activity have repeatedly failed.
15+
However, I am an extremely stubborn person,
16+
and I will persist in my more mathematical work even if my pace is slower than I'd like.
17+
For example, I had to heavily triage my original plan to complete this already massively delayed paper in a timely manner
18+
by dropping a set of planned applications and saving them for follow-up papers.
19+
20+
I have always enjoyed math a lot, since early in grade school.
21+
It was my favorite subject all throughout high school (I was underwhelmed by my science classes until college),
22+
and was even on several competitive high school math teams.
23+
I would have been a math major in college (rather than the hedge of a dual math/physics major),
24+
but I wanted to pursue academic research and was repeatedly told that a math degree could only lead to an actuarial career.
25+
While I strayed from a more mathematical career by going to graduate school for physics,
26+
my research interests in physics have always been of a highly mathematical nature.
27+
I like to view computational physics as a kind of experimental math,
28+
where approximations and algorithms are tested for their relevance to physical simulation.
29+
My overly simple grad-school perspective on quantum mechanics was as a physical manifestation of linear algebra,
30+
which meant that computational condensed matter physics was just a very complicated numerical linear algebra problem.
31+
However, working in quantum information theory for five years have given me a broader perspective
32+
on the statistical and complexity-theoretic aspects of quantum mechanics.
33+
34+
I discussed the background on this project a bit in a [previous post]({% post_url 2019-05-12-linear-scaling-too-little %}).
35+
Around 2007, I was working on a banded Hermitian eigensolver that was inspired by the physics concept of Wannier functions
36+
(a.k.a. Boys orbitals in quantum chemistry).
37+
These functions demonstrated that simultaneous spatial and spectral locality was possible,
38+
which allowed for more flexibility in divide-and-conquer strategies for eigensolving beyond the
39+
[one that had already been established at the time](https://doi.org/10.1137/S0895479892241287).
40+
In the course of these numerical experiments,
41+
it became necessary to fit low-rank approximations of the Cauchy kernel with a general form
42+
43+
$$ \frac{1}{x - y} \approx \sum_{i=1}^{r} \frac{f_i(y)}{x - y_i} $$
44+
45+
where I was free to choose both $$y_i$$ and $$f_i(y)$$.
46+
For a fixed value of $$y$$, this was a standard linear minimax optimization problem.
47+
I had previously messed around with linear and nonlinear minimax optimization problems
48+
that I thought would be useful in electronic structure
49+
(for example, [my paper on rational approximations of Fermi-Dirac functions](https://doi.org/10.1063/1.4965886) originated from earlier attempts during grad school),
50+
so I already had some experience with problems of this form.
51+
I proceeded as I had in the past, with an ad-hoc implementation of the Remez algorithm.
52+
This time, I could make use of the analytical expressions for Cauchy matrix inverses and determinants
53+
in fitting the approximant at a set of max-residual points.
54+
It turned out that the relative error was what would lead to the tightest error bounds in
55+
my intended application, so I adapted my solution to minimize relative error.
56+
I then noticed something very surprising: the location of the maximum residual points did not change when I changed $$y$$.
57+
Because of the Cauchy matrix inverse formula,
58+
this meant that the optimal $$f_i(y)$$ were rational functions rather than something more general and arbitrary.
59+
Also, I was observing much more regular trends in the solutions than in other problems that I had solved,
60+
such as the maximum residual points and optimal $$y_i$$ values for different $$r$$ values collapsing
61+
onto a common function just like with Chebyshev nodes.
62+
63+
I don't keep detailed research records (I've mostly operated under the assumption that published papers are record enough),
64+
but at some point either in late grad school or early in my academic post-doc at UT Austin,
65+
I decided that this result was probably optimal with respect to maximum relative error from a basic dimension-counting argument
66+
(I couldn't see how a more general functional form could reduce the maximum error) and I wanted to prove it.
67+
I'm not really big into proving things because it's hard and you aren't really rewarded for doing so as a physicist.
68+
However, I do think electronic structure simulations need a more rigorous underpinning,
69+
and there is probably a small set of core results waiting to be discovered that are important enough for a formal proof.
70+
I decided that this was one such result.
71+
My basic proof strategy was to prove separate upper and lower bounds, whereby optimality was proven if the bounds were equal.
72+
I proved the upper bound very quickly because it was a very straightforward task of restricting a minimization to a simple subset of the original domain.
73+
However, the lower bound just kicked my ass and I got nowhere in explaining all the special structure that I observed, so I eventually gave up and put it aside.
74+
75+
I finally put together the lower-bound proof while at Sandia,
76+
but only after returning to it multiple times for brief but intense bursts of activity.
77+
Around summer 2012, I finally learned about Zolotarev's work in applying elliptic integrals/functions to rational approximation.
78+
This was very exciting at the time, because it explained all of the special structure that I had observed numerically.
79+
I can't imagine how anyone could make the connection from those numerical observations to the theory of elliptical integrals,
80+
and indeed Zolotarev had worked in the other direction - his adviser, Chebyshev, had instructed him to look for useful applications of elliptic integrals.
81+
Unfortunately, my excitement died down when I realized that none of this made a lower-bound proof any easier,
82+
although I could now rule out the previously-unexplained structure as being relevant to a proof.
83+
I did eventually cobble together a lower-bound proof as I was exposed to the necessary mathematical ideas while at Sandia.
84+
I worked on an idea for [relaxing classical stat mech problems into linear programs](https://arxiv.org/abs/1603.05180),
85+
which was itself a catastrophic failure, but it increased my familiarity with convex optimization and linear programming (two linear programs being essential steps in my proof).
86+
Also, I was exposed to many lower-bound proofs of classical computational complexity in quantum information theory
87+
that were a part of complexity-theoretic separation proofs between classical and quantum computing power.
88+
While none of those proofs were directly relevant, I learned about the wide variety of clever tricks and strategies
89+
that are often employed in producing lower bounds for optimization problems.
90+
I finally had a serviceable draft of a proof in summer 2017, which I polished up a few months ago for this paper.
91+
I probably could have wrapped this up a lot sooner if Sandia was supportive of my research interests, but it was not,
92+
and research tends to go a lot slower when you are being paid to do something else as your full-time job.
93+
94+
This is my oldest research project that has been brought to fruition,
95+
and hopefully it is a sign of maturity and a precursor to other results following suit (albeit very slowly).
96+
My initial proof in summer 2017 was tied to a paper on banded Hermitian eigensolvers,
97+
and it collapsed under the weight of trying to accomplish too much at once.
98+
Up until three weeks ago, this paper was tied to three applications that would have further delayed it by many months if I hadn't cut them.
99+
I have a natural tendency to make big plans for papers,
100+
and I need to actively fight that by breaking up projects into smaller publishable pieces.
101+
Having shorter, more numerous papers is advantageous for many reasons,
102+
and it is almost essential for surviving the rat race of modern academia.
103+
104+
My immediate next research priority is finishing up the first delayed application of this paper to electronic structure calculations.
105+
However, I need to do a better job of mixing blog posts about active research papers
106+
with other research discussions about other interests that are in a more passive mode.
107+
I'd like to start discuss quantum computing on this blog soon, and I have two quantum computing papers lined up as #2 and #4 in my publication queue.
108+
I also continue to refine and develop my semiempirical electronic structure plans,
109+
and I will discuss that at some point as well.
110+
I am happy to have finally finished this long-delayed paper,
111+
but my research agenda and career are very deep in a hole
112+
and it will take a lot of work before I can escape that hole.
113+
There will be a lot more research triage in my future.

assets/CV.aux

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,21 @@
2323
\@writefile{toc}{\contentsline {section}{Job Experience}{1}{section*.5}}
2424
\@writefile{toc}{\contentsline {section}{H-index}{1}{section*.6}}
2525
\@writefile{toc}{\contentsline {section}{Publications}{2}{section*.7}}
26-
\gdef\etaremune@i{22}
27-
\gdef\etaremune@ii{11}
26+
\gdef\etaremune@i{23}
2827
\@writefile{toc}{\contentsline {section}{Unpublished Work}{3}{section*.8}}
28+
\gdef\etaremune@ii{10}
2929
\gdef\etaremune@iii{1}
30-
\gdef\etaremune@iv{1}
31-
\gdef\etaremune@v{5}
30+
\gdef\etaremune@iv{5}
3231
\@writefile{toc}{\contentsline {section}{Awarded Grants}{4}{section*.9}}
33-
\@writefile{toc}{\contentsline {section}{Proposed Grants}{4}{section*.10}}
34-
\@writefile{toc}{\contentsline {section}{Invited Talks}{4}{section*.11}}
35-
\@writefile{toc}{\contentsline {section}{Contributed Talks}{4}{section*.12}}
36-
\gdef\etaremune@vi{16}
37-
\gdef\etaremune@vii{1}
38-
\@writefile{toc}{\contentsline {section}{Patents}{5}{section*.13}}
39-
\@writefile{toc}{\contentsline {section}{Referee for Journals}{5}{section*.14}}
40-
\@writefile{toc}{\contentsline {section}{Awards}{5}{section*.15}}
41-
\@writefile{toc}{\contentsline {section}{Teaching Experience}{5}{section*.16}}
42-
\@writefile{toc}{\contentsline {section}{Programming Skills}{5}{section*.17}}
32+
\@writefile{toc}{\contentsline {section}{Invited Talks}{4}{section*.10}}
33+
\@writefile{toc}{\contentsline {section}{Contributed Talks}{4}{section*.11}}
34+
\gdef\etaremune@v{16}
35+
\gdef\etaremune@vi{1}
36+
\@writefile{toc}{\contentsline {section}{Patents}{5}{section*.12}}
37+
\@writefile{toc}{\contentsline {section}{Referee for Journals}{5}{section*.13}}
38+
\@writefile{toc}{\contentsline {section}{Awards}{5}{section*.14}}
39+
\@writefile{toc}{\contentsline {section}{Teaching Experience}{5}{section*.15}}
40+
\@writefile{toc}{\contentsline {section}{Programming Skills}{5}{section*.16}}
4341
\newlabel{LastPage}{{}{5}{}{page.5}{}}
4442
\xdef\lastpage@lastpage{5}
4543
\xdef\lastpage@lastpageHy{5}

assets/CV.log

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex 2018.4.16) 19 APR 2019 16:24
1+
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex 2018.4.16) 31 JUL 2019 11:02
22
entering extended mode
33
restricted \write18 enabled.
44
file:line:error style messages enabled.
@@ -342,55 +342,61 @@ LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available
342342
[1
343343

344344
{/usr/local/texlive/2018/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
345-
Overfull \hbox (31.05458pt too wide) in paragraph at lines 325--327
345+
Overfull \hbox (12.6987pt too wide) in paragraph at lines 325--327
346+
\OT1/cmr/m/n/10 rithms for elec-tronic struc-ture. \OT1/cmr/m/it/10 Elec-tronic
347+
Struc-ture \OT1/cmr/m/n/10 1:033001 (2019). doi:[][]10.1088/2516-
348+
[]
349+
350+
351+
Overfull \hbox (31.05458pt too wide) in paragraph at lines 328--330
346352
\OT1/cmr/m/n/10 Ge/SiGe quan-tum wells. \OT1/cmr/m/it/10 Nan-otech-nol-ogy \OT1
347353
/cmr/m/n/10 30:215202 (2019). doi:[][]10.1088/1361-6528/ab061e[][].
348354
[]
349355

350356

351-
Overfull \hbox (35.2604pt too wide) in paragraph at lines 328--330
357+
Overfull \hbox (35.2604pt too wide) in paragraph at lines 331--333
352358
\OT1/cmr/m/n/10 ma-nium be-yond the dif-fu-sive regime. \OT1/cmr/m/it/10 Nanosc
353359
ale \OT1/cmr/m/n/10 10:20559 (2018). doi:[][]10.1039/C8NR05677C[][].
354360
[]
355361

356362

357-
Overfull \hbox (0.54602pt too wide) in paragraph at lines 346--348
363+
Overfull \hbox (0.54602pt too wide) in paragraph at lines 349--351
358364
\OT1/cmr/m/n/10 con-strained mixed dis-crete op-ti-miza-tion with an adi-a-bati
359365
c quan-tum op-ti-mizer. \OT1/cmr/m/it/10 Phys-
360366
[]
361367

362368
[2]
363-
Overfull \hbox (5.19522pt too wide) in paragraph at lines 392--395
369+
Overfull \hbox (5.19522pt too wide) in paragraph at lines 395--398
364370
\OT1/cmr/m/n/10 consistency in lay-ered quan-tum semi-con-duc-tor struc-tures.
365371
\OT1/cmr/m/it/10 Jour-nal of Ap-plied Physics\OT1/cmr/m/n/10 ,
366372
[]
367373

368374

369-
Overfull \hbox (18.81572pt too wide) in paragraph at lines 408--410
375+
Overfull \hbox (18.81572pt too wide) in paragraph at lines 411--413
370376
[]\OT1/cmr/bx/n/10 Moussa, J. E.\OT1/cmr/m/n/10 . Measurement-Based Quan-tum Me
371377
tropo-lis Al-go-rithm. [][]arXiv:1903.01451[][]
372378
[]
373379

374380
[3] [4]
375381
AED: lastpage setting LastPage
376382
[5]
377-
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 549.
378-
Package atveryend Info: Empty hook `AfterLastShipout' on input line 549.
383+
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 543.
384+
Package atveryend Info: Empty hook `AfterLastShipout' on input line 543.
379385
(./CV.aux)
380-
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 549.
381-
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 549.
386+
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 543.
387+
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 543.
382388
Package rerunfilecheck Info: File `CV.out' has not changed.
383-
(rerunfilecheck) Checksum: BE3DC9CDB36F31C0003BA94B89A77F3F;863.
384-
Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 549.
389+
(rerunfilecheck) Checksum: EA64E58B17EAB629346B2DA401AA005D;810.
390+
Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 543.
385391
)
386392
Here is how much of TeX's memory you used:
387-
5854 strings out of 492649
388-
86874 string characters out of 6129622
389-
190465 words of memory out of 5000000
390-
9685 multiletter control sequences out of 15000+600000
393+
5851 strings out of 492649
394+
86837 string characters out of 6129622
395+
190462 words of memory out of 5000000
396+
9683 multiletter control sequences out of 15000+600000
391397
5200 words of font info for 19 fonts, out of 8000000 for 9000
392398
1141 hyphenation exceptions out of 8191
393-
37i,14n,68p,243b,474s stack positions out of 5000i,500n,10000p,200000b,80000s
399+
37i,13n,68p,243b,474s stack positions out of 5000i,500n,10000p,200000b,80000s
394400
</usr/local/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb
395401
></usr/local/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb>
396402
</usr/local/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmcsc10.pfb>
@@ -401,10 +407,10 @@ sr/local/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr
401407
cal/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/loc
402408
al/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb></usr/local
403409
/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb>
404-
Output written on CV.pdf (5 pages, 141217 bytes).
410+
Output written on CV.pdf (5 pages, 141002 bytes).
405411
PDF statistics:
406-
196 PDF objects out of 1000 (max. 8388607)
407-
177 compressed objects within 2 object streams
408-
23 named destinations out of 1000 (max. 500000)
409-
137 words of extra memory for PDF output out of 10000 (max. 10000000)
412+
193 PDF objects out of 1000 (max. 8388607)
413+
174 compressed objects within 2 object streams
414+
22 named destinations out of 1000 (max. 500000)
415+
129 words of extra memory for PDF output out of 10000 (max. 10000000)
410416

assets/CV.out

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@
77
\BOOKMARK [1][-]{section*.7}{Publications}{}% 7
88
\BOOKMARK [1][-]{section*.8}{Unpublished Work}{}% 8
99
\BOOKMARK [1][-]{section*.9}{Awarded Grants}{}% 9
10-
\BOOKMARK [1][-]{section*.10}{Proposed Grants}{}% 10
11-
\BOOKMARK [1][-]{section*.11}{Invited Talks}{}% 11
12-
\BOOKMARK [1][-]{section*.12}{Contributed Talks}{}% 12
13-
\BOOKMARK [1][-]{section*.13}{Patents}{}% 13
14-
\BOOKMARK [1][-]{section*.14}{Referee for Journals}{}% 14
15-
\BOOKMARK [1][-]{section*.15}{Awards}{}% 15
16-
\BOOKMARK [1][-]{section*.16}{Teaching Experience}{}% 16
17-
\BOOKMARK [1][-]{section*.17}{Programming Skills}{}% 17
10+
\BOOKMARK [1][-]{section*.10}{Invited Talks}{}% 10
11+
\BOOKMARK [1][-]{section*.11}{Contributed Talks}{}% 11
12+
\BOOKMARK [1][-]{section*.12}{Patents}{}% 12
13+
\BOOKMARK [1][-]{section*.13}{Referee for Journals}{}% 13
14+
\BOOKMARK [1][-]{section*.14}{Awards}{}% 14
15+
\BOOKMARK [1][-]{section*.15}{Teaching Experience}{}% 15
16+
\BOOKMARK [1][-]{section*.16}{Programming Skills}{}% 16

assets/CV.synctex.gz

-420 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)