aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuchen Pei <me@ypei.me>2018-12-12 09:19:48 +0100
committerYuchen Pei <me@ypei.me>2018-12-12 09:19:48 +0100
commitd4731984b0162b362694629d543ec74239be9c73 (patch)
treedad95e267ecb81f53e574a4faff6401f545599b4
parentfda9f1171d43462bc9c87a777c0d481168692c2b (diff)
added front matters to engine; removed site/
-rw-r--r--.gitignore1
-rw-r--r--engine/engine.py5
l---------site/assets1
-rw-r--r--site/blog-feed.xml328
-rw-r--r--site/blog.html62
-rw-r--r--site/index.html33
-rw-r--r--site/links.html84
-rw-r--r--site/microblog-feed.xml291
-rw-r--r--site/microblog.html184
-rw-r--r--site/postlist.html67
-rw-r--r--site/posts/2013-06-01-q-robinson-schensted-paper.html32
-rw-r--r--site/posts/2014-04-01-q-robinson-schensted-symmetry-paper.html33
-rw-r--r--site/posts/2015-01-20-weighted-interpretation-super-catalan-numbers.html32
-rw-r--r--site/posts/2015-04-01-unitary-double-products.html29
-rw-r--r--site/posts/2015-04-02-juggling-skill-tree.html32
-rw-r--r--site/posts/2015-05-30-infinite-binary-words-containing-repetitions-odd-periods.html49
-rw-r--r--site/posts/2015-07-01-causal-quantum-product-levy-area.html30
-rw-r--r--site/posts/2015-07-15-double-macdonald-polynomials-macdonald-superpolynomials.html41
-rw-r--r--site/posts/2016-10-13-q-robinson-schensted-knuth-polymer.html38
-rw-r--r--site/posts/2017-04-25-open_research_toywiki.html33
-rw-r--r--site/posts/2017-08-07-mathematical_bazaar.html80
-rw-r--r--site/posts/2018-04-10-update-open-research.html77
-rw-r--r--site/posts/2018-06-03-automatic_differentiation.html76
23 files changed, 6 insertions, 1632 deletions
diff --git a/.gitignore b/.gitignore
index ed73b50..65fbb88 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+site/
.swp
# Byte-compiled / optimized / DLL files
__pycache__/
diff --git a/engine/engine.py b/engine/engine.py
index 0fb95e0..c60cedc 100644
--- a/engine/engine.py
+++ b/engine/engine.py
@@ -1,3 +1,8 @@
+# Copyright Yuchen Pei 2018 (hi@ypei.me)
+# Licensed under GNU GPLv3+
+#
+# A static site generator inspired by Jekyll and Hakyll
+
import os
import re
import yaml
diff --git a/site/assets b/site/assets
deleted file mode 120000
index bae6859..0000000
--- a/site/assets
+++ /dev/null
@@ -1 +0,0 @@
-../assets/ \ No newline at end of file
diff --git a/site/blog-feed.xml b/site/blog-feed.xml
deleted file mode 100644
index 82d8c31..0000000
--- a/site/blog-feed.xml
+++ /dev/null
@@ -1,328 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<feed xmlns="http://www.w3.org/2005/Atom">
- <title type="text">Yuchen Pei's Blog</title>
- <id>https://ypei.me/blog-feed.xml</id>
- <updated>2018-06-03T00:00:00Z</updated>
- <link href="https://ypei.me" />
- <link href="https://ypei.me/blog-feed.xml" rel="self" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <generator>PyAtom</generator>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">Automatic differentiation</title>
- <id>posts/2018-06-03-automatic_differentiation.html</id>
- <updated>2018-06-03T00:00:00Z</updated>
- <link href="posts/2018-06-03-automatic_differentiation.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;This post is meant as a documentation of my understanding of autodiff. I benefited a lot from &lt;a href="http://www.cs.toronto.edu/%7Ergrosse/courses/csc321_2018/slides/lec10.pdf"&gt;Toronto CSC321 slides&lt;/a&gt; and the &lt;a href="https://github.com/mattjj/autodidact/"&gt;autodidact&lt;/a&gt; project which is a pedagogical implementation of &lt;a href="https://github.com/hips/autograd"&gt;Autograd&lt;/a&gt;. That said, any mistakes in this note are mine (especially since some of the knowledge is obtained from interpreting slides!), and if you do spot any I would be grateful if you can let me know.&lt;/p&gt;
-&lt;p&gt;Automatic differentiation (AD) is a way to compute derivatives. It does so by traversing through a computational graph using the chain rule.&lt;/p&gt;
-&lt;p&gt;There are the forward mode AD and reverse mode AD, which are kind of symmetric to each other and understanding one of them results in little to no difficulty in understanding the other.&lt;/p&gt;
-&lt;p&gt;In the language of neural networks, one can say that the forward mode AD is used when one wants to compute the derivatives of functions at all layers with respect to input layer weights, whereas the reverse mode AD is used to compute the derivatives of output functions with respect to weights at all layers. Therefore reverse mode AD (rmAD) is the one to use for gradient descent, which is the one we focus in this post.&lt;/p&gt;
-&lt;p&gt;Basically rmAD requires the computation to be sufficiently decomposed, so that in the computational graph, each node as a function of its parent nodes is an elementary function that the AD engine has knowledge about.&lt;/p&gt;
-&lt;p&gt;For example, the Sigmoid activation &lt;span class="math inline"&gt;\(a&amp;#39; = \sigma(w a + b)\)&lt;/span&gt; is quite simple, but it should be decomposed to simpler computations:&lt;/p&gt;
-&lt;ul&gt;
-&lt;li&gt;&lt;span class="math inline"&gt;\(a&amp;#39; = 1 / t_1\)&lt;/span&gt;&lt;/li&gt;
-&lt;li&gt;&lt;span class="math inline"&gt;\(t_1 = 1 + t_2\)&lt;/span&gt;&lt;/li&gt;
-&lt;li&gt;&lt;span class="math inline"&gt;\(t_2 = \exp(t_3)\)&lt;/span&gt;&lt;/li&gt;
-&lt;li&gt;&lt;span class="math inline"&gt;\(t_3 = - t_4\)&lt;/span&gt;&lt;/li&gt;
-&lt;li&gt;&lt;span class="math inline"&gt;\(t_4 = t_5 + b\)&lt;/span&gt;&lt;/li&gt;
-&lt;li&gt;&lt;span class="math inline"&gt;\(t_5 = w a\)&lt;/span&gt;&lt;/li&gt;
-&lt;/ul&gt;
-&lt;p&gt;Thus the function &lt;span class="math inline"&gt;\(a&amp;#39;(a)\)&lt;/span&gt; is decomposed to elementary operations like addition, subtraction, multiplication, reciprocitation, exponentiation, logarithm etc. And the rmAD engine stores the Jacobian of these elementary operations.&lt;/p&gt;
-&lt;p&gt;Since in neural networks we want to find derivatives of a single loss function &lt;span class="math inline"&gt;\(L(x; \theta)\)&lt;/span&gt;, we can omit &lt;span class="math inline"&gt;\(L\)&lt;/span&gt; when writing derivatives and denote, say &lt;span class="math inline"&gt;\(\bar \theta_k := \partial_{\theta_k} L\)&lt;/span&gt;.&lt;/p&gt;
-&lt;p&gt;In implementations of rmAD, one can represent the Jacobian as a transformation &lt;span class="math inline"&gt;\(j: (x \to y) \to (y, \bar y, x) \to \bar x\)&lt;/span&gt;. &lt;span class="math inline"&gt;\(j\)&lt;/span&gt; is called the &lt;em&gt;Vector Jacobian Product&lt;/em&gt; (VJP). For example, &lt;span class="math inline"&gt;\(j(\exp)(y, \bar y, x) = y \bar y\)&lt;/span&gt; since given &lt;span class="math inline"&gt;\(y = \exp(x)\)&lt;/span&gt;,&lt;/p&gt;
-&lt;p&gt;&lt;span class="math inline"&gt;\(\partial_x L = \partial_x y \cdot \partial_y L = \partial_x \exp(x) \cdot \partial_y L = y \bar y\)&lt;/span&gt;&lt;/p&gt;
-&lt;p&gt;as another example, &lt;span class="math inline"&gt;\(j(+)(y, \bar y, x_1, x_2) = (\bar y, \bar y)\)&lt;/span&gt; since given &lt;span class="math inline"&gt;\(y = x_1 + x_2\)&lt;/span&gt;, &lt;span class="math inline"&gt;\(\bar{x_1} = \bar{x_2} = \bar y\)&lt;/span&gt;.&lt;/p&gt;
-&lt;p&gt;Similarly,&lt;/p&gt;
-&lt;ol type="1"&gt;
-&lt;li&gt;&lt;span class="math inline"&gt;\(j(/)(y, \bar y, x_1, x_2) = (\bar y / x_2, - \bar y x_1 / x_2^2)\)&lt;/span&gt;&lt;/li&gt;
-&lt;li&gt;&lt;span class="math inline"&gt;\(j(\log)(y, \bar y, x) = \bar y / x\)&lt;/span&gt;&lt;/li&gt;
-&lt;li&gt;&lt;span class="math inline"&gt;\(j((A, \beta) \mapsto A \beta)(y, \bar y, A, \beta) = (\bar y \otimes \beta, A^T \bar y)\)&lt;/span&gt;.&lt;/li&gt;
-&lt;li&gt;etc...&lt;/li&gt;
-&lt;/ol&gt;
-&lt;p&gt;In the third one, the function is a matrix &lt;span class="math inline"&gt;\(A\)&lt;/span&gt; multiplied on the right by a column vector &lt;span class="math inline"&gt;\(\beta\)&lt;/span&gt;, and &lt;span class="math inline"&gt;\(\bar y \otimes \beta\)&lt;/span&gt; is the tensor product which is a fancy way of writing &lt;span class="math inline"&gt;\(\bar y \beta^T\)&lt;/span&gt;. See &lt;a href="https://github.com/mattjj/autodidact/blob/master/autograd/numpy/numpy_vjps.py"&gt;numpy_vjps.py&lt;/a&gt; for the implementation in autodidact.&lt;/p&gt;
-&lt;p&gt;So, given a node say &lt;span class="math inline"&gt;\(y = y(x_1, x_2, ..., x_n)\)&lt;/span&gt;, and given the value of &lt;span class="math inline"&gt;\(y\)&lt;/span&gt;, &lt;span class="math inline"&gt;\(x_{1 : n}\)&lt;/span&gt; and &lt;span class="math inline"&gt;\(\bar y\)&lt;/span&gt;, rmAD computes the values of &lt;span class="math inline"&gt;\(\bar x_{1 : n}\)&lt;/span&gt; by using the Jacobians.&lt;/p&gt;
-&lt;p&gt;This is the gist of rmAD. It stores the values of each node in a forward pass, and computes the derivatives of each node exactly once in a backward pass.&lt;/p&gt;
-&lt;p&gt;It is a nice exercise to derive the backpropagation in the fully connected feedforward neural networks (e.g. &lt;a href="http://neuralnetworksanddeeplearning.com/chap2.html#the_four_fundamental_equations_behind_backpropagation"&gt;the one for MNIST in Neural Networks and Deep Learning&lt;/a&gt;) using rmAD.&lt;/p&gt;
-&lt;p&gt;AD is an approach lying between the extremes of numerical approximation (e.g. finite difference) and symbolic evaluation. It uses exact formulas (VJP) at each elementary operation like symbolic evaluation, while evaluates each VJP numerically rather than lumping all the VJPs into an unwieldy symbolic formula.&lt;/p&gt;
-&lt;p&gt;Things to look further into: the higher-order functional currying form &lt;span class="math inline"&gt;\(j: (x \to y) \to (y, \bar y, x) \to \bar x\)&lt;/span&gt; begs for a functional programming implementation.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">Updates on open research</title>
- <id>posts/2018-04-10-update-open-research.html</id>
- <updated>2018-04-29T00:00:00Z</updated>
- <link href="posts/2018-04-10-update-open-research.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;It has been 9 months since I last wrote about open (maths) research. Since then two things happened which prompted me to write an update.&lt;/p&gt;
-&lt;p&gt;As always I discuss open research only in mathematics, not because I think it should not be applied to other disciplines, but simply because I do not have experience nor sufficient interests in non-mathematical subjects.&lt;/p&gt;
-&lt;p&gt;First, I read about Richard Stallman the founder of the free software movement, in &lt;a href="http://shop.oreilly.com/product/9780596002879.do"&gt;his biography by Sam Williams&lt;/a&gt; and his own collection of essays &lt;a href="https://shop.fsf.org/books-docs/free-software-free-society-selected-essays-richard-m-stallman-3rd-edition"&gt;&lt;em&gt;Free software, free society&lt;/em&gt;&lt;/a&gt;, from which I learned a bit more about the context and philosophy of free software and its relation to that of open source software. For anyone interested in open research, I highly recommend having a look at these two books. I am also reading Levy’s &lt;a href="http://www.stevenlevy.com/index.php/books/hackers"&gt;Hackers&lt;/a&gt;, which documented the development of the hacker culture predating Stallman. I can see the connection of ideas from the hacker ethic to the free software philosophy and to the open source philosophy. My guess is that the software world is fortunate to have pioneers who advocated for various kinds of freedom and openness from the beginning, whereas for academia which has a much longer history, credit protection has always been a bigger concern.&lt;/p&gt;
-&lt;p&gt;Also a month ago I attended a workshop called &lt;a href="https://www.perimeterinstitute.ca/conferences/open-research-rethinking-scientific-collaboration"&gt;Open research: rethinking scientific collaboration&lt;/a&gt;. That was the first time I met a group of people (mostly physicists) who also want open research to happen, and we had some stimulating discussions. Many thanks to the organisers at Perimeter Institute for organising the event, and special thanks to &lt;a href="https://www.perimeterinstitute.ca/people/matteo-smerlak"&gt;Matteo Smerlak&lt;/a&gt; and &lt;a href="https://www.perimeterinstitute.ca/people/ashley-milsted"&gt;Ashley Milsted&lt;/a&gt; for invitation and hosting.&lt;/p&gt;
-&lt;p&gt;From both of these I feel like I should write an updated post on open research.&lt;/p&gt;
-&lt;h3 id="freedom-and-community"&gt;Freedom and community&lt;/h3&gt;
-&lt;p&gt;Ideals matter. Stallman’s struggles stemmed from the frustration of denied request of source code (a frustration I shared in academia except source code is replaced by maths knowledge), and revolved around two things that underlie the free software movement: freedom and community. That is, the freedom to use, modify and share a work, and by sharing, to help the community.&lt;/p&gt;
-&lt;p&gt;Likewise, as for open research, apart from the utilitarian view that open research is more efficient / harder for credit theft, we should not ignore the ethical aspect that open research is right and fair. In particular, I think freedom and community can also serve as principles in open research. One way to make this argument more concrete is to describe what I feel are the central problems: NDAs (non-disclosure agreements) and reproducibility.&lt;/p&gt;
-&lt;p&gt;&lt;strong&gt;NDAs&lt;/strong&gt;. It is assumed that when establishing a research collaboration, or just having a discussion, all those involved own the joint work in progress, and no one has the freedom to disclose any information e.g. intermediate results without getting permission from all collaborators. In effect this amounts to signing an NDA. NDAs are harmful because they restrict people’s freedom from sharing information that can benefit their own or others’ research. Considering that in contrast to the private sector, the primary goal of academia is knowledge but not profit, NDAs in research are unacceptable.&lt;/p&gt;
-&lt;p&gt;&lt;strong&gt;Reproducibility&lt;/strong&gt;. Research papers written down are not necessarily reproducible, even though they appear on peer-reviewed journals. This is because the peer-review process is opaque and the proofs in the papers may not be clear to everyone. To make things worse, there are no open channels to discuss results in these papers and one may have to rely on interacting with the small circle of the informed. One example is folk theorems. Another is trade secrets required to decipher published works.&lt;/p&gt;
-&lt;p&gt;I should clarify that freedom works both ways. One should have the freedom to disclose maths knowledge, but they should also be free to withhold any information that does not hamper the reproducibility of published works (e.g. results in ongoing research yet to be published), even though it may not be nice to do so when such information can help others with their research.&lt;/p&gt;
-&lt;p&gt;Similar to the solution offered by the free software movement, we need a community that promotes and respects free flow of maths knowledge, in the spirit of the &lt;a href="https://www.gnu.org/philosophy/"&gt;four essential freedoms&lt;/a&gt;, a community that rejects NDAs and upholds reproducibility.&lt;/p&gt;
-&lt;p&gt;Here are some ideas on how to tackle these two problems and build the community:&lt;/p&gt;
-&lt;ol type="1"&gt;
-&lt;li&gt;Free licensing. It solves NDA problem - free licenses permit redistribution and modification of works, so if you adopt them in your joint work, then you have the freedom to modify and distribute the work; it also helps with reproducibility - if a paper is not clear, anyone can write their own version and publish it. Bonus points with the use of copyleft licenses like &lt;a href="https://creativecommons.org/licenses/by-sa/4.0/"&gt;Creative Commons Share-Alike&lt;/a&gt; or the &lt;a href="https://www.gnu.org/licenses/fdl.html"&gt;GNU Free Documentation License&lt;/a&gt;.&lt;/li&gt;
-&lt;li&gt;A forum for discussions of mathematics. It helps solve the reproducibility problem - public interaction may help quickly clarify problems. By the way, Math Overflow is not a forum.&lt;/li&gt;
-&lt;li&gt;An infrastructure of mathematical knowledge. Like the GNU system, a mathematics encyclopedia under a copyleft license maintained in the Github-style rather than Wikipedia-style by a “Free Mathematics Foundation”, and drawing contributions from the public (inside or outside of the academia). To begin with, crowd-source (again, Github-style) the proofs of say 1000 foundational theorems covered in the curriculum of a bachelor’s degree. Perhaps start with taking contributions from people with some credentials (e.g. having a bachelor degree in maths) and then expand the contribution permission to the public, or taking advantage of existing corpus under free license like Wikipedia.&lt;/li&gt;
-&lt;li&gt;Citing with care: if a work is considered authorative but you couldn’t reproduce the results, whereas another paper which tries to explain or discuss similar results makes the first paper understandable to you, give both papers due attribution (something like: see [1], but I couldn’t reproduce the proof in [1], and the proofs in [2] helped clarify it). No one should be offended if you say you can not reproduce something - there may be causes on both sides, whereas citing [2] is fairer and helps readers with a similar background.&lt;/li&gt;
-&lt;/ol&gt;
-&lt;h3 id="tools-for-open-research"&gt;Tools for open research&lt;/h3&gt;
-&lt;p&gt;The open research workshop revolved around how to lead academia towards a more open culture. There were discussions on open research tools, improving credit attributions, the peer-review process and the path to adoption.&lt;/p&gt;
-&lt;p&gt;During the workshop many efforts for open research were mentioned, and afterwards I was also made aware by more of them, like the following:&lt;/p&gt;
-&lt;ul&gt;
-&lt;li&gt;&lt;a href="https://osf.io"&gt;OSF&lt;/a&gt;, an online research platform. It has a clean and simple interface with commenting, wiki, citation generation, DOI generation, tags, license generation etc. Like Github it supports private and public repositories (but defaults to private), version control, with the ability to fork or bookmark a project.&lt;/li&gt;
-&lt;li&gt;&lt;a href="https://scipost.org/"&gt;SciPost&lt;/a&gt;, physics journals whose peer review reports and responses are public (peer-witnessed refereeing), and allows comments (post-publication evaluation). Like arXiv, it requires some academic credential (PhD or above) to register.&lt;/li&gt;
-&lt;li&gt;&lt;a href="https://knowen.org/"&gt;Knowen&lt;/a&gt;, a platform to organise knowledge in directed acyclic graphs. Could be useful for building the infrastructure of mathematical knowledge.&lt;/li&gt;
-&lt;li&gt;&lt;a href="https://fermatslibrary.com/"&gt;Fermat’s Library&lt;/a&gt;, the journal club website that crowd-annotates one notable paper per week released a Chrome extension &lt;a href="https://fermatslibrary.com/librarian"&gt;Librarian&lt;/a&gt; that overlays a commenting interface on arXiv. As an example Ian Goodfellow did an &lt;a href="https://fermatslibrary.com/arxiv_comments?url=https://arxiv.org/pdf/1406.2661.pdf"&gt;AMA (ask me anything) on his GAN paper&lt;/a&gt;.&lt;/li&gt;
-&lt;li&gt;&lt;a href="https://polymathprojects.org/"&gt;The Polymath project&lt;/a&gt;, the famous massive collaborative mathematical project. Not exactly new, the Polymath project is the only open maths research project that has gained some traction and recognition. However, it does not have many active projects (&lt;a href="http://michaelnielsen.org/polymath1/index.php?title=Main_Page"&gt;currently only one active project&lt;/a&gt;).&lt;/li&gt;
-&lt;li&gt;&lt;a href="https://stacks.math.columbia.edu/"&gt;The Stacks Project&lt;/a&gt;. I was made aware of this project by &lt;a href="https://people.kth.se/~yitingl/"&gt;Yiting&lt;/a&gt;. Its data is hosted on github and accepts contributions via pull requests and is licensed under the GNU Free Documentation License, ticking many boxes of the free and open source model.&lt;/li&gt;
-&lt;/ul&gt;
-&lt;h3 id="an-anecdote-from-the-workshop"&gt;An anecdote from the workshop&lt;/h3&gt;
-&lt;p&gt;In a conversation during the workshop, one of the participants called open science “normal science”, because reproducibility, open access, collaborations, and fair attributions are all what science is supposed to be, and practices like treating the readers as buyers rather than users should be called “bad science”, rather than “closed science”.&lt;/p&gt;
-&lt;p&gt;To which an organiser replied: maybe we should rename the workshop “Not-bad science”.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">The Mathematical Bazaar</title>
- <id>posts/2017-08-07-mathematical_bazaar.html</id>
- <updated>2017-08-07T00:00:00Z</updated>
- <link href="posts/2017-08-07-mathematical_bazaar.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;In this essay I describe some problems in academia of mathematics and propose an open source model, which I call open research in mathematics.&lt;/p&gt;
-&lt;p&gt;This essay is a work in progress - comments and criticisms are welcome! &lt;a href="#fn1" class="footnote-ref" id="fnref1"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
-&lt;p&gt;Before I start I should point out that&lt;/p&gt;
-&lt;ol type="1"&gt;
-&lt;li&gt;Open research is &lt;em&gt;not&lt;/em&gt; open access. In fact the latter is a prerequisite to the former.&lt;/li&gt;
-&lt;li&gt;I am not proposing to replace the current academic model with the open model - I know academia works well for many people and I am happy for them, but I think an open research community is long overdue since the wide adoption of the World Wide Web more than two decades ago. In fact, I fail to see why an open model can not run in tandem with the academia, just like open source and closed source software development coexist today.&lt;/li&gt;
-&lt;/ol&gt;
-&lt;h2 id="problems-of-academia"&gt;problems of academia&lt;/h2&gt;
-&lt;p&gt;Open source projects are characterised by publicly available source codes as well as open invitations for public collaborations, whereas closed source projects do not make source codes accessible to the public. How about mathematical academia then, is it open source or closed source? The answer is neither.&lt;/p&gt;
-&lt;p&gt;Compared to some other scientific disciplines, mathematics does not require expensive equipments or resources to replicate results; compared to programming in conventional software industry, mathematical findings are not meant to be commercial, as credits and reputation rather than money are the direct incentives (even though the former are commonly used to trade for the latter). It is also a custom and common belief that mathematical derivations and theorems shouldn't be patented. Because of this, mathematical research is an open source activity in the sense that proofs to new results are all available in papers, and thanks to open access e.g. the arXiv preprint repository most of the new mathematical knowledge is accessible for free.&lt;/p&gt;
-&lt;p&gt;Then why, you may ask, do I claim that maths research is not open sourced? Well, this is because 1. mathematical arguments are not easily replicable and 2. mathematical research projects are mostly not open for public participation.&lt;/p&gt;
-&lt;p&gt;Compared to computer programs, mathematical arguments are not written in an unambiguous language, and they are terse and not written in maximum verbosity (this is especially true in research papers as journals encourage limiting the length of submissions), so the understanding of a proof depends on whether the reader is equipped with the right background knowledge, and the completeness of a proof is highly subjective. More generally speaking, computer programs are mostly portable because all machines with the correct configurations can understand and execute a piece of program, whereas humans are subject to their environment, upbringings, resources etc. to have a brain ready to comprehend a proof that interests them. (these barriers are softer than the expensive equipments and resources in other scientific fields mentioned before because it is all about having access to the right information)&lt;/p&gt;
-&lt;p&gt;On the other hand, as far as the pursuit of reputation and prestige (which can be used to trade for the scarce resource of research positions and grant money) goes, there is often little practical motivation for career mathematicians to explain their results to the public carefully. And so the weird reality of the mathematical academia is that it is not an uncommon practice to keep trade secrets in order to protect one's territory and maintain a monopoly. This is doable because as long as a paper passes the opaque and sometimes political peer review process and is accepted by a journal, it is considered work done, accepted by the whole academic community and adds to the reputation of the author(s). Just like in the software industry, trade secrets and monopoly hinder the development of research as a whole, as well as demoralise outsiders who are interested in participating in related research.&lt;/p&gt;
-&lt;p&gt;Apart from trade secrets and territoriality, another reason to the nonexistence of open research community is an elitist tradition in the mathematical academia, which goes as follows:&lt;/p&gt;
-&lt;ul&gt;
-&lt;li&gt;Whoever is not good at mathematics or does not possess a degree in maths is not eligible to do research, or else they run high risks of being labelled a crackpot.&lt;/li&gt;
-&lt;li&gt;Mistakes made by established mathematicians are more tolerable than those less established.&lt;/li&gt;
-&lt;li&gt;Good mathematical writings should be deep, and expositions of non-original results are viewed as inferior work and do not add to (and in some cases may even damage) one's reputation.&lt;/li&gt;
-&lt;/ul&gt;
-&lt;p&gt;All these customs potentially discourage public participations in mathematical research, and I do not see them easily go away unless an open source community gains momentum.&lt;/p&gt;
-&lt;p&gt;To solve the above problems, I propose a open source model of mathematical research, which has high levels of openness and transparency and also has some added benefits listed in the last section of this essay. This model tries to achieve two major goals:&lt;/p&gt;
-&lt;ul&gt;
-&lt;li&gt;Open and public discussions and collaborations of mathematical research projects online&lt;/li&gt;
-&lt;li&gt;Open review to validate results, where author name, reviewer name, comments and responses are all publicly available online.&lt;/li&gt;
-&lt;/ul&gt;
-&lt;p&gt;To this end, a Github model is fitting. Let me first describe how open source collaboration works on Github.&lt;/p&gt;
-&lt;h2 id="open-source-collaborations-on-github"&gt;open source collaborations on Github&lt;/h2&gt;
-&lt;p&gt;On &lt;a href="https://github.com"&gt;Github&lt;/a&gt;, every project is publicly available in a repository (we do not consider private repos). The owner can update the project by &amp;quot;committing&amp;quot; changes, which include a message of what has been changed, the author of the changes and a timestamp. Each project has an issue tracker, which is basically a discussion forum about the project, where anyone can open an issue (start a discussion), and the owner of the project as well as the original poster of the issue can close it if it is resolved, e.g. bug fixed, feature added, or out of the scope of the project. Closing the issue is like ending the discussion, except that the thread is still open to more posts for anyone interested. People can react to each issue post, e.g. upvote, downvote, celebration, and importantly, all the reactions are public too, so you can find out who upvoted or downvoted your post.&lt;/p&gt;
-&lt;p&gt;When one is interested in contributing code to a project, they fork it, i.e. make a copy of the project, and make the changes they like in the fork. Once they are happy with the changes, they submit a pull request to the original project. The owner of the original project may accept or reject the request, and they can comment on the code in the pull request, asking for clarification, pointing out problematic part of the code etc and the author of the pull request can respond to the comments. Anyone, not just the owner can participate in this review process, turning it into a public discussion. In fact, a pull request is a special issue thread. Once the owner is happy with the pull request, they accept it and the changes are merged into the original project. The author of the changes will show up in the commit history of the original project, so they get the credits.&lt;/p&gt;
-&lt;p&gt;As an alternative to forking, if one is interested in a project but has a different vision, or that the maintainer has stopped working on it, they can clone it and make their own version. This is a more independent kind of fork because there is no longer intention to contribute back to the original project.&lt;/p&gt;
-&lt;p&gt;Moreover, on Github there is no way to send private messages, which forces people to interact publicly. If say you want someone to see and reply to your comment in an issue post or pull request, you simply mention them by &lt;code&gt;@someone&lt;/code&gt;.&lt;/p&gt;
-&lt;h2 id="open-research-in-mathematics"&gt;open research in mathematics&lt;/h2&gt;
-&lt;p&gt;All this points to a promising direction of open research. A maths project may have a wiki / collection of notes, the paper being written, computer programs implementing the results etc. The issue tracker can serve as a discussion forum about the project as well as a platform for open review (bugs are analogous to mistakes, enhancements are possible ways of improving the main results etc.), and anyone can make their own version of the project, and (optionally) contribute back by making pull requests, which will also be openly reviewed. One may want to add an extra &amp;quot;review this project&amp;quot; functionality, so that people can comment on the original project like they do in a pull request. This may or may not be necessary, as anyone can make comments or point out mistakes in the issue tracker.&lt;/p&gt;
-&lt;p&gt;One may doubt this model due to concerns of credits because work in progress is available to anyone. Well, since all the contributions are trackable in project commit history and public discussions in issues and pull request reviews, there is in fact &lt;em&gt;less&lt;/em&gt; room for cheating than the current model in academia, where scooping can happen without any witnesses. What we need is a platform with a good amount of trust like arXiv, so that the open research community honours (and can not ignore) the commit history, and the chance of mis-attribution can be reduced to minimum.&lt;/p&gt;
-&lt;p&gt;Compared to the academic model, open research also has the following advantages:&lt;/p&gt;
-&lt;ul&gt;
-&lt;li&gt;Anyone in the world with Internet access will have a chance to participate in research, whether they are affiliated to a university, have the financial means to attend conferences, or are colleagues of one of the handful experts in a specific field.&lt;/li&gt;
-&lt;li&gt;The problem of replicating / understanding maths results will be solved, as people help each other out. This will also remove the burden of answering queries about one's research. For example, say one has a project &amp;quot;Understanding the fancy results in [paper name]&amp;quot;, they write up some initial notes but get stuck understanding certain arguments. In this case they can simply post the questions on the issue tracker, and anyone who knows the answer, or just has a speculation can participate in the discussion. In the end the problem may be resolved without the authors of the paper being bothered, who may be too busy to answer.&lt;/li&gt;
-&lt;li&gt;Similarly, the burden of peer review can also be shifted from a few appointed reviewers to the crowd.&lt;/li&gt;
-&lt;/ul&gt;
-&lt;h2 id="related-readings"&gt;related readings&lt;/h2&gt;
-&lt;ul&gt;
-&lt;li&gt;&lt;a href="http://www.catb.org/esr/writings/cathedral-bazaar/"&gt;The Cathedral and the Bazaar by Eric Raymond&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="http://michaelnielsen.org/blog/doing-science-online/"&gt;Doing sience online by Michael Nielson&lt;/a&gt;&lt;/li&gt;
-&lt;li&gt;&lt;a href="https://gowers.wordpress.com/2009/01/27/is-massively-collaborative-mathematics-possible/"&gt;Is massively collaborative mathematics possible? by Timothy Gowers&lt;/a&gt;&lt;/li&gt;
-&lt;/ul&gt;
-&lt;section class="footnotes"&gt;
-&lt;hr /&gt;
-&lt;ol&gt;
-&lt;li id="fn1"&gt;&lt;p&gt;Please send your comments to my email address - I am still looking for ways to add a comment functionality to this website.&lt;a href="#fnref1" class="footnote-back"&gt;↩&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
-&lt;/ol&gt;
-&lt;/section&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">Open mathematical research and launching toywiki</title>
- <id>posts/2017-04-25-open_research_toywiki.html</id>
- <updated>2017-04-25T00:00:00Z</updated>
- <link href="posts/2017-04-25-open_research_toywiki.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;As an experimental project, I am launching toywiki.&lt;/p&gt;
-&lt;p&gt;It hosts a collection of my research notes.&lt;/p&gt;
-&lt;p&gt;It takes some ideas from the open source culture and apply them to mathematical research: 1. It uses a very permissive license (CC-BY-SA). For example anyone can fork the project and make their own version if they have a different vision and want to build upon the project. 2. All edits will done with maximum transparency, and discussions of any of notes should also be as public as possible (e.g. Github issues) 3. Anyone can suggest changes by opening issues and submitting pull requests&lt;/p&gt;
-&lt;p&gt;Here are the links: &lt;a href="http://toywiki.xyz"&gt;toywiki&lt;/a&gt; and &lt;a href="https://github.com/ycpei/toywiki"&gt;github repo&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;Feedbacks are welcome by email.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">A \(q\)-Robinson-Schensted-Knuth algorithm and a \(q\)-polymer</title>
- <id>posts/2016-10-13-q-robinson-schensted-knuth-polymer.html</id>
- <updated>2016-10-13T00:00:00Z</updated>
- <link href="posts/2016-10-13-q-robinson-schensted-knuth-polymer.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;(Latest update: 2017-01-12) In &lt;a href="http://arxiv.org/abs/1504.00666"&gt;Matveev-Petrov 2016&lt;/a&gt; a \(q\)-deformed Robinson-Schensted-Knuth algorithm (\(q\)RSK) was introduced. In this article we give reformulations of this algorithm in terms of Noumi-Yamada description, growth diagrams and local moves. We show that the algorithm is symmetric, namely the output tableaux pair are swapped in a sense of distribution when the input matrix is transposed. We also formulate a \(q\)-polymer model based on the \(q\)RSK and prove the corresponding Burke property, which we use to show a strong law of large numbers for the partition function given stationary boundary conditions and \(q\)-geometric weights. We use the \(q\)-local moves to define a generalisation of the \(q\)RSK taking a Young diagram-shape of array as the input. We write down the joint distribution of partition functions in the space-like direction of the \(q\)-polymer in \(q\)-geometric environment, formulate a \(q\)-version of the multilayer polynuclear growth model (\(q\)PNG) and write down the joint distribution of the \(q\)-polymer partition functions at a fixed time.&lt;/p&gt;
-&lt;p&gt;This article is available at &lt;a href="https://arxiv.org/abs/1610.03692"&gt;arXiv&lt;/a&gt;. It seems to me that one difference between arXiv and Github is that on arXiv each preprint has a few versions only. In Github many projects have a “dev” branch hosting continuous updates, whereas the master branch is where the stable releases live.&lt;/p&gt;
-&lt;p&gt;&lt;a href="%7B%7B%20site.url%20%7D%7D/assets/resources/qrsklatest.pdf"&gt;Here&lt;/a&gt; is a “dev” version of the article, which I shall push to arXiv when it stablises. Below is the changelog.&lt;/p&gt;
-&lt;ul&gt;
-&lt;li&gt;2017-01-12: Typos and grammar, arXiv v2.&lt;/li&gt;
-&lt;li&gt;2016-12-20: Added remarks on the geometric \(q\)-pushTASEP. Added remarks on the converse of the Burke property. Added natural language description of the \(q\)RSK. Fixed typos.&lt;/li&gt;
-&lt;li&gt;2016-11-13: Fixed some typos in the proof of Theorem 3.&lt;/li&gt;
-&lt;li&gt;2016-11-07: Fixed some typos. The \(q\)-Burke property is now stated in a more symmetric way, so is the law of large numbers Theorem 2.&lt;/li&gt;
-&lt;li&gt;2016-10-20: Fixed a few typos. Updated some references. Added a reference: &lt;a href="http://web.mit.edu/~shopkins/docs/rsk.pdf"&gt;a set of notes titled “RSK via local transformations”&lt;/a&gt;. It is written by &lt;a href="http://web.mit.edu/~shopkins/"&gt;Sam Hopkins&lt;/a&gt; in 2014 as an expository article based on MIT combinatorics preseminar presentations of Alex Postnikov. It contains some idea (applying local moves to a general Young-diagram shaped array in the order that matches any growth sequence of the underlying Young diagram) which I thought I was the first one to write down.&lt;/li&gt;
-&lt;/ul&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">AMS review of 'Double Macdonald polynomials as the stable limit of Macdonald superpolynomials' by Blondeau-Fournier, Lapointe and Mathieu</title>
- <id>posts/2015-07-15-double-macdonald-polynomials-macdonald-superpolynomials.html</id>
- <updated>2015-07-15T00:00:00Z</updated>
- <link href="posts/2015-07-15-double-macdonald-polynomials-macdonald-superpolynomials.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;A Macdonald superpolynomial (introduced in [O. Blondeau-Fournier et al., Lett. Math. Phys. &lt;span class="bf"&gt;101&lt;/span&gt; (2012), no. 1, 27–47; &lt;a href="http://www.ams.org/mathscinet/search/publdoc.html?pg1=MR&amp;amp;s1=2935476&amp;amp;loc=fromrevtext"&gt;MR2935476&lt;/a&gt;; J. Comb. &lt;span class="bf"&gt;3&lt;/span&gt; (2012), no. 3, 495–561; &lt;a href="http://www.ams.org/mathscinet/search/publdoc.html?pg1=MR&amp;amp;s1=3029444&amp;amp;loc=fromrevtext"&gt;MR3029444&lt;/a&gt;]) in \(N\) Grassmannian variables indexed by a superpartition \(\Lambda\) is said to be stable if \({m (m + 1) \over 2} \ge |\Lambda|\) and \(N \ge |\Lambda| - {m (m - 3) \over 2}\) , where \(m\) is the fermionic degree. A stable Macdonald superpolynomial (corresponding to a bisymmetric polynomial) is also called a double Macdonald polynomial (dMp). The main result of this paper is the factorisation of a dMp into plethysms of two classical Macdonald polynomials (Theorem 5). Based on this result, this paper&lt;/p&gt;
-&lt;ol type="1"&gt;
-&lt;li&gt;&lt;p&gt;shows that the dMp has a unique decomposition into bisymmetric monomials;&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;calculates the norm of the dMp;&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;calculates the kernel of the Cauchy-Littlewood-type identity of the dMp;&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;shows the specialisation of the aforementioned factorisation to the Jack, Hall-Littlewood and Schur cases. One of the three Schur specialisations, denoted as \(s_{\lambda, \mu}\), also appears in (7) and (9) below;&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;defines the \(\omega\) -automorphism in this setting, which was used to prove an identity involving products of four Littlewood-Richardson coefficients;&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;shows an explicit evaluation of the dMp motivated by the most general evaluation of the usual Macdonald polynomials;&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;relates dMps with the representation theory of the hyperoctahedral group \(B_n\) via the double Kostka coefficients (which are defined as the entries of the transition matrix from the bisymmetric Schur functions \(s_{\lambda, \mu}\) to the modified dMps);&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;shows that the double Kostka coefficients have the positivity and the symmetry property, and can be written as sums of products of the usual Kostka coefficients;&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;defines an operator \(\nabla^B\) as an analogue of the nabla operator \(\nabla\) introduced in [F. Bergeron and A. M. Garsia, in &lt;em&gt;Algebraic methods and \(q\)-special functions&lt;/em&gt; (Montréal, QC, 1996), 1–52, CRM Proc. Lecture Notes, 22, Amer. Math. Soc., Providence, RI, 1999; &lt;a href="http://www.ams.org/mathscinet/search/publdoc.html?r=1&amp;amp;pg1=MR&amp;amp;s1=1726826&amp;amp;loc=fromrevtext"&gt;MR1726826&lt;/a&gt;]. The action of \(\nabla^B\) on the bisymmetric Schur function \(s_{\lambda, \mu}\) yields the dimension formula \((h + 1)^r\) for the corresponding representation of \(B_n\) , where \(h\) and \(r\) are the Coxeter number and the rank of \(B_n\) , in the same way that the action of \(\nabla\) on the \(n\) th elementary symmetric function leads to the same formula for the group of type \(A_n\) .&lt;/p&gt;&lt;/li&gt;
-&lt;/ol&gt;
-&lt;p&gt;Copyright notice: This review is published at http://www.ams.org/mathscinet-getitem?mr=3306078, its copyright owned by the AMS.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">On a causal quantum double product integral related to Lévy stochastic area.</title>
- <id>posts/2015-07-01-causal-quantum-product-levy-area.html</id>
- <updated>2015-07-01T00:00:00Z</updated>
- <link href="posts/2015-07-01-causal-quantum-product-levy-area.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;In &lt;a href="https://arxiv.org/abs/1506.04294"&gt;this paper&lt;/a&gt; with &lt;a href="http://homepages.lboro.ac.uk/~marh3/"&gt;Robin&lt;/a&gt; we study the family of causal double product integrals \[ \prod_{a &amp;lt; x &amp;lt; y &amp;lt; b}\left(1 + i{\lambda \over 2}(dP_x dQ_y - dQ_x dP_y) + i {\mu \over 2}(dP_x dP_y + dQ_x dQ_y)\right) \]&lt;/p&gt;
-&lt;p&gt;where &lt;span class="math inline"&gt;\(P\)&lt;/span&gt; and &lt;span class="math inline"&gt;\(Q\)&lt;/span&gt; are the mutually noncommuting momentum and position Brownian motions of quantum stochastic calculus. The evaluation is motivated heuristically by approximating the continuous double product by a discrete product in which infinitesimals are replaced by finite increments. The latter is in turn approximated by the second quantisation of a discrete double product of rotation-like operators in different planes due to a result in &lt;a href="http://www.actaphys.uj.edu.pl/findarticle?series=Reg&amp;amp;vol=46&amp;amp;page=1851"&gt;(Hudson-Pei2015)&lt;/a&gt;. The main problem solved in this paper is the explicit evaluation of the continuum limit &lt;span class="math inline"&gt;\(W\)&lt;/span&gt; of the latter, and showing that &lt;span class="math inline"&gt;\(W\)&lt;/span&gt; is a unitary operator. The kernel of &lt;span class="math inline"&gt;\(W\)&lt;/span&gt; is written in terms of Bessel functions, and the evaluation is achieved by working on a lattice path model and enumerating linear extensions of related partial orderings, where the enumeration turns out to be heavily related to Dyck paths and generalisations of Catalan numbers.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">AMS review of 'Infinite binary words containing repetitions of odd period' by Badkobeh and Crochemore</title>
- <id>posts/2015-05-30-infinite-binary-words-containing-repetitions-odd-periods.html</id>
- <updated>2015-05-30T00:00:00Z</updated>
- <link href="posts/2015-05-30-infinite-binary-words-containing-repetitions-odd-periods.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;This paper is about the existence of pattern-avoiding infinite binary words, where the patterns are squares, cubes and \(3^+\)-powers.    There are mainly two kinds of results, positive (existence of an infinite binary word avoiding a certain pattern) and negative (non-existence of such a word). Each positive result is proved by the construction of a word with finitely many squares and cubes which are listed explicitly. First a synchronising (also known as comma-free) uniform morphism \(g\: \Sigma_3^* \to \Sigma_2^*\)&lt;/p&gt;
-&lt;p&gt;is constructed. Then an argument is given to show that the length of squares in the code \(g(w)\) for a squarefree \(w\) is bounded, hence all the squares can be obtained by examining all \(g(s)\) for \(s\) of bounded lengths. The argument resembles that of the proof of, e.g., Theorem 1, Lemma 2, Theorem 3 and Lemma 4 in [N. Rampersad, J. O. Shallit and M. Wang, Theoret. Comput. Sci. &lt;strong&gt;339&lt;/strong&gt; (2005), no. 1, 19–34; &lt;a href="http://www.ams.org/mathscinet/search/publdoc.html?r=1&amp;amp;pg1=MR&amp;amp;s1=2142071&amp;amp;loc=fromrevtext"&gt;MR2142071&lt;/a&gt;]. The negative results are proved by traversing all possible finite words satisfying the conditions.&lt;/p&gt;
-&lt;p&gt;   Let \(L(n_2, n_3, S)\) be the maximum length of a word with \(n_2\) distinct squares, \(n_3\) distinct cubes and that the periods of the squares can take values only in \(S\) , where \(n_2, n_3 \in \Bbb N \cup \{\infty, \omega\}\) and \(S \subset \Bbb N_+\) .    \(n_k = 0\) corresponds to \(k\)-free, \(n_k = \infty\) means no restriction on the number of distinct \(k\)-powers, and \(n_k = \omega\) means \(k^+\)-free.&lt;/p&gt;
-&lt;p&gt;   Below is the summary of the positive and negative results:&lt;/p&gt;
-&lt;ol type="1"&gt;
-&lt;li&gt;&lt;p&gt;(Negative) \(L(\infty, \omega, 2 \Bbb N) &amp;lt; \infty\) : \(\nexists\) an infinite \(3^+\) -free binary word avoiding all squares of odd periods. (Proposition 1)&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;(Negative) \(L(\infty, 0, 2 \Bbb N + 1) \le 23\) : \(\nexists\) an infinite 3-free binary word, avoiding squares of even periods. The longest one has length \(\le 23\) (Proposition 2).&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;(Positive) \(L(\infty, \omega, 2 \Bbb N +
-&lt;ol type="1"&gt;
-&lt;li&gt;&lt;dl&gt;
-&lt;dt&gt;= \infty\)&lt;/dt&gt;
-&lt;dd&gt;\(\exists\) an infinite \(3^+\) -free binary word avoiding squares of even periods (Theorem 1).
-&lt;/dd&gt;
-&lt;/dl&gt;&lt;/li&gt;
-&lt;/ol&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;(Positive) \(L(\infty, \omega, \{1, 3\}) = \infty\) : \(\exists\) an infinite \(3^+\) -free binary word containing only squares of period 1 or 3 (Theorem 2).&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;(Negative) \(L(6, 1, 2 \Bbb N + 1) = 57\) : \(\nexists\) an infinite binary word avoiding squares of even period containing \(&amp;lt; 7\) squares and \(&amp;lt; 2\) cubes. The longest one containing 6 squares and 1 cube has length 57 (Proposition 6).&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;(Positive) \(L(7, 1, 2 \Bbb N + 1) = \infty\) : \(\exists\) an infinite \(3^+\) -free binary word avoiding squares of even period with 1 cube and 7 squares (Theorem 3).&lt;/p&gt;&lt;/li&gt;
-&lt;li&gt;&lt;p&gt;(Positive) \(L(4, 2, 2 \Bbb N + 1) = \infty\) : \(\exists\) an infinite \(3^+\) -free binary words avoiding squares of even period and containing 2 cubes and 4 squares (Theorem 4).&lt;/p&gt;&lt;/li&gt;
-&lt;/ol&gt;
-&lt;p&gt;Copyright notice: This review is published at http://www.ams.org/mathscinet-getitem?mr=3313467, its copyright owned by the AMS.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">jst</title>
- <id>posts/2015-04-02-juggling-skill-tree.html</id>
- <updated>2015-04-02T00:00:00Z</updated>
- <link href="posts/2015-04-02-juggling-skill-tree.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;jst = juggling skill tree&lt;/p&gt;
-&lt;p&gt;If you have ever played a computer role playing game, you may have noticed the protagonist sometimes has a skill “tree” (most of the time it is actually a directed acyclic graph), where certain skills leads to others. For example, &lt;a href="http://hydra-media.cursecdn.com/diablo.gamepedia.com/3/37/Sorceress_Skill_Trees_%28Diablo_II%29.png?version=b74b3d4097ef7ad4e26ebee0dcf33d01"&gt;here&lt;/a&gt; is the skill tree of sorceress in &lt;a href="https://en.wikipedia.org/wiki/Diablo_II"&gt;Diablo II&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;Now suppose our hero embarks on a quest for learning all the possible juggling patterns. Everyone would agree she should start with cascade, the simplest nontrivial 3-ball pattern, but what afterwards? A few other accessible patterns for beginners are juggler’s tennis, two in one and even reverse cascade, but what to learn after that? The encyclopeadic &lt;a href="http://libraryofjuggling.com/"&gt;Library of Juggling&lt;/a&gt; serves as a good guide, as it records more than 160 patterns, some of which very aesthetically appealing. On this website almost all the patterns have a “prerequisite” section, indicating what one should learn beforehand. I have therefore written a script using &lt;a href="http://python.org"&gt;Python&lt;/a&gt;, &lt;a href="http://www.crummy.com/software/BeautifulSoup/"&gt;BeautifulSoup&lt;/a&gt; and &lt;a href="http://pygraphviz.github.io/"&gt;pygraphviz&lt;/a&gt; to generate a jst (graded by difficulties, which is the leftmost column) from the Library of Juggling (click the image for the full size):&lt;/p&gt;
-&lt;p&gt;&lt;a href="../assets/resources/juggling.png"&gt;&lt;img src="../assets/resources/juggling.png" alt="The juggling skill tree" style="width:38em" /&gt;&lt;/a&gt;&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">Unitary causal quantum stochastic double products as universal interactions I</title>
- <id>posts/2015-04-01-unitary-double-products.html</id>
- <updated>2015-04-01T00:00:00Z</updated>
- <link href="posts/2015-04-01-unitary-double-products.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;In &lt;a href="http://www.actaphys.uj.edu.pl/findarticle?series=Reg&amp;amp;vol=46&amp;amp;page=1851"&gt;this paper&lt;/a&gt; with &lt;a href="http://homepages.lboro.ac.uk/~marh3/"&gt;Robin&lt;/a&gt; we show the explicit formulae for a family of unitary triangular and rectangular double product integrals which can be described as second quantisations.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">AMS review of 'A weighted interpretation for the super Catalan numbers' by Allen and Gheorghiciuc</title>
- <id>posts/2015-01-20-weighted-interpretation-super-catalan-numbers.html</id>
- <updated>2015-01-20T00:00:00Z</updated>
- <link href="posts/2015-01-20-weighted-interpretation-super-catalan-numbers.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;The super Catalan numbers are defined as $$ T(m,n) = {(2 m)! (2 n)! 2 m! n! (m + n)!}. $$&lt;/p&gt;
-&lt;p&gt;   This paper has two main results. First a combinatorial interpretation of the super Catalan numbers is given: $$ T(m,n) = P(m,n) - N(m,n) $$ where \(P(m,n)\) enumerates the number of 2-Motzkin paths whose \(m\) -th step begins at an even level (called \(m\)-positive paths) and \(N(m,n)\) those with \(m\)-th step beginning at an odd level (\(m\)-negative paths). The proof uses a recursive argument on the number of \(m\)-positive and -negative paths, based on a recursion of the super Catalan numbers appearing in [I. M. Gessel, J. Symbolic Comput. &lt;strong&gt;14&lt;/strong&gt; (1992), no. 2-3, 179–194; &lt;a href="http://www.ams.org/mathscinet/search/publdoc.html?r=1&amp;amp;pg1=MR&amp;amp;s1=1187230&amp;amp;loc=fromrevtext"&gt;MR1187230&lt;/a&gt;]: $$ 4T(m,n) = T(m+1, n) + T(m, n+1). $$ This result gives an expression for the super Catalan numbers in terms of numbers counting the so-called ballot paths. The latter sometimes are also referred to as the generalised Catalan numbers forming the entries of the Catalan triangle.&lt;/p&gt;
-&lt;p&gt;   Based on the first result, the second result is a combinatorial interpretation of the super Catalan numbers \(T(2,n)\) in terms of counting certain Dyck paths. This is equivalent to a theorem, which represents \(T(2,n)\) as counting of certain pairs of Dyck paths, in [I. M. Gessel and G. Xin, J. Integer Seq. &lt;strong&gt;8&lt;/strong&gt; (2005), no. 2, Article 05.2.3, 13 pp.; &lt;a href="http://www.ams.org/mathscinet/search/publdoc.html?r=1&amp;amp;pg1=MR&amp;amp;s1=2134162&amp;amp;loc=fromrevtext"&gt;MR2134162&lt;/a&gt;], and the equivalence is explained at the end of the paper by a bijection between the Dyck paths and the pairs of Dyck paths. The proof of the theorem itself is also done by constructing two bijections between Dyck paths satisfying certain conditions. All the three bijections are formulated by locating, removing and adding steps.&lt;/p&gt;
-&lt;p&gt;Copyright notice: This review is published at http://www.ams.org/mathscinet-getitem?mr=3275875, its copyright owned by the AMS.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">Symmetry property of \(q\)-weighted Robinson-Schensted algorithms and branching algorithms</title>
- <id>posts/2014-04-01-q-robinson-schensted-symmetry-paper.html</id>
- <updated>2014-04-01T00:00:00Z</updated>
- <link href="posts/2014-04-01-q-robinson-schensted-symmetry-paper.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;In &lt;a href="http://link.springer.com/article/10.1007/s10801-014-0505-x"&gt;this paper&lt;/a&gt; a symmetry property analogous to the well known symmetry property of the normal Robinson-Schensted algorithm has been shown for the \(q\)-weighted Robinson-Schensted algorithm. The proof uses a generalisation of the growth diagram approach introduced by Fomin. This approach, which uses “growth graphs”, can also be applied to a wider class of insertion algorithms which have a branching structure.&lt;/p&gt;
-&lt;figure&gt;
-&lt;img src="../assets/resources/1423graph.jpg" alt="Growth graph of q-RS for 1423" /&gt;&lt;figcaption&gt;Growth graph of q-RS for 1423&lt;/figcaption&gt;
-&lt;/figure&gt;
-&lt;p&gt;Above is the growth graph of the \(q\)-weighted Robinson-Schensted algorithm for the permutation \({1 2 3 4\choose1 4 2 3}\).&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/blog-feed.xml">
- <title type="text">A \(q\)-weighted Robinson-Schensted algorithm</title>
- <id>posts/2013-06-01-q-robinson-schensted-paper.html</id>
- <updated>2013-06-01T00:00:00Z</updated>
- <link href="posts/2013-06-01-q-robinson-schensted-paper.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;In &lt;a href="https://projecteuclid.org/euclid.ejp/1465064320"&gt;this paper&lt;/a&gt; with &lt;a href="http://www.bristol.ac.uk/maths/people/neil-m-oconnell/"&gt;Neil&lt;/a&gt; we construct a \(q\)-version of the Robinson-Schensted algorithm with column insertion. Like the &lt;a href="http://en.wikipedia.org/wiki/Robinson–Schensted_correspondence"&gt;usual RS correspondence&lt;/a&gt; with column insertion, this algorithm could take words as input. Unlike the usual RS algorithm, the output is a set of weighted pairs of semistandard and standard Young tableaux \((P,Q)\) with the same shape. The weights are rational functions of indeterminant \(q\).&lt;/p&gt;
-&lt;p&gt;If \(q\in[0,1]\), the algorithm can be considered as a randomised RS algorithm, with 0 and 1 being two interesting cases. When \(q\to0\), it is reduced to the latter usual RS algorithm; while when \(q\to1\) with proper scaling it should scale to directed random polymer model in &lt;a href="http://arxiv.org/abs/0910.0069"&gt;(O’Connell 2012)&lt;/a&gt;. When the input word \(w\) is a random walk:&lt;/p&gt;
-&lt;p&gt;\begin{align*}\mathbb P(w=v)=\prod_{i=1}^na_{v_i},\qquad\sum_ja_j=1\end{align*}&lt;/p&gt;
-&lt;p&gt;the shape of output evolves as a Markov chain with kernel related to \(q\)-Whittaker functions, which are Macdonald functions when \(t=0\) with a factor.&lt;/p&gt;
-</content>
- </entry>
-</feed>
diff --git a/site/blog.html b/site/blog.html
deleted file mode 100644
index 3222e3a..0000000
--- a/site/blog.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>Yuchen's Blog</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="postlist.html">All posts</a><a href="index.html">About</a><a href="blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <a href="posts/2018-06-03-automatic_differentiation.html"><h2> Automatic differentiation </h2></a>
- <p>Posted on 2018-06-03</p>
- <p>This post is meant as a documentation of my understanding of autodiff. I benefited a lot from <a href="http://www.cs.toronto.edu/%7Ergrosse/courses/csc321_2018/slides/lec10.pdf">Toronto CSC321 slides</a> and the <a href="https://github.com/mattjj/autodidact/">autodidact</a> project which is a pedagogical implementation of <a href="https://github.com/hips/autograd">Autograd</a>. That said, any mistakes in this note are mine (especially since some of the knowledge is obtained from interpreting slides!), and if you do spot any I would be grateful if you can let me know.</p>
-
- <a href="posts/2018-06-03-automatic_differentiation.html">Continue reading</a>
-</div>
-<div class="bodyitem">
- <a href="posts/2018-04-10-update-open-research.html"><h2> Updates on open research </h2></a>
- <p>Posted on 2018-04-29</p>
- <p>It has been 9 months since I last wrote about open (maths) research. Since then two things happened which prompted me to write an update.</p>
-
- <a href="posts/2018-04-10-update-open-research.html">Continue reading</a>
-</div>
-<div class="bodyitem">
- <a href="posts/2017-08-07-mathematical_bazaar.html"><h2> The Mathematical Bazaar </h2></a>
- <p>Posted on 2017-08-07</p>
- <p>In this essay I describe some problems in academia of mathematics and propose an open source model, which I call open research in mathematics.</p>
-
- <a href="posts/2017-08-07-mathematical_bazaar.html">Continue reading</a>
-</div>
-<div class="bodyitem">
- <a href="posts/2017-04-25-open_research_toywiki.html"><h2> Open mathematical research and launching toywiki </h2></a>
- <p>Posted on 2017-04-25</p>
- <p>As an experimental project, I am launching toywiki.</p>
-
- <a href="posts/2017-04-25-open_research_toywiki.html">Continue reading</a>
-</div>
-<div class="bodyitem">
- <a href="posts/2016-10-13-q-robinson-schensted-knuth-polymer.html"><h2> A \(q\)-Robinson-Schensted-Knuth algorithm and a \(q\)-polymer </h2></a>
- <p>Posted on 2016-10-13</p>
- <p>(Latest update: 2017-01-12) In <a href="http://arxiv.org/abs/1504.00666">Matveev-Petrov 2016</a> a \(q\)-deformed Robinson-Schensted-Knuth algorithm (\(q\)RSK) was introduced. In this article we give reformulations of this algorithm in terms of Noumi-Yamada description, growth diagrams and local moves. We show that the algorithm is symmetric, namely the output tableaux pair are swapped in a sense of distribution when the input matrix is transposed. We also formulate a \(q\)-polymer model based on the \(q\)RSK and prove the corresponding Burke property, which we use to show a strong law of large numbers for the partition function given stationary boundary conditions and \(q\)-geometric weights. We use the \(q\)-local moves to define a generalisation of the \(q\)RSK taking a Young diagram-shape of array as the input. We write down the joint distribution of partition functions in the space-like direction of the \(q\)-polymer in \(q\)-geometric environment, formulate a \(q\)-version of the multilayer polynuclear growth model (\(q\)PNG) and write down the joint distribution of the \(q\)-polymer partition functions at a fixed time.</p>
-
- <a href="posts/2016-10-13-q-robinson-schensted-knuth-polymer.html">Continue reading</a>
-</div>
-
- <div class="bodyitem">
- <p><a href="postlist.html">older posts</a></p>
- </div>
- </div>
- </body>
-</html>
diff --git a/site/index.html b/site/index.html
deleted file mode 100644
index a167ab1..0000000
--- a/site/index.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>Yuchen Pei</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="index.html">Yuchen Pei</a>
- </span>
- <nav>
- <a href="blog.html">Blog</a><a href="microblog.html">Microblog</a><a href="links.html">Links</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <p>Yuchen is a post-doctoral researcher in mathematics at the <a href="https://www.math.kth.se/RMSMA/">KTH RMSMA group</a>. Before KTH he did a PhD at the <a href="https://warwick.ac.uk/fac/sci/masdoc">MASDOC program at Warwick</a>, and spent two years in a postdoc position at <a href="http://cmsa.fas.harvard.edu">CMSA at Harvard</a>.</p>
-<p>He is interested in machine learning and functional programming.</p>
-<p>He is also interested in the idea of open research and open sourced his research in Robinson-Schensted algorithms as a <a href="https://toywiki.xyz">wiki</a>.</p>
-<p>He can be reached at: ypei@kth.se | hi@ypei.me | <a href="https://github.com/ycpei">Github</a> | <a href="https://www.linkedin.com/in/ycpei/">LinkedIn</a></p>
-<p>This website is made using a <a href="https://github.com/ycpei/ypei.me/blob/master/engine/engine.py">handmade static site generator</a>.</p>
-<p>Unless otherwise specified, all contents on this website are licensed under <a href="https://creativecommons.org/licenses/by-nd/4.0/">Creative Commons Attribution-NoDerivatives 4.0 International License</a>.</p>
-
- </div>
- </div>
-
- </body>
-</html>
diff --git a/site/links.html b/site/links.html
deleted file mode 100644
index fdff77a..0000000
--- a/site/links.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>Links</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="index.html">Yuchen Pei</a>
- </span>
- <nav>
- <a href="blog.html">Blog</a><a href="microblog.html">Microblog</a><a href="links.html">Links</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <p>Here are some links I find interesting or helpful, or both. Listed in no particular order.</p>
-<ul>
-<li><a href="https://competitions.codalab.org/competitions/">CodaLab</a></li>
-<li><a href="https://haskellformaths.blogspot.com/">HaskellForMaths</a></li>
-<li><a href="http://www.openproblemgarden.org/">Open Problem Garden</a></li>
-<li><a href="http://www.ams.org/open-math-notes">AMS open notes</a></li>
-<li><a href="http://garsia.math.yorku.ca/MPWP/">Macdonald polynomials webpage</a></li>
-<li><a href="https://news.ycombinator.com/">Hacker News</a></li>
-<li><a href="http://arminstraub.com/">Armin Straub</a></li>
-<li><a href="http://www-math.ucdenver.edu/~wcherowi/">Bill Cherowitzo</a></li>
-<li><a href="https://stallman.org/">Richard Stallman</a></li>
-<li><a href="http://www.aaronsw.com/">Aaron Swartz</a> - The Internet’s own boy</li>
-<li><a href="https://docs.google.com/document/d/10eA5-mCZLSS4MQY5QGb5ewC3VAL6pLkT53V_81ZyitM/preview">False, Misleading, Clickbait-y, and/or Satirical “News” Sources</a></li>
-<li><a href="http://www.math.utah.edu/~jasonu/deala/">Differential Equations &amp; Linear Algebra</a> - Lecture notes on the web</li>
-<li><a href="http://wstein.org/">William Stein</a> - William Stein, the creator of SageMath
-<ul>
-<li><a href="http://wstein.org/talks/2016-06-sage-bp/">The origins of SageMath</a> Stein’s BP centenary talk at Harvard</li>
-</ul></li>
-<li><a href="http://www.sagemath.org/">SageMath</a> - Open-source maths software system<br />
-</li>
-<li><a href="https://projecteuler.net/">Project Euler</a></li>
-<li><a href="https://blockly-games.appspot.com/about?lang=en">Blockly games</a></li>
-<li><a href="https://jeremykun.com/">Math ∩ Programming</a></li>
-<li><a href="https://www.authorea.com/">Authorea</a></li>
-<li><a href="http://bigdata.show">Big Data</a></li>
-<li><a href="http://fermatslibrary.com/">Fermat’s Library</a></li>
-<li><a href="http://www.tricki.org/">Tricki</a></li>
-<li><a href="http://www.ams.org/samplings/feature-column/fc-current.cgi">AMS Feature Column</a></li>
-<li><a href="https://arxiv.org">arXiv</a></li>
-<li><a href="https://terrytao.wordpress.com/">What’s new</a> - Terence Tao’s blog</li>
-<li><a href="https://gowers.wordpress.com/">Gowers’s weblog</a> - Timothy Gowers’s blog</li>
-<li><a href="http://michaelnielsen.org/polymath1/index.php?title=Main_Page">Polymath</a> - MMO maths research</li>
-<li><a href="https://oeis.org/">OEIS</a> - The On-Line Encyclopedia of Integer Sequences® (OEIS®)</li>
-<li><a href="http://www.vim.org">Vi IMproved</a> - the one true text editor. Plugins:
-<ul>
-<li><a href="http://vim-latex.sourceforge.net/">vim-latex</a> - for latexing</li>
-<li><a href="https://code.google.com/p/vimwiki/">vimwiki</a> - a wiki tool with google wiki-like markup</li>
-<li><a href="https://github.com/Shougo/neocomplete.vim">neocomplete</a> - for auto-completion</li>
-</ul></li>
-<li><a href="http://www.vimperator.org/vimperator">vimperator</a> - turn your Firefox into Vim</li>
-<li><a href="http://www.vimperator.org/muttator">muttator</a> - turn your Thunderbird into Vim</li>
-<li><a href="http://pwmt.org/projects/zathura/">zathura</a> - turn your pdf reader into Vim</li>
-<li><a href="https://i3wm.org/">i3wm</a> - turn your window manager into Vim</li>
-<li><a href="http://www.vimgolf.com/">VimGolf</a></li>
-<li><a href="http://regex.alf.nu/">Regex Golf</a></li>
-<li><a href="http://regexcrossword.com/">Regex Crossword</a></li>
-<li><a href="http://archlinux.org">Arch Linux</a></li>
-<li><a href="https://jupyter.org/">Jupyter notebook</a> - An open-source notebook</li>
-<li>Stackexchange sites
-<ul>
-<li><a href="https://mathoverflow.net/">Mathoverflow</a></li>
-<li><a href="https://math.stackexchange.com/">Mathematics</a></li>
-<li><a href="https://codegolf.stackexchange.com/">Codegolf</a> - The most fun corner of Stackexchange.</li>
-</ul></li>
-<li><a href="http://math.stanford.edu/~bump/">Danial Bump</a></li>
-<li><a href="http://www.math.ubc.ca/~cass/">Bill Casselman</a></li>
-</ul>
-
- </div>
- </div>
-
- </body>
-</html>
diff --git a/site/microblog-feed.xml b/site/microblog-feed.xml
deleted file mode 100644
index 4563861..0000000
--- a/site/microblog-feed.xml
+++ /dev/null
@@ -1,291 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<feed xmlns="http://www.w3.org/2005/Atom">
- <title type="text">Yuchen Pei's Microblog</title>
- <id>https://ypei.me/microblog-feed.xml</id>
- <updated>2018-05-30T00:00:00Z</updated>
- <link href="https://ypei.me" />
- <link href="https://ypei.me/microblog-feed.xml" rel="self" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <generator>PyAtom</generator>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-30</title>
- <id>microblog.html</id>
- <updated>2018-05-30T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;Roger Grosse’s post &lt;a href="https://metacademy.org/roadmaps/rgrosse/learn_on_your_own"&gt;How to learn on your own (2015)&lt;/a&gt; is an excellent modern guide on how to learn and research technical stuff (especially machine learning and maths) on one’s own.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-25</title>
- <id>microblog.html</id>
- <updated>2018-05-25T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;&lt;a href="http://jdlm.info/articles/2018/03/18/markov-decision-process-2048.html"&gt;This post&lt;/a&gt; models 2048 as an MDP and solves it using policy iteration and backward induction.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-22</title>
- <id>microblog.html</id>
- <updated>2018-05-22T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;blockquote&gt;
-&lt;p&gt;ATS (Applied Type System) is a programming language designed to unify programming with formal specification. ATS has support for combining theorem proving with practical programming through the use of advanced type systems. A past version of The Computer Language Benchmarks Game has demonstrated that the performance of ATS is comparable to that of the C and C++ programming languages. By using theorem proving and strict type checking, the compiler can detect and prove that its implemented functions are not susceptible to bugs such as division by zero, memory leaks, buffer overflow, and other forms of memory corruption by verifying pointer arithmetic and reference counting before the program compiles. Additionally, by using the integrated theorem-proving system of ATS (ATS/LF), the programmer may make use of static constructs that are intertwined with the operative code to prove that a function attains its specification.&lt;/p&gt;
-&lt;/blockquote&gt;
-&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/ATS_(programming_language)"&gt;Wikipedia entry on ATS&lt;/a&gt;&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-20</title>
- <id>microblog.html</id>
- <updated>2018-05-20T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;(5-second fame) I sent a picture of my kitchen sink to BBC and got mentioned in the &lt;a href="https://www.bbc.co.uk/programmes/w3cswg8c"&gt;latest Boston Calling episode&lt;/a&gt; (listen at 25:54).&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-18</title>
- <id>microblog.html</id>
- <updated>2018-05-18T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;&lt;a href="https://colah.github.io/"&gt;colah’s blog&lt;/a&gt; has a cool feature that allows you to comment on any paragraph of a blog post. Here’s an &lt;a href="https://colah.github.io/posts/2015-08-Understanding-LSTMs/"&gt;example&lt;/a&gt;. If it is doable on a static site hosted on Github pages, I suppose it shouldn’t be too hard to implement. This also seems to work more seamlessly than &lt;a href="https://fermatslibrary.com/"&gt;Fermat’s Library&lt;/a&gt;, because the latter has to embed pdfs in webpages. Now fantasy time: imagine that one day arXiv shows html versions of papers (through author uploading or conversion from TeX) with this feature.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-15</title>
- <id>microblog.html</id>
- <updated>2018-05-15T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;h3 id="notes-on-random-froests"&gt;Notes on random froests&lt;/h3&gt;
-&lt;p&gt;&lt;a href="https://lagunita.stanford.edu/courses/HumanitiesSciences/StatLearning/Winter2016/info"&gt;Stanford Lagunita’s statistical learning course&lt;/a&gt; has some excellent lectures on random forests. It starts with explanations of decision trees, followed by bagged trees and random forests, and ends with boosting. From these lectures it seems that:&lt;/p&gt;
-&lt;ol type="1"&gt;
-&lt;li&gt;The term “predictors” in statistical learning = “features” in machine learning.&lt;/li&gt;
-&lt;li&gt;The main idea of random forests of dropping predictors for individual trees and aggregate by majority or average is the same as the idea of dropout in neural networks, where a proportion of neurons in the hidden layers are dropped temporarily during different minibatches of training, effectively averaging over an emsemble of subnetworks. Both tricks are used as regularisations, i.e. to reduce the variance. The only difference is: in random forests, all but a square root number of the total number of features are dropped, whereas the dropout ratio in neural networks is usually a half.&lt;/li&gt;
-&lt;/ol&gt;
-&lt;p&gt;By the way, here’s a comparison between statistical learning and machine learning from the slides of the Statistcal Learning course:&lt;/p&gt;
-&lt;p&gt;&lt;a href="../assets/resources/sl-vs-ml.png"&gt;&lt;img src="../assets/resources/sl-vs-ml.png" alt="SL vs ML" style="width:38em" /&gt;&lt;/a&gt;&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-14</title>
- <id>microblog.html</id>
- <updated>2018-05-14T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;h3 id="open-peer-review"&gt;Open peer review&lt;/h3&gt;
-&lt;p&gt;Open peer review means peer review process where communications e.g. comments and responses are public.&lt;/p&gt;
-&lt;p&gt;Like &lt;a href="https://scipost.org/"&gt;SciPost&lt;/a&gt; mentioned in &lt;a href="/posts/2018-04-10-update-open-research.html"&gt;my post&lt;/a&gt;, &lt;a href="https://openreview.net"&gt;OpenReview.net&lt;/a&gt; is an example of open peer review in research. It looks like their focus is machine learning. Their &lt;a href="https://openreview.net/about"&gt;about page&lt;/a&gt; states their mission, and here’s &lt;a href="https://openreview.net/group?id=ICLR.cc/2018/Conference"&gt;an example&lt;/a&gt; where you can click on each entry to see what it is like. We definitely need this in the maths research community.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-11</title>
- <id>microblog.html</id>
- <updated>2018-05-11T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;h3 id="some-notes-on-rnn-fsm-fa-tm-and-utm"&gt;Some notes on RNN, FSM / FA, TM and UTM&lt;/h3&gt;
-&lt;p&gt;Related to &lt;a href="#neural-turing-machine"&gt;a previous micropost&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;&lt;a href="http://www.cs.toronto.edu/~rgrosse/csc321/lec9.pdf"&gt;These slides from Toronto&lt;/a&gt; are a nice introduction to RNN (recurrent neural network) from a computational point of view. It states that RNN can simulate any FSM (finite state machine, a.k.a. finite automata abbr. FA) with a toy example computing the parity of a binary string.&lt;/p&gt;
-&lt;p&gt;&lt;a href="http://www.deeplearningbook.org/contents/rnn.html"&gt;Goodfellow et. al.’s book&lt;/a&gt; (see page 372 and 374) goes one step further, stating that RNN with a hidden-to-hidden layer can simulate Turing machines, and not only that, but also the &lt;em&gt;universal&lt;/em&gt; Turing machine abbr. UTM (the book referenced &lt;a href="https://www.sciencedirect.com/science/article/pii/S0022000085710136"&gt;Siegelmann-Sontag&lt;/a&gt;), a property not shared by the weaker network where the hidden-to-hidden layer is replaced by an output-to-hidden layer (page 376).&lt;/p&gt;
-&lt;p&gt;By the way, the RNN with a hidden-to-hidden layer has the same architecture as the so-called linear dynamical system mentioned in &lt;a href="https://www.coursera.org/learn/neural-networks/lecture/Fpa7y/modeling-sequences-a-brief-overview"&gt;Hinton’s video&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;From what I have learned, the universality of RNN and feedforward networks are therefore due to different arguments, the former coming from Turing machines and the latter from an analytical view of approximation by step functions.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-10</title>
- <id>microblog.html</id>
- <updated>2018-05-10T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;h3 id="writing-readable-mathematics-like-writing-an-operating-system"&gt;Writing readable mathematics like writing an operating system&lt;/h3&gt;
-&lt;p&gt;One way to write readable mathematics is to decouple concepts. One idea is the following template. First write a toy example with all the important components present in this example, then analyse each component individually and elaborate how (perhaps more complex) variations of the component can extend the toy example and induce more complex or powerful versions of the toy example. Through such incremental development, one should be able to arrive at any result in cutting edge research after a pleasant journey.&lt;/p&gt;
-&lt;p&gt;It’s a bit like the UNIX philosophy, where you have a basic system of modules like IO, memory management, graphics etc, and modify / improve each module individually (H/t &lt;a href="http://nand2tetris.org/"&gt;NAND2Tetris&lt;/a&gt;).&lt;/p&gt;
-&lt;p&gt;The book &lt;a href="http://neuralnetworksanddeeplearning.com/"&gt;Neutral networks and deep learning&lt;/a&gt; by Michael Nielsen is an example of such approach. It begins the journey with a very simple neutral net with one hidden layer, no regularisation, and sigmoid activations. It then analyses each component including cost functions, the back propagation algorithm, the activation functions, regularisation and the overall architecture (from fully connected to CNN) individually and improve the toy example incrementally. Over the course the accuracy of the example of mnist grows incrementally from 95.42% to 99.67%.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-09</title>
- <id>microblog.html</id>
- <updated>2018-05-09T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;blockquote&gt;
-&lt;p&gt;What makes the rectified linear activation function better than the sigmoid or tanh functions? At present, we have a poor understanding of the answer to this question. Indeed, rectified linear units have only begun to be widely used in the past few years. The reason for that recent adoption is empirical: a few people tried rectified linear units, often on the basis of hunches or heuristic arguments. They got good results classifying benchmark data sets, and the practice has spread. In an ideal world we’d have a theory telling us which activation function to pick for which application. But at present we’re a long way from such a world. I should not be at all surprised if further major improvements can be obtained by an even better choice of activation function. And I also expect that in coming decades a powerful theory of activation functions will be developed. Today, we still have to rely on poorly understood rules of thumb and experience.&lt;/p&gt;
-&lt;/blockquote&gt;
-&lt;p&gt;Michael Nielsen, &lt;a href="http://neuralnetworksanddeeplearning.com/chap6.html#convolutional_neural_networks_in_practice"&gt;Neutral networks and deep learning&lt;/a&gt;&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-09</title>
- <id>microblog.html</id>
- <updated>2018-05-09T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;blockquote&gt;
-&lt;p&gt;One way RNNs are currently being used is to connect neural networks more closely to traditional ways of thinking about algorithms, ways of thinking based on concepts such as Turing machines and (conventional) programming languages. &lt;a href="https://arxiv.org/abs/1410.4615"&gt;A 2014 paper&lt;/a&gt; developed an RNN which could take as input a character-by-character description of a (very, very simple!) Python program, and use that description to predict the output. Informally, the network is learning to “understand” certain Python programs. &lt;a href="https://arxiv.org/abs/1410.5401"&gt;A second paper, also from 2014&lt;/a&gt;, used RNNs as a starting point to develop what they called a neural Turing machine (NTM). This is a universal computer whose entire structure can be trained using gradient descent. They trained their NTM to infer algorithms for several simple problems, such as sorting and copying.&lt;/p&gt;
-&lt;p&gt;As it stands, these are extremely simple toy models. Learning to execute the Python program &lt;code&gt;print(398345+42598)&lt;/code&gt; doesn’t make a network into a full-fledged Python interpreter! It’s not clear how much further it will be possible to push the ideas. Still, the results are intriguing. Historically, neural networks have done well at pattern recognition problems where conventional algorithmic approaches have trouble. Vice versa, conventional algorithmic approaches are good at solving problems that neural nets aren’t so good at. No-one today implements a web server or a database program using a neural network! It’d be great to develop unified models that integrate the strengths of both neural networks and more traditional approaches to algorithms. RNNs and ideas inspired by RNNs may help us do that.&lt;/p&gt;
-&lt;/blockquote&gt;
-&lt;p&gt;Michael Nielsen, &lt;a href="http://neuralnetworksanddeeplearning.com/chap6.html#other_approaches_to_deep_neural_nets"&gt;Neural networks and deep learning&lt;/a&gt;&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-08</title>
- <id>microblog.html</id>
- <updated>2018-05-08T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;Primer Science is a tool by a startup called Primer that uses NLP to summarize contents (but not single papers, yet) on arxiv. A developer of this tool predicts in &lt;a href="https://twimlai.com/twiml-talk-136-taming-arxiv-w-natural-language-processing-with-john-bohannon/#"&gt;an interview&lt;/a&gt; that progress on AI’s ability to extract meanings from AI research papers will be the biggest accelerant on AI research.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-08</title>
- <id>microblog.html</id>
- <updated>2018-05-08T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;blockquote&gt;
-&lt;p&gt;no-one has yet developed an entirely convincing theoretical explanation for why regularization helps networks generalize. Indeed, researchers continue to write papers where they try different approaches to regularization, compare them to see which works better, and attempt to understand why different approaches work better or worse. And so you can view regularization as something of a kludge. While it often helps, we don’t have an entirely satisfactory systematic understanding of what’s going on, merely incomplete heuristics and rules of thumb.&lt;/p&gt;
-&lt;p&gt;There’s a deeper set of issues here, issues which go to the heart of science. It’s the question of how we generalize. Regularization may give us a computational magic wand that helps our networks generalize better, but it doesn’t give us a principled understanding of how generalization works, nor of what the best approach is.&lt;/p&gt;
-&lt;/blockquote&gt;
-&lt;p&gt;Michael Nielsen, &lt;a href="http://neuralnetworksanddeeplearning.com/chap3.html#why_does_regularization_help_reduce_overfitting"&gt;Neural networks and deep learning&lt;/a&gt;&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-08</title>
- <id>microblog.html</id>
- <updated>2018-05-08T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;p&gt;Computerphile has some brilliant educational videos on computer science, like &lt;a href="https://www.youtube.com/watch?v=ciNHn38EyRc"&gt;a demo of SQL injection&lt;/a&gt;, &lt;a href="https://www.youtube.com/watch?v=eis11j_iGMs"&gt;a toy example of the lambda calculus&lt;/a&gt;, and &lt;a href="https://www.youtube.com/watch?v=9T8A89jgeTI"&gt;explaining the Y combinator&lt;/a&gt;.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-07</title>
- <id>microblog.html</id>
- <updated>2018-05-07T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;h3 id="learning-via-knowledge-graph-and-reddit-journal-clubs"&gt;Learning via knowledge graph and reddit journal clubs&lt;/h3&gt;
-&lt;p&gt;It is a natural idea to look for ways to learn things like going through a skill tree in a computer RPG.&lt;/p&gt;
-&lt;p&gt;For example I made a &lt;a href="https://ypei.me/posts/2015-04-02-juggling-skill-tree.html"&gt;DAG for juggling&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;Websites like &lt;a href="https://knowen.org"&gt;Knowen&lt;/a&gt; and &lt;a href="https://metacademy.org"&gt;Metacademy&lt;/a&gt; explore this idea with added flavour of open collaboration.&lt;/p&gt;
-&lt;p&gt;The design of Metacademy looks quite promising. It also has a nice tagline: “your package manager for knowledge”.&lt;/p&gt;
-&lt;p&gt;There are so so many tools to assist learning / research / knowledge sharing today, and we should keep experimenting, in the hope that eventually one of them will scale.&lt;/p&gt;
-&lt;p&gt;On another note, I often complain about the lack of a place to discuss math research online, but today I found on Reddit some journal clubs on machine learning: &lt;a href="https://www.reddit.com/r/MachineLearning/comments/8aluhs/d_machine_learning_wayr_what_are_you_reading_week/"&gt;1&lt;/a&gt;, &lt;a href="https://www.reddit.com/r/MachineLearning/comments/8elmd8/d_anyone_having_trouble_reading_a_particular/"&gt;2&lt;/a&gt;. If only we had this for maths. On the other hand r/math does have some interesting recurring threads as well: &lt;a href="https://www.reddit.com/r/math/wiki/everythingaboutx"&gt;Everything about X&lt;/a&gt; and &lt;a href="https://www.reddit.com/r/math/search?q=what+are+you+working+on?+author:automoderator+&amp;amp;sort=new&amp;amp;restrict_sr=on&amp;amp;t=all"&gt;What Are You Working On?&lt;/a&gt;. Hopefully these threads can last for years to come.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-02</title>
- <id>microblog.html</id>
- <updated>2018-05-02T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;h3 id="pastebin-for-the-win"&gt;Pastebin for the win&lt;/h3&gt;
-&lt;p&gt;The lack of maths rendering in major online communication platforms like instant messaging, email or Github has been a minor obsession of mine for quite a while, as I saw it as a big factor preventing people from talking more maths online. But today I realised this is totally a non-issue. Just do what people on IRC have been doing since the inception of the universe: use a (latex) pastebin.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-05-01</title>
- <id>microblog.html</id>
- <updated>2018-05-01T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;blockquote&gt;
-&lt;p&gt;Neural networks are one of the most beautiful programming paradigms ever invented. In the conventional approach to programming, we tell the computer what to do, breaking big problems up into many small, precisely defined tasks that the computer can easily perform. By contrast, in a neural network we don’t tell the computer how to solve our problem. Instead, it learns from observational data, figuring out its own solution to the problem at hand.&lt;/p&gt;
-&lt;/blockquote&gt;
-&lt;p&gt;Michael Nielsen - &lt;a href="http://neuralnetworksanddeeplearning.com/about.html"&gt;What this book (Neural Networks and Deep Learning) is about&lt;/a&gt;&lt;/p&gt;
-&lt;p&gt;Unrelated to the quote, note that Nielsen’s book is licensed under &lt;a href="https://creativecommons.org/licenses/by-nc/3.0/deed.en_GB"&gt;CC BY-NC&lt;/a&gt;, so one can build on it and redistribute non-commercially.&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-04-30</title>
- <id>microblog.html</id>
- <updated>2018-04-30T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;blockquote&gt;
-&lt;p&gt;But, users have learned to accommodate to Google not the other way around. We know what kinds of things we can type into Google and what we can’t and we keep our searches to things that Google is likely to help with. We know we are looking for texts and not answers to start a conversation with an entity that knows what we really need to talk about. People learn from conversation and Google can’t have one. It can pretend to have one using Siri but really those conversations tend to get tiresome when you are past asking about where to eat.&lt;/p&gt;
-&lt;/blockquote&gt;
-&lt;p&gt;Roger Schank - &lt;a href="http://www.rogerschank.com/fraudulent-claims-made-by-IBM-about-Watson-and-AI"&gt;Fraudulent claims made by IBM about Watson and AI&lt;/a&gt;&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-04-06</title>
- <id>microblog.html</id>
- <updated>2018-04-06T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;blockquote&gt;
-&lt;ul&gt;
-&lt;li&gt;Access to computers—and anything that might teach you something about the way the world works—should be unlimited and total. Always yield to the Hands-On Imperative!&lt;/li&gt;
-&lt;li&gt;All information should be free.&lt;/li&gt;
-&lt;li&gt;Mistrust Authority—Promote Decentralization.&lt;/li&gt;
-&lt;li&gt;Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.&lt;/li&gt;
-&lt;li&gt;You can create art and beauty on a computer.&lt;/li&gt;
-&lt;li&gt;Computers can change your life for the better.&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/blockquote&gt;
-&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Hacker_ethic"&gt;The Hacker Ethic&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/Hackers:_Heroes_of_the_Computer_Revolution"&gt;Hackers: Heroes of Computer Revolution&lt;/a&gt;, by Steven Levy&lt;/p&gt;
-</content>
- </entry>
- <entry xml:base="https://ypei.me/microblog-feed.xml">
- <title type="text">2018-03-23</title>
- <id>microblog.html</id>
- <updated>2018-03-23T00:00:00Z</updated>
- <link href="microblog.html" />
- <author>
- <name>Yuchen Pei</name>
- </author>
- <content type="html">&lt;blockquote&gt;
-&lt;p&gt;“Static site generators seem like music databases, in that everyone eventually writes their own crappy one that just barely scratches the itch they had (and I’m no exception).”&lt;/p&gt;
-&lt;/blockquote&gt;
-&lt;p&gt;&lt;a href="https://news.ycombinator.com/item?id=7747651"&gt;__david__@hackernews&lt;/a&gt;&lt;/p&gt;
-&lt;p&gt;So did I.&lt;/p&gt;
-</content>
- </entry>
-</feed>
diff --git a/site/microblog.html b/site/microblog.html
deleted file mode 100644
index 2444f82..0000000
--- a/site/microblog.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>Yuchen's Microblog</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="microblog.html">Yuchen's Microblog</a>
- </span>
- <nav>
- <a href="index.html">About</a><a href="microblog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <span id=how-to-learn-on-your-own><p><a href="#how-to-learn-on-your-own">2018-05-30</a></p></span>
- <p>Roger Grosse’s post <a href="https://metacademy.org/roadmaps/rgrosse/learn_on_your_own">How to learn on your own (2015)</a> is an excellent modern guide on how to learn and research technical stuff (especially machine learning and maths) on one’s own.</p>
-
-</div>
-<div class="bodyitem">
- <span id=2048-mdp><p><a href="#2048-mdp">2018-05-25</a></p></span>
- <p><a href="http://jdlm.info/articles/2018/03/18/markov-decision-process-2048.html">This post</a> models 2048 as an MDP and solves it using policy iteration and backward induction.</p>
-
-</div>
-<div class="bodyitem">
- <span id=ats><p><a href="#ats">2018-05-22</a></p></span>
- <blockquote>
-<p>ATS (Applied Type System) is a programming language designed to unify programming with formal specification. ATS has support for combining theorem proving with practical programming through the use of advanced type systems. A past version of The Computer Language Benchmarks Game has demonstrated that the performance of ATS is comparable to that of the C and C++ programming languages. By using theorem proving and strict type checking, the compiler can detect and prove that its implemented functions are not susceptible to bugs such as division by zero, memory leaks, buffer overflow, and other forms of memory corruption by verifying pointer arithmetic and reference counting before the program compiles. Additionally, by using the integrated theorem-proving system of ATS (ATS/LF), the programmer may make use of static constructs that are intertwined with the operative code to prove that a function attains its specification.</p>
-</blockquote>
-<p><a href="https://en.wikipedia.org/wiki/ATS_(programming_language)">Wikipedia entry on ATS</a></p>
-
-</div>
-<div class="bodyitem">
- <span id=bostoncalling><p><a href="#bostoncalling">2018-05-20</a></p></span>
- <p>(5-second fame) I sent a picture of my kitchen sink to BBC and got mentioned in the <a href="https://www.bbc.co.uk/programmes/w3cswg8c">latest Boston Calling episode</a> (listen at 25:54).</p>
-
-</div>
-<div class="bodyitem">
- <span id=colah-blog><p><a href="#colah-blog">2018-05-18</a></p></span>
- <p><a href="https://colah.github.io/">colah’s blog</a> has a cool feature that allows you to comment on any paragraph of a blog post. Here’s an <a href="https://colah.github.io/posts/2015-08-Understanding-LSTMs/">example</a>. If it is doable on a static site hosted on Github pages, I suppose it shouldn’t be too hard to implement. This also seems to work more seamlessly than <a href="https://fermatslibrary.com/">Fermat’s Library</a>, because the latter has to embed pdfs in webpages. Now fantasy time: imagine that one day arXiv shows html versions of papers (through author uploading or conversion from TeX) with this feature.</p>
-
-</div>
-<div class="bodyitem">
- <span id=random-forests><p><a href="#random-forests">2018-05-15</a></p></span>
- <h3 id="notes-on-random-froests">Notes on random froests</h3>
-<p><a href="https://lagunita.stanford.edu/courses/HumanitiesSciences/StatLearning/Winter2016/info">Stanford Lagunita’s statistical learning course</a> has some excellent lectures on random forests. It starts with explanations of decision trees, followed by bagged trees and random forests, and ends with boosting. From these lectures it seems that:</p>
-<ol type="1">
-<li>The term “predictors” in statistical learning = “features” in machine learning.</li>
-<li>The main idea of random forests of dropping predictors for individual trees and aggregate by majority or average is the same as the idea of dropout in neural networks, where a proportion of neurons in the hidden layers are dropped temporarily during different minibatches of training, effectively averaging over an emsemble of subnetworks. Both tricks are used as regularisations, i.e. to reduce the variance. The only difference is: in random forests, all but a square root number of the total number of features are dropped, whereas the dropout ratio in neural networks is usually a half.</li>
-</ol>
-<p>By the way, here’s a comparison between statistical learning and machine learning from the slides of the Statistcal Learning course:</p>
-<p><a href="../assets/resources/sl-vs-ml.png"><img src="../assets/resources/sl-vs-ml.png" alt="SL vs ML" style="width:38em" /></a></p>
-
-</div>
-<div class="bodyitem">
- <span id=open-review-net><p><a href="#open-review-net">2018-05-14</a></p></span>
- <h3 id="open-peer-review">Open peer review</h3>
-<p>Open peer review means peer review process where communications e.g. comments and responses are public.</p>
-<p>Like <a href="https://scipost.org/">SciPost</a> mentioned in <a href="/posts/2018-04-10-update-open-research.html">my post</a>, <a href="https://openreview.net">OpenReview.net</a> is an example of open peer review in research. It looks like their focus is machine learning. Their <a href="https://openreview.net/about">about page</a> states their mission, and here’s <a href="https://openreview.net/group?id=ICLR.cc/2018/Conference">an example</a> where you can click on each entry to see what it is like. We definitely need this in the maths research community.</p>
-
-</div>
-<div class="bodyitem">
- <span id=rnn-fsm><p><a href="#rnn-fsm">2018-05-11</a></p></span>
- <h3 id="some-notes-on-rnn-fsm-fa-tm-and-utm">Some notes on RNN, FSM / FA, TM and UTM</h3>
-<p>Related to <a href="#neural-turing-machine">a previous micropost</a>.</p>
-<p><a href="http://www.cs.toronto.edu/~rgrosse/csc321/lec9.pdf">These slides from Toronto</a> are a nice introduction to RNN (recurrent neural network) from a computational point of view. It states that RNN can simulate any FSM (finite state machine, a.k.a. finite automata abbr. FA) with a toy example computing the parity of a binary string.</p>
-<p><a href="http://www.deeplearningbook.org/contents/rnn.html">Goodfellow et. al.’s book</a> (see page 372 and 374) goes one step further, stating that RNN with a hidden-to-hidden layer can simulate Turing machines, and not only that, but also the <em>universal</em> Turing machine abbr. UTM (the book referenced <a href="https://www.sciencedirect.com/science/article/pii/S0022000085710136">Siegelmann-Sontag</a>), a property not shared by the weaker network where the hidden-to-hidden layer is replaced by an output-to-hidden layer (page 376).</p>
-<p>By the way, the RNN with a hidden-to-hidden layer has the same architecture as the so-called linear dynamical system mentioned in <a href="https://www.coursera.org/learn/neural-networks/lecture/Fpa7y/modeling-sequences-a-brief-overview">Hinton’s video</a>.</p>
-<p>From what I have learned, the universality of RNN and feedforward networks are therefore due to different arguments, the former coming from Turing machines and the latter from an analytical view of approximation by step functions.</p>
-
-</div>
-<div class="bodyitem">
- <span id=math-writing-decoupling><p><a href="#math-writing-decoupling">2018-05-10</a></p></span>
- <h3 id="writing-readable-mathematics-like-writing-an-operating-system">Writing readable mathematics like writing an operating system</h3>
-<p>One way to write readable mathematics is to decouple concepts. One idea is the following template. First write a toy example with all the important components present in this example, then analyse each component individually and elaborate how (perhaps more complex) variations of the component can extend the toy example and induce more complex or powerful versions of the toy example. Through such incremental development, one should be able to arrive at any result in cutting edge research after a pleasant journey.</p>
-<p>It’s a bit like the UNIX philosophy, where you have a basic system of modules like IO, memory management, graphics etc, and modify / improve each module individually (H/t <a href="http://nand2tetris.org/">NAND2Tetris</a>).</p>
-<p>The book <a href="http://neuralnetworksanddeeplearning.com/">Neutral networks and deep learning</a> by Michael Nielsen is an example of such approach. It begins the journey with a very simple neutral net with one hidden layer, no regularisation, and sigmoid activations. It then analyses each component including cost functions, the back propagation algorithm, the activation functions, regularisation and the overall architecture (from fully connected to CNN) individually and improve the toy example incrementally. Over the course the accuracy of the example of mnist grows incrementally from 95.42% to 99.67%.</p>
-
-</div>
-<div class="bodyitem">
- <span id=neural-nets-activation><p><a href="#neural-nets-activation">2018-05-09</a></p></span>
- <blockquote>
-<p>What makes the rectified linear activation function better than the sigmoid or tanh functions? At present, we have a poor understanding of the answer to this question. Indeed, rectified linear units have only begun to be widely used in the past few years. The reason for that recent adoption is empirical: a few people tried rectified linear units, often on the basis of hunches or heuristic arguments. They got good results classifying benchmark data sets, and the practice has spread. In an ideal world we’d have a theory telling us which activation function to pick for which application. But at present we’re a long way from such a world. I should not be at all surprised if further major improvements can be obtained by an even better choice of activation function. And I also expect that in coming decades a powerful theory of activation functions will be developed. Today, we still have to rely on poorly understood rules of thumb and experience.</p>
-</blockquote>
-<p>Michael Nielsen, <a href="http://neuralnetworksanddeeplearning.com/chap6.html#convolutional_neural_networks_in_practice">Neutral networks and deep learning</a></p>
-
-</div>
-<div class="bodyitem">
- <span id=neural-turing-machine><p><a href="#neural-turing-machine">2018-05-09</a></p></span>
- <blockquote>
-<p>One way RNNs are currently being used is to connect neural networks more closely to traditional ways of thinking about algorithms, ways of thinking based on concepts such as Turing machines and (conventional) programming languages. <a href="https://arxiv.org/abs/1410.4615">A 2014 paper</a> developed an RNN which could take as input a character-by-character description of a (very, very simple!) Python program, and use that description to predict the output. Informally, the network is learning to “understand” certain Python programs. <a href="https://arxiv.org/abs/1410.5401">A second paper, also from 2014</a>, used RNNs as a starting point to develop what they called a neural Turing machine (NTM). This is a universal computer whose entire structure can be trained using gradient descent. They trained their NTM to infer algorithms for several simple problems, such as sorting and copying.</p>
-<p>As it stands, these are extremely simple toy models. Learning to execute the Python program <code>print(398345+42598)</code> doesn’t make a network into a full-fledged Python interpreter! It’s not clear how much further it will be possible to push the ideas. Still, the results are intriguing. Historically, neural networks have done well at pattern recognition problems where conventional algorithmic approaches have trouble. Vice versa, conventional algorithmic approaches are good at solving problems that neural nets aren’t so good at. No-one today implements a web server or a database program using a neural network! It’d be great to develop unified models that integrate the strengths of both neural networks and more traditional approaches to algorithms. RNNs and ideas inspired by RNNs may help us do that.</p>
-</blockquote>
-<p>Michael Nielsen, <a href="http://neuralnetworksanddeeplearning.com/chap6.html#other_approaches_to_deep_neural_nets">Neural networks and deep learning</a></p>
-
-</div>
-<div class="bodyitem">
- <span id=nlp-arxiv><p><a href="#nlp-arxiv">2018-05-08</a></p></span>
- <p>Primer Science is a tool by a startup called Primer that uses NLP to summarize contents (but not single papers, yet) on arxiv. A developer of this tool predicts in <a href="https://twimlai.com/twiml-talk-136-taming-arxiv-w-natural-language-processing-with-john-bohannon/#">an interview</a> that progress on AI’s ability to extract meanings from AI research papers will be the biggest accelerant on AI research.</p>
-
-</div>
-<div class="bodyitem">
- <span id=neural-nets-regularization><p><a href="#neural-nets-regularization">2018-05-08</a></p></span>
- <blockquote>
-<p>no-one has yet developed an entirely convincing theoretical explanation for why regularization helps networks generalize. Indeed, researchers continue to write papers where they try different approaches to regularization, compare them to see which works better, and attempt to understand why different approaches work better or worse. And so you can view regularization as something of a kludge. While it often helps, we don’t have an entirely satisfactory systematic understanding of what’s going on, merely incomplete heuristics and rules of thumb.</p>
-<p>There’s a deeper set of issues here, issues which go to the heart of science. It’s the question of how we generalize. Regularization may give us a computational magic wand that helps our networks generalize better, but it doesn’t give us a principled understanding of how generalization works, nor of what the best approach is.</p>
-</blockquote>
-<p>Michael Nielsen, <a href="http://neuralnetworksanddeeplearning.com/chap3.html#why_does_regularization_help_reduce_overfitting">Neural networks and deep learning</a></p>
-
-</div>
-<div class="bodyitem">
- <span id=sql-injection-video><p><a href="#sql-injection-video">2018-05-08</a></p></span>
- <p>Computerphile has some brilliant educational videos on computer science, like <a href="https://www.youtube.com/watch?v=ciNHn38EyRc">a demo of SQL injection</a>, <a href="https://www.youtube.com/watch?v=eis11j_iGMs">a toy example of the lambda calculus</a>, and <a href="https://www.youtube.com/watch?v=9T8A89jgeTI">explaining the Y combinator</a>.</p>
-
-</div>
-<div class="bodyitem">
- <span id=learning-knowledge-graph-reddit-journal-club><p><a href="#learning-knowledge-graph-reddit-journal-club">2018-05-07</a></p></span>
- <h3 id="learning-via-knowledge-graph-and-reddit-journal-clubs">Learning via knowledge graph and reddit journal clubs</h3>
-<p>It is a natural idea to look for ways to learn things like going through a skill tree in a computer RPG.</p>
-<p>For example I made a <a href="https://ypei.me/posts/2015-04-02-juggling-skill-tree.html">DAG for juggling</a>.</p>
-<p>Websites like <a href="https://knowen.org">Knowen</a> and <a href="https://metacademy.org">Metacademy</a> explore this idea with added flavour of open collaboration.</p>
-<p>The design of Metacademy looks quite promising. It also has a nice tagline: “your package manager for knowledge”.</p>
-<p>There are so so many tools to assist learning / research / knowledge sharing today, and we should keep experimenting, in the hope that eventually one of them will scale.</p>
-<p>On another note, I often complain about the lack of a place to discuss math research online, but today I found on Reddit some journal clubs on machine learning: <a href="https://www.reddit.com/r/MachineLearning/comments/8aluhs/d_machine_learning_wayr_what_are_you_reading_week/">1</a>, <a href="https://www.reddit.com/r/MachineLearning/comments/8elmd8/d_anyone_having_trouble_reading_a_particular/">2</a>. If only we had this for maths. On the other hand r/math does have some interesting recurring threads as well: <a href="https://www.reddit.com/r/math/wiki/everythingaboutx">Everything about X</a> and <a href="https://www.reddit.com/r/math/search?q=what+are+you+working+on?+author:automoderator+&amp;sort=new&amp;restrict_sr=on&amp;t=all">What Are You Working On?</a>. Hopefully these threads can last for years to come.</p>
-
-</div>
-<div class="bodyitem">
- <span id=simple-solution-lack-of-math-rendering><p><a href="#simple-solution-lack-of-math-rendering">2018-05-02</a></p></span>
- <h3 id="pastebin-for-the-win">Pastebin for the win</h3>
-<p>The lack of maths rendering in major online communication platforms like instant messaging, email or Github has been a minor obsession of mine for quite a while, as I saw it as a big factor preventing people from talking more maths online. But today I realised this is totally a non-issue. Just do what people on IRC have been doing since the inception of the universe: use a (latex) pastebin.</p>
-
-</div>
-<div class="bodyitem">
- <span id=neural-networks-programming-paradigm><p><a href="#neural-networks-programming-paradigm">2018-05-01</a></p></span>
- <blockquote>
-<p>Neural networks are one of the most beautiful programming paradigms ever invented. In the conventional approach to programming, we tell the computer what to do, breaking big problems up into many small, precisely defined tasks that the computer can easily perform. By contrast, in a neural network we don’t tell the computer how to solve our problem. Instead, it learns from observational data, figuring out its own solution to the problem at hand.</p>
-</blockquote>
-<p>Michael Nielsen - <a href="http://neuralnetworksanddeeplearning.com/about.html">What this book (Neural Networks and Deep Learning) is about</a></p>
-<p>Unrelated to the quote, note that Nielsen’s book is licensed under <a href="https://creativecommons.org/licenses/by-nc/3.0/deed.en_GB">CC BY-NC</a>, so one can build on it and redistribute non-commercially.</p>
-
-</div>
-<div class="bodyitem">
- <span id=google-search-not-ai><p><a href="#google-search-not-ai">2018-04-30</a></p></span>
- <blockquote>
-<p>But, users have learned to accommodate to Google not the other way around. We know what kinds of things we can type into Google and what we can’t and we keep our searches to things that Google is likely to help with. We know we are looking for texts and not answers to start a conversation with an entity that knows what we really need to talk about. People learn from conversation and Google can’t have one. It can pretend to have one using Siri but really those conversations tend to get tiresome when you are past asking about where to eat.</p>
-</blockquote>
-<p>Roger Schank - <a href="http://www.rogerschank.com/fraudulent-claims-made-by-IBM-about-Watson-and-AI">Fraudulent claims made by IBM about Watson and AI</a></p>
-
-</div>
-<div class="bodyitem">
- <span id=hacker-ethics><p><a href="#hacker-ethics">2018-04-06</a></p></span>
- <blockquote>
-<ul>
-<li>Access to computers—and anything that might teach you something about the way the world works—should be unlimited and total. Always yield to the Hands-On Imperative!</li>
-<li>All information should be free.</li>
-<li>Mistrust Authority—Promote Decentralization.</li>
-<li>Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.</li>
-<li>You can create art and beauty on a computer.</li>
-<li>Computers can change your life for the better.</li>
-</ul>
-</blockquote>
-<p><a href="https://en.wikipedia.org/wiki/Hacker_ethic">The Hacker Ethic</a>, <a href="https://en.wikipedia.org/wiki/Hackers:_Heroes_of_the_Computer_Revolution">Hackers: Heroes of Computer Revolution</a>, by Steven Levy</p>
-
-</div>
-<div class="bodyitem">
- <span id=static-site-generator><p><a href="#static-site-generator">2018-03-23</a></p></span>
- <blockquote>
-<p>“Static site generators seem like music databases, in that everyone eventually writes their own crappy one that just barely scratches the itch they had (and I’m no exception).”</p>
-</blockquote>
-<p><a href="https://news.ycombinator.com/item?id=7747651">__david__@hackernews</a></p>
-<p>So did I.</p>
-
-</div>
-
- </div>
-
- </body>
-</html>
diff --git a/site/postlist.html b/site/postlist.html
deleted file mode 100644
index 0ee5d77..0000000
--- a/site/postlist.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>All posts</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a>All posts</a><a href="index.html">About</a><a href="blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <ul class="postlist">
- <li class="postlistitem">
- <a href="posts/2018-06-03-automatic_differentiation.html">Automatic differentiation</a> - 2018-06-03
-</li>
-<li class="postlistitem">
- <a href="posts/2018-04-10-update-open-research.html">Updates on open research</a> - 2018-04-29
-</li>
-<li class="postlistitem">
- <a href="posts/2017-08-07-mathematical_bazaar.html">The Mathematical Bazaar</a> - 2017-08-07
-</li>
-<li class="postlistitem">
- <a href="posts/2017-04-25-open_research_toywiki.html">Open mathematical research and launching toywiki</a> - 2017-04-25
-</li>
-<li class="postlistitem">
- <a href="posts/2016-10-13-q-robinson-schensted-knuth-polymer.html">A \(q\)-Robinson-Schensted-Knuth algorithm and a \(q\)-polymer</a> - 2016-10-13
-</li>
-<li class="postlistitem">
- <a href="posts/2015-07-15-double-macdonald-polynomials-macdonald-superpolynomials.html">AMS review of 'Double Macdonald polynomials as the stable limit of Macdonald superpolynomials' by Blondeau-Fournier, Lapointe and Mathieu</a> - 2015-07-15
-</li>
-<li class="postlistitem">
- <a href="posts/2015-07-01-causal-quantum-product-levy-area.html">On a causal quantum double product integral related to Lévy stochastic area.</a> - 2015-07-01
-</li>
-<li class="postlistitem">
- <a href="posts/2015-05-30-infinite-binary-words-containing-repetitions-odd-periods.html">AMS review of 'Infinite binary words containing repetitions of odd period' by Badkobeh and Crochemore</a> - 2015-05-30
-</li>
-<li class="postlistitem">
- <a href="posts/2015-04-02-juggling-skill-tree.html">jst</a> - 2015-04-02
-</li>
-<li class="postlistitem">
- <a href="posts/2015-04-01-unitary-double-products.html">Unitary causal quantum stochastic double products as universal interactions I</a> - 2015-04-01
-</li>
-<li class="postlistitem">
- <a href="posts/2015-01-20-weighted-interpretation-super-catalan-numbers.html">AMS review of 'A weighted interpretation for the super Catalan numbers' by Allen and Gheorghiciuc</a> - 2015-01-20
-</li>
-<li class="postlistitem">
- <a href="posts/2014-04-01-q-robinson-schensted-symmetry-paper.html">Symmetry property of \(q\)-weighted Robinson-Schensted algorithms and branching algorithms</a> - 2014-04-01
-</li>
-<li class="postlistitem">
- <a href="posts/2013-06-01-q-robinson-schensted-paper.html">A \(q\)-weighted Robinson-Schensted algorithm</a> - 2013-06-01
-</li>
-
- </ul>
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2013-06-01-q-robinson-schensted-paper.html b/site/posts/2013-06-01-q-robinson-schensted-paper.html
deleted file mode 100644
index 0d81693..0000000
--- a/site/posts/2013-06-01-q-robinson-schensted-paper.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>A \(q\)-weighted Robinson-Schensted algorithm</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> A \(q\)-weighted Robinson-Schensted algorithm </h2>
- <p>Posted on 2013-06-01</p>
- <p>In <a href="https://projecteuclid.org/euclid.ejp/1465064320">this paper</a> with <a href="http://www.bristol.ac.uk/maths/people/neil-m-oconnell/">Neil</a> we construct a \(q\)-version of the Robinson-Schensted algorithm with column insertion. Like the <a href="http://en.wikipedia.org/wiki/Robinson–Schensted_correspondence">usual RS correspondence</a> with column insertion, this algorithm could take words as input. Unlike the usual RS algorithm, the output is a set of weighted pairs of semistandard and standard Young tableaux \((P,Q)\) with the same shape. The weights are rational functions of indeterminant \(q\).</p>
-<p>If \(q\in[0,1]\), the algorithm can be considered as a randomised RS algorithm, with 0 and 1 being two interesting cases. When \(q\to0\), it is reduced to the latter usual RS algorithm; while when \(q\to1\) with proper scaling it should scale to directed random polymer model in <a href="http://arxiv.org/abs/0910.0069">(O’Connell 2012)</a>. When the input word \(w\) is a random walk:</p>
-<p>\begin{align*}\mathbb P(w=v)=\prod_{i=1}^na_{v_i},\qquad\sum_ja_j=1\end{align*}</p>
-<p>the shape of output evolves as a Markov chain with kernel related to \(q\)-Whittaker functions, which are Macdonald functions when \(t=0\) with a factor.</p>
-
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2014-04-01-q-robinson-schensted-symmetry-paper.html b/site/posts/2014-04-01-q-robinson-schensted-symmetry-paper.html
deleted file mode 100644
index b546aca..0000000
--- a/site/posts/2014-04-01-q-robinson-schensted-symmetry-paper.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>Symmetry property of \(q\)-weighted Robinson-Schensted algorithms and branching algorithms</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> Symmetry property of \(q\)-weighted Robinson-Schensted algorithms and branching algorithms </h2>
- <p>Posted on 2014-04-01</p>
- <p>In <a href="http://link.springer.com/article/10.1007/s10801-014-0505-x">this paper</a> a symmetry property analogous to the well known symmetry property of the normal Robinson-Schensted algorithm has been shown for the \(q\)-weighted Robinson-Schensted algorithm. The proof uses a generalisation of the growth diagram approach introduced by Fomin. This approach, which uses “growth graphs”, can also be applied to a wider class of insertion algorithms which have a branching structure.</p>
-<figure>
-<img src="../assets/resources/1423graph.jpg" alt="Growth graph of q-RS for 1423" /><figcaption>Growth graph of q-RS for 1423</figcaption>
-</figure>
-<p>Above is the growth graph of the \(q\)-weighted Robinson-Schensted algorithm for the permutation \({1 2 3 4\choose1 4 2 3}\).</p>
-
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2015-01-20-weighted-interpretation-super-catalan-numbers.html b/site/posts/2015-01-20-weighted-interpretation-super-catalan-numbers.html
deleted file mode 100644
index 1f72a96..0000000
--- a/site/posts/2015-01-20-weighted-interpretation-super-catalan-numbers.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>AMS review of 'A weighted interpretation for the super Catalan numbers' by Allen and Gheorghiciuc</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> AMS review of 'A weighted interpretation for the super Catalan numbers' by Allen and Gheorghiciuc </h2>
- <p>Posted on 2015-01-20</p>
- <p>The super Catalan numbers are defined as $$ T(m,n) = {(2 m)! (2 n)! 2 m! n! (m + n)!}. $$</p>
-<p>   This paper has two main results. First a combinatorial interpretation of the super Catalan numbers is given: $$ T(m,n) = P(m,n) - N(m,n) $$ where \(P(m,n)\) enumerates the number of 2-Motzkin paths whose \(m\) -th step begins at an even level (called \(m\)-positive paths) and \(N(m,n)\) those with \(m\)-th step beginning at an odd level (\(m\)-negative paths). The proof uses a recursive argument on the number of \(m\)-positive and -negative paths, based on a recursion of the super Catalan numbers appearing in [I. M. Gessel, J. Symbolic Comput. <strong>14</strong> (1992), no. 2-3, 179–194; <a href="http://www.ams.org/mathscinet/search/publdoc.html?r=1&amp;pg1=MR&amp;s1=1187230&amp;loc=fromrevtext">MR1187230</a>]: $$ 4T(m,n) = T(m+1, n) + T(m, n+1). $$ This result gives an expression for the super Catalan numbers in terms of numbers counting the so-called ballot paths. The latter sometimes are also referred to as the generalised Catalan numbers forming the entries of the Catalan triangle.</p>
-<p>   Based on the first result, the second result is a combinatorial interpretation of the super Catalan numbers \(T(2,n)\) in terms of counting certain Dyck paths. This is equivalent to a theorem, which represents \(T(2,n)\) as counting of certain pairs of Dyck paths, in [I. M. Gessel and G. Xin, J. Integer Seq. <strong>8</strong> (2005), no. 2, Article 05.2.3, 13 pp.; <a href="http://www.ams.org/mathscinet/search/publdoc.html?r=1&amp;pg1=MR&amp;s1=2134162&amp;loc=fromrevtext">MR2134162</a>], and the equivalence is explained at the end of the paper by a bijection between the Dyck paths and the pairs of Dyck paths. The proof of the theorem itself is also done by constructing two bijections between Dyck paths satisfying certain conditions. All the three bijections are formulated by locating, removing and adding steps.</p>
-<p>Copyright notice: This review is published at http://www.ams.org/mathscinet-getitem?mr=3275875, its copyright owned by the AMS.</p>
-
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2015-04-01-unitary-double-products.html b/site/posts/2015-04-01-unitary-double-products.html
deleted file mode 100644
index 086503c..0000000
--- a/site/posts/2015-04-01-unitary-double-products.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>Unitary causal quantum stochastic double products as universal interactions I</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> Unitary causal quantum stochastic double products as universal interactions I </h2>
- <p>Posted on 2015-04-01</p>
- <p>In <a href="http://www.actaphys.uj.edu.pl/findarticle?series=Reg&amp;vol=46&amp;page=1851">this paper</a> with <a href="http://homepages.lboro.ac.uk/~marh3/">Robin</a> we show the explicit formulae for a family of unitary triangular and rectangular double product integrals which can be described as second quantisations.</p>
-
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2015-04-02-juggling-skill-tree.html b/site/posts/2015-04-02-juggling-skill-tree.html
deleted file mode 100644
index 0b98acf..0000000
--- a/site/posts/2015-04-02-juggling-skill-tree.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>jst</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> jst </h2>
- <p>Posted on 2015-04-02</p>
- <p>jst = juggling skill tree</p>
-<p>If you have ever played a computer role playing game, you may have noticed the protagonist sometimes has a skill “tree” (most of the time it is actually a directed acyclic graph), where certain skills leads to others. For example, <a href="http://hydra-media.cursecdn.com/diablo.gamepedia.com/3/37/Sorceress_Skill_Trees_%28Diablo_II%29.png?version=b74b3d4097ef7ad4e26ebee0dcf33d01">here</a> is the skill tree of sorceress in <a href="https://en.wikipedia.org/wiki/Diablo_II">Diablo II</a>.</p>
-<p>Now suppose our hero embarks on a quest for learning all the possible juggling patterns. Everyone would agree she should start with cascade, the simplest nontrivial 3-ball pattern, but what afterwards? A few other accessible patterns for beginners are juggler’s tennis, two in one and even reverse cascade, but what to learn after that? The encyclopeadic <a href="http://libraryofjuggling.com/">Library of Juggling</a> serves as a good guide, as it records more than 160 patterns, some of which very aesthetically appealing. On this website almost all the patterns have a “prerequisite” section, indicating what one should learn beforehand. I have therefore written a script using <a href="http://python.org">Python</a>, <a href="http://www.crummy.com/software/BeautifulSoup/">BeautifulSoup</a> and <a href="http://pygraphviz.github.io/">pygraphviz</a> to generate a jst (graded by difficulties, which is the leftmost column) from the Library of Juggling (click the image for the full size):</p>
-<p><a href="../assets/resources/juggling.png"><img src="../assets/resources/juggling.png" alt="The juggling skill tree" style="width:38em" /></a></p>
-
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2015-05-30-infinite-binary-words-containing-repetitions-odd-periods.html b/site/posts/2015-05-30-infinite-binary-words-containing-repetitions-odd-periods.html
deleted file mode 100644
index 3b426fa..0000000
--- a/site/posts/2015-05-30-infinite-binary-words-containing-repetitions-odd-periods.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>AMS review of 'Infinite binary words containing repetitions of odd period' by Badkobeh and Crochemore</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> AMS review of 'Infinite binary words containing repetitions of odd period' by Badkobeh and Crochemore </h2>
- <p>Posted on 2015-05-30</p>
- <p>This paper is about the existence of pattern-avoiding infinite binary words, where the patterns are squares, cubes and \(3^+\)-powers.    There are mainly two kinds of results, positive (existence of an infinite binary word avoiding a certain pattern) and negative (non-existence of such a word). Each positive result is proved by the construction of a word with finitely many squares and cubes which are listed explicitly. First a synchronising (also known as comma-free) uniform morphism \(g\: \Sigma_3^* \to \Sigma_2^*\)</p>
-<p>is constructed. Then an argument is given to show that the length of squares in the code \(g(w)\) for a squarefree \(w\) is bounded, hence all the squares can be obtained by examining all \(g(s)\) for \(s\) of bounded lengths. The argument resembles that of the proof of, e.g., Theorem 1, Lemma 2, Theorem 3 and Lemma 4 in [N. Rampersad, J. O. Shallit and M. Wang, Theoret. Comput. Sci. <strong>339</strong> (2005), no. 1, 19–34; <a href="http://www.ams.org/mathscinet/search/publdoc.html?r=1&amp;pg1=MR&amp;s1=2142071&amp;loc=fromrevtext">MR2142071</a>]. The negative results are proved by traversing all possible finite words satisfying the conditions.</p>
-<p>   Let \(L(n_2, n_3, S)\) be the maximum length of a word with \(n_2\) distinct squares, \(n_3\) distinct cubes and that the periods of the squares can take values only in \(S\) , where \(n_2, n_3 \in \Bbb N \cup \{\infty, \omega\}\) and \(S \subset \Bbb N_+\) .    \(n_k = 0\) corresponds to \(k\)-free, \(n_k = \infty\) means no restriction on the number of distinct \(k\)-powers, and \(n_k = \omega\) means \(k^+\)-free.</p>
-<p>   Below is the summary of the positive and negative results:</p>
-<ol type="1">
-<li><p>(Negative) \(L(\infty, \omega, 2 \Bbb N) &lt; \infty\) : \(\nexists\) an infinite \(3^+\) -free binary word avoiding all squares of odd periods. (Proposition 1)</p></li>
-<li><p>(Negative) \(L(\infty, 0, 2 \Bbb N + 1) \le 23\) : \(\nexists\) an infinite 3-free binary word, avoiding squares of even periods. The longest one has length \(\le 23\) (Proposition 2).</p></li>
-<li>(Positive) \(L(\infty, \omega, 2 \Bbb N +
-<ol type="1">
-<li><dl>
-<dt>= \infty\)</dt>
-<dd>\(\exists\) an infinite \(3^+\) -free binary word avoiding squares of even periods (Theorem 1).
-</dd>
-</dl></li>
-</ol></li>
-<li><p>(Positive) \(L(\infty, \omega, \{1, 3\}) = \infty\) : \(\exists\) an infinite \(3^+\) -free binary word containing only squares of period 1 or 3 (Theorem 2).</p></li>
-<li><p>(Negative) \(L(6, 1, 2 \Bbb N + 1) = 57\) : \(\nexists\) an infinite binary word avoiding squares of even period containing \(&lt; 7\) squares and \(&lt; 2\) cubes. The longest one containing 6 squares and 1 cube has length 57 (Proposition 6).</p></li>
-<li><p>(Positive) \(L(7, 1, 2 \Bbb N + 1) = \infty\) : \(\exists\) an infinite \(3^+\) -free binary word avoiding squares of even period with 1 cube and 7 squares (Theorem 3).</p></li>
-<li><p>(Positive) \(L(4, 2, 2 \Bbb N + 1) = \infty\) : \(\exists\) an infinite \(3^+\) -free binary words avoiding squares of even period and containing 2 cubes and 4 squares (Theorem 4).</p></li>
-</ol>
-<p>Copyright notice: This review is published at http://www.ams.org/mathscinet-getitem?mr=3313467, its copyright owned by the AMS.</p>
-
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2015-07-01-causal-quantum-product-levy-area.html b/site/posts/2015-07-01-causal-quantum-product-levy-area.html
deleted file mode 100644
index 3fdaa72..0000000
--- a/site/posts/2015-07-01-causal-quantum-product-levy-area.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>On a causal quantum double product integral related to Lévy stochastic area.</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> On a causal quantum double product integral related to Lévy stochastic area. </h2>
- <p>Posted on 2015-07-01</p>
- <p>In <a href="https://arxiv.org/abs/1506.04294">this paper</a> with <a href="http://homepages.lboro.ac.uk/~marh3/">Robin</a> we study the family of causal double product integrals \[ \prod_{a &lt; x &lt; y &lt; b}\left(1 + i{\lambda \over 2}(dP_x dQ_y - dQ_x dP_y) + i {\mu \over 2}(dP_x dP_y + dQ_x dQ_y)\right) \]</p>
-<p>where <span class="math inline">\(P\)</span> and <span class="math inline">\(Q\)</span> are the mutually noncommuting momentum and position Brownian motions of quantum stochastic calculus. The evaluation is motivated heuristically by approximating the continuous double product by a discrete product in which infinitesimals are replaced by finite increments. The latter is in turn approximated by the second quantisation of a discrete double product of rotation-like operators in different planes due to a result in <a href="http://www.actaphys.uj.edu.pl/findarticle?series=Reg&amp;vol=46&amp;page=1851">(Hudson-Pei2015)</a>. The main problem solved in this paper is the explicit evaluation of the continuum limit <span class="math inline">\(W\)</span> of the latter, and showing that <span class="math inline">\(W\)</span> is a unitary operator. The kernel of <span class="math inline">\(W\)</span> is written in terms of Bessel functions, and the evaluation is achieved by working on a lattice path model and enumerating linear extensions of related partial orderings, where the enumeration turns out to be heavily related to Dyck paths and generalisations of Catalan numbers.</p>
-
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2015-07-15-double-macdonald-polynomials-macdonald-superpolynomials.html b/site/posts/2015-07-15-double-macdonald-polynomials-macdonald-superpolynomials.html
deleted file mode 100644
index a0d5a7c..0000000
--- a/site/posts/2015-07-15-double-macdonald-polynomials-macdonald-superpolynomials.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>AMS review of 'Double Macdonald polynomials as the stable limit of Macdonald superpolynomials' by Blondeau-Fournier, Lapointe and Mathieu</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> AMS review of 'Double Macdonald polynomials as the stable limit of Macdonald superpolynomials' by Blondeau-Fournier, Lapointe and Mathieu </h2>
- <p>Posted on 2015-07-15</p>
- <p>A Macdonald superpolynomial (introduced in [O. Blondeau-Fournier et al., Lett. Math. Phys. <span class="bf">101</span> (2012), no. 1, 27–47; <a href="http://www.ams.org/mathscinet/search/publdoc.html?pg1=MR&amp;s1=2935476&amp;loc=fromrevtext">MR2935476</a>; J. Comb. <span class="bf">3</span> (2012), no. 3, 495–561; <a href="http://www.ams.org/mathscinet/search/publdoc.html?pg1=MR&amp;s1=3029444&amp;loc=fromrevtext">MR3029444</a>]) in \(N\) Grassmannian variables indexed by a superpartition \(\Lambda\) is said to be stable if \({m (m + 1) \over 2} \ge |\Lambda|\) and \(N \ge |\Lambda| - {m (m - 3) \over 2}\) , where \(m\) is the fermionic degree. A stable Macdonald superpolynomial (corresponding to a bisymmetric polynomial) is also called a double Macdonald polynomial (dMp). The main result of this paper is the factorisation of a dMp into plethysms of two classical Macdonald polynomials (Theorem 5). Based on this result, this paper</p>
-<ol type="1">
-<li><p>shows that the dMp has a unique decomposition into bisymmetric monomials;</p></li>
-<li><p>calculates the norm of the dMp;</p></li>
-<li><p>calculates the kernel of the Cauchy-Littlewood-type identity of the dMp;</p></li>
-<li><p>shows the specialisation of the aforementioned factorisation to the Jack, Hall-Littlewood and Schur cases. One of the three Schur specialisations, denoted as \(s_{\lambda, \mu}\), also appears in (7) and (9) below;</p></li>
-<li><p>defines the \(\omega\) -automorphism in this setting, which was used to prove an identity involving products of four Littlewood-Richardson coefficients;</p></li>
-<li><p>shows an explicit evaluation of the dMp motivated by the most general evaluation of the usual Macdonald polynomials;</p></li>
-<li><p>relates dMps with the representation theory of the hyperoctahedral group \(B_n\) via the double Kostka coefficients (which are defined as the entries of the transition matrix from the bisymmetric Schur functions \(s_{\lambda, \mu}\) to the modified dMps);</p></li>
-<li><p>shows that the double Kostka coefficients have the positivity and the symmetry property, and can be written as sums of products of the usual Kostka coefficients;</p></li>
-<li><p>defines an operator \(\nabla^B\) as an analogue of the nabla operator \(\nabla\) introduced in [F. Bergeron and A. M. Garsia, in <em>Algebraic methods and \(q\)-special functions</em> (Montréal, QC, 1996), 1–52, CRM Proc. Lecture Notes, 22, Amer. Math. Soc., Providence, RI, 1999; <a href="http://www.ams.org/mathscinet/search/publdoc.html?r=1&amp;pg1=MR&amp;s1=1726826&amp;loc=fromrevtext">MR1726826</a>]. The action of \(\nabla^B\) on the bisymmetric Schur function \(s_{\lambda, \mu}\) yields the dimension formula \((h + 1)^r\) for the corresponding representation of \(B_n\) , where \(h\) and \(r\) are the Coxeter number and the rank of \(B_n\) , in the same way that the action of \(\nabla\) on the \(n\) th elementary symmetric function leads to the same formula for the group of type \(A_n\) .</p></li>
-</ol>
-<p>Copyright notice: This review is published at http://www.ams.org/mathscinet-getitem?mr=3306078, its copyright owned by the AMS.</p>
-
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2016-10-13-q-robinson-schensted-knuth-polymer.html b/site/posts/2016-10-13-q-robinson-schensted-knuth-polymer.html
deleted file mode 100644
index e7c9a7e..0000000
--- a/site/posts/2016-10-13-q-robinson-schensted-knuth-polymer.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>A \(q\)-Robinson-Schensted-Knuth algorithm and a \(q\)-polymer</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> A \(q\)-Robinson-Schensted-Knuth algorithm and a \(q\)-polymer </h2>
- <p>Posted on 2016-10-13</p>
- <p>(Latest update: 2017-01-12) In <a href="http://arxiv.org/abs/1504.00666">Matveev-Petrov 2016</a> a \(q\)-deformed Robinson-Schensted-Knuth algorithm (\(q\)RSK) was introduced. In this article we give reformulations of this algorithm in terms of Noumi-Yamada description, growth diagrams and local moves. We show that the algorithm is symmetric, namely the output tableaux pair are swapped in a sense of distribution when the input matrix is transposed. We also formulate a \(q\)-polymer model based on the \(q\)RSK and prove the corresponding Burke property, which we use to show a strong law of large numbers for the partition function given stationary boundary conditions and \(q\)-geometric weights. We use the \(q\)-local moves to define a generalisation of the \(q\)RSK taking a Young diagram-shape of array as the input. We write down the joint distribution of partition functions in the space-like direction of the \(q\)-polymer in \(q\)-geometric environment, formulate a \(q\)-version of the multilayer polynuclear growth model (\(q\)PNG) and write down the joint distribution of the \(q\)-polymer partition functions at a fixed time.</p>
-<p>This article is available at <a href="https://arxiv.org/abs/1610.03692">arXiv</a>. It seems to me that one difference between arXiv and Github is that on arXiv each preprint has a few versions only. In Github many projects have a “dev” branch hosting continuous updates, whereas the master branch is where the stable releases live.</p>
-<p><a href="%7B%7B%20site.url%20%7D%7D/assets/resources/qrsklatest.pdf">Here</a> is a “dev” version of the article, which I shall push to arXiv when it stablises. Below is the changelog.</p>
-<ul>
-<li>2017-01-12: Typos and grammar, arXiv v2.</li>
-<li>2016-12-20: Added remarks on the geometric \(q\)-pushTASEP. Added remarks on the converse of the Burke property. Added natural language description of the \(q\)RSK. Fixed typos.</li>
-<li>2016-11-13: Fixed some typos in the proof of Theorem 3.</li>
-<li>2016-11-07: Fixed some typos. The \(q\)-Burke property is now stated in a more symmetric way, so is the law of large numbers Theorem 2.</li>
-<li>2016-10-20: Fixed a few typos. Updated some references. Added a reference: <a href="http://web.mit.edu/~shopkins/docs/rsk.pdf">a set of notes titled “RSK via local transformations”</a>. It is written by <a href="http://web.mit.edu/~shopkins/">Sam Hopkins</a> in 2014 as an expository article based on MIT combinatorics preseminar presentations of Alex Postnikov. It contains some idea (applying local moves to a general Young-diagram shaped array in the order that matches any growth sequence of the underlying Young diagram) which I thought I was the first one to write down.</li>
-</ul>
-
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2017-04-25-open_research_toywiki.html b/site/posts/2017-04-25-open_research_toywiki.html
deleted file mode 100644
index 0fed793..0000000
--- a/site/posts/2017-04-25-open_research_toywiki.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>Open mathematical research and launching toywiki</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> Open mathematical research and launching toywiki </h2>
- <p>Posted on 2017-04-25</p>
- <p>As an experimental project, I am launching toywiki.</p>
-<p>It hosts a collection of my research notes.</p>
-<p>It takes some ideas from the open source culture and apply them to mathematical research: 1. It uses a very permissive license (CC-BY-SA). For example anyone can fork the project and make their own version if they have a different vision and want to build upon the project. 2. All edits will done with maximum transparency, and discussions of any of notes should also be as public as possible (e.g. Github issues) 3. Anyone can suggest changes by opening issues and submitting pull requests</p>
-<p>Here are the links: <a href="http://toywiki.xyz">toywiki</a> and <a href="https://github.com/ycpei/toywiki">github repo</a>.</p>
-<p>Feedbacks are welcome by email.</p>
-
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2017-08-07-mathematical_bazaar.html b/site/posts/2017-08-07-mathematical_bazaar.html
deleted file mode 100644
index 0e5f6b0..0000000
--- a/site/posts/2017-08-07-mathematical_bazaar.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>The Mathematical Bazaar</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> The Mathematical Bazaar </h2>
- <p>Posted on 2017-08-07</p>
- <p>In this essay I describe some problems in academia of mathematics and propose an open source model, which I call open research in mathematics.</p>
-<p>This essay is a work in progress - comments and criticisms are welcome! <a href="#fn1" class="footnote-ref" id="fnref1"><sup>1</sup></a></p>
-<p>Before I start I should point out that</p>
-<ol type="1">
-<li>Open research is <em>not</em> open access. In fact the latter is a prerequisite to the former.</li>
-<li>I am not proposing to replace the current academic model with the open model - I know academia works well for many people and I am happy for them, but I think an open research community is long overdue since the wide adoption of the World Wide Web more than two decades ago. In fact, I fail to see why an open model can not run in tandem with the academia, just like open source and closed source software development coexist today.</li>
-</ol>
-<h2 id="problems-of-academia">problems of academia</h2>
-<p>Open source projects are characterised by publicly available source codes as well as open invitations for public collaborations, whereas closed source projects do not make source codes accessible to the public. How about mathematical academia then, is it open source or closed source? The answer is neither.</p>
-<p>Compared to some other scientific disciplines, mathematics does not require expensive equipments or resources to replicate results; compared to programming in conventional software industry, mathematical findings are not meant to be commercial, as credits and reputation rather than money are the direct incentives (even though the former are commonly used to trade for the latter). It is also a custom and common belief that mathematical derivations and theorems shouldn't be patented. Because of this, mathematical research is an open source activity in the sense that proofs to new results are all available in papers, and thanks to open access e.g. the arXiv preprint repository most of the new mathematical knowledge is accessible for free.</p>
-<p>Then why, you may ask, do I claim that maths research is not open sourced? Well, this is because 1. mathematical arguments are not easily replicable and 2. mathematical research projects are mostly not open for public participation.</p>
-<p>Compared to computer programs, mathematical arguments are not written in an unambiguous language, and they are terse and not written in maximum verbosity (this is especially true in research papers as journals encourage limiting the length of submissions), so the understanding of a proof depends on whether the reader is equipped with the right background knowledge, and the completeness of a proof is highly subjective. More generally speaking, computer programs are mostly portable because all machines with the correct configurations can understand and execute a piece of program, whereas humans are subject to their environment, upbringings, resources etc. to have a brain ready to comprehend a proof that interests them. (these barriers are softer than the expensive equipments and resources in other scientific fields mentioned before because it is all about having access to the right information)</p>
-<p>On the other hand, as far as the pursuit of reputation and prestige (which can be used to trade for the scarce resource of research positions and grant money) goes, there is often little practical motivation for career mathematicians to explain their results to the public carefully. And so the weird reality of the mathematical academia is that it is not an uncommon practice to keep trade secrets in order to protect one's territory and maintain a monopoly. This is doable because as long as a paper passes the opaque and sometimes political peer review process and is accepted by a journal, it is considered work done, accepted by the whole academic community and adds to the reputation of the author(s). Just like in the software industry, trade secrets and monopoly hinder the development of research as a whole, as well as demoralise outsiders who are interested in participating in related research.</p>
-<p>Apart from trade secrets and territoriality, another reason to the nonexistence of open research community is an elitist tradition in the mathematical academia, which goes as follows:</p>
-<ul>
-<li>Whoever is not good at mathematics or does not possess a degree in maths is not eligible to do research, or else they run high risks of being labelled a crackpot.</li>
-<li>Mistakes made by established mathematicians are more tolerable than those less established.</li>
-<li>Good mathematical writings should be deep, and expositions of non-original results are viewed as inferior work and do not add to (and in some cases may even damage) one's reputation.</li>
-</ul>
-<p>All these customs potentially discourage public participations in mathematical research, and I do not see them easily go away unless an open source community gains momentum.</p>
-<p>To solve the above problems, I propose a open source model of mathematical research, which has high levels of openness and transparency and also has some added benefits listed in the last section of this essay. This model tries to achieve two major goals:</p>
-<ul>
-<li>Open and public discussions and collaborations of mathematical research projects online</li>
-<li>Open review to validate results, where author name, reviewer name, comments and responses are all publicly available online.</li>
-</ul>
-<p>To this end, a Github model is fitting. Let me first describe how open source collaboration works on Github.</p>
-<h2 id="open-source-collaborations-on-github">open source collaborations on Github</h2>
-<p>On <a href="https://github.com">Github</a>, every project is publicly available in a repository (we do not consider private repos). The owner can update the project by &quot;committing&quot; changes, which include a message of what has been changed, the author of the changes and a timestamp. Each project has an issue tracker, which is basically a discussion forum about the project, where anyone can open an issue (start a discussion), and the owner of the project as well as the original poster of the issue can close it if it is resolved, e.g. bug fixed, feature added, or out of the scope of the project. Closing the issue is like ending the discussion, except that the thread is still open to more posts for anyone interested. People can react to each issue post, e.g. upvote, downvote, celebration, and importantly, all the reactions are public too, so you can find out who upvoted or downvoted your post.</p>
-<p>When one is interested in contributing code to a project, they fork it, i.e. make a copy of the project, and make the changes they like in the fork. Once they are happy with the changes, they submit a pull request to the original project. The owner of the original project may accept or reject the request, and they can comment on the code in the pull request, asking for clarification, pointing out problematic part of the code etc and the author of the pull request can respond to the comments. Anyone, not just the owner can participate in this review process, turning it into a public discussion. In fact, a pull request is a special issue thread. Once the owner is happy with the pull request, they accept it and the changes are merged into the original project. The author of the changes will show up in the commit history of the original project, so they get the credits.</p>
-<p>As an alternative to forking, if one is interested in a project but has a different vision, or that the maintainer has stopped working on it, they can clone it and make their own version. This is a more independent kind of fork because there is no longer intention to contribute back to the original project.</p>
-<p>Moreover, on Github there is no way to send private messages, which forces people to interact publicly. If say you want someone to see and reply to your comment in an issue post or pull request, you simply mention them by <code>@someone</code>.</p>
-<h2 id="open-research-in-mathematics">open research in mathematics</h2>
-<p>All this points to a promising direction of open research. A maths project may have a wiki / collection of notes, the paper being written, computer programs implementing the results etc. The issue tracker can serve as a discussion forum about the project as well as a platform for open review (bugs are analogous to mistakes, enhancements are possible ways of improving the main results etc.), and anyone can make their own version of the project, and (optionally) contribute back by making pull requests, which will also be openly reviewed. One may want to add an extra &quot;review this project&quot; functionality, so that people can comment on the original project like they do in a pull request. This may or may not be necessary, as anyone can make comments or point out mistakes in the issue tracker.</p>
-<p>One may doubt this model due to concerns of credits because work in progress is available to anyone. Well, since all the contributions are trackable in project commit history and public discussions in issues and pull request reviews, there is in fact <em>less</em> room for cheating than the current model in academia, where scooping can happen without any witnesses. What we need is a platform with a good amount of trust like arXiv, so that the open research community honours (and can not ignore) the commit history, and the chance of mis-attribution can be reduced to minimum.</p>
-<p>Compared to the academic model, open research also has the following advantages:</p>
-<ul>
-<li>Anyone in the world with Internet access will have a chance to participate in research, whether they are affiliated to a university, have the financial means to attend conferences, or are colleagues of one of the handful experts in a specific field.</li>
-<li>The problem of replicating / understanding maths results will be solved, as people help each other out. This will also remove the burden of answering queries about one's research. For example, say one has a project &quot;Understanding the fancy results in [paper name]&quot;, they write up some initial notes but get stuck understanding certain arguments. In this case they can simply post the questions on the issue tracker, and anyone who knows the answer, or just has a speculation can participate in the discussion. In the end the problem may be resolved without the authors of the paper being bothered, who may be too busy to answer.</li>
-<li>Similarly, the burden of peer review can also be shifted from a few appointed reviewers to the crowd.</li>
-</ul>
-<h2 id="related-readings">related readings</h2>
-<ul>
-<li><a href="http://www.catb.org/esr/writings/cathedral-bazaar/">The Cathedral and the Bazaar by Eric Raymond</a></li>
-<li><a href="http://michaelnielsen.org/blog/doing-science-online/">Doing sience online by Michael Nielson</a></li>
-<li><a href="https://gowers.wordpress.com/2009/01/27/is-massively-collaborative-mathematics-possible/">Is massively collaborative mathematics possible? by Timothy Gowers</a></li>
-</ul>
-<section class="footnotes">
-<hr />
-<ol>
-<li id="fn1"><p>Please send your comments to my email address - I am still looking for ways to add a comment functionality to this website.<a href="#fnref1" class="footnote-back">↩</a></p></li>
-</ol>
-</section>
-
- </div>
- </div>
- </body>
-</html>
diff --git a/site/posts/2018-04-10-update-open-research.html b/site/posts/2018-04-10-update-open-research.html
deleted file mode 100644
index b9b8d98..0000000
--- a/site/posts/2018-04-10-update-open-research.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>Updates on open research</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script data-isso="/comments/"
- data-isso-css="true"
- data-isso-lang="en"
- data-isso-reply-to-self="false"
- data-isso-require-author="true"
- data-isso-require-email="true"
- data-isso-max-comments-top="10"
- data-isso-max-comments-nested="5"
- data-isso-reveal-on-click="5"
- data-isso-avatar="true"
- data-isso-avatar-bg="#f0f0f0"
- data-isso-avatar-fg="#9abf88 #5698c4 #e279a3 #9163b6 ..."
- data-isso-vote="true"
- data-vote-levels=""
- src="/comments/js/embed.min.js"></script>
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> Updates on open research </h2>
- <p>Posted on 2018-04-29 | <a href="/posts/2018-04-10-update-open-research.html#isso-thread">Comments</a> </p>
- <p>It has been 9 months since I last wrote about open (maths) research. Since then two things happened which prompted me to write an update.</p>
-<p>As always I discuss open research only in mathematics, not because I think it should not be applied to other disciplines, but simply because I do not have experience nor sufficient interests in non-mathematical subjects.</p>
-<p>First, I read about Richard Stallman the founder of the free software movement, in <a href="http://shop.oreilly.com/product/9780596002879.do">his biography by Sam Williams</a> and his own collection of essays <a href="https://shop.fsf.org/books-docs/free-software-free-society-selected-essays-richard-m-stallman-3rd-edition"><em>Free software, free society</em></a>, from which I learned a bit more about the context and philosophy of free software and its relation to that of open source software. For anyone interested in open research, I highly recommend having a look at these two books. I am also reading Levy’s <a href="http://www.stevenlevy.com/index.php/books/hackers">Hackers</a>, which documented the development of the hacker culture predating Stallman. I can see the connection of ideas from the hacker ethic to the free software philosophy and to the open source philosophy. My guess is that the software world is fortunate to have pioneers who advocated for various kinds of freedom and openness from the beginning, whereas for academia which has a much longer history, credit protection has always been a bigger concern.</p>
-<p>Also a month ago I attended a workshop called <a href="https://www.perimeterinstitute.ca/conferences/open-research-rethinking-scientific-collaboration">Open research: rethinking scientific collaboration</a>. That was the first time I met a group of people (mostly physicists) who also want open research to happen, and we had some stimulating discussions. Many thanks to the organisers at Perimeter Institute for organising the event, and special thanks to <a href="https://www.perimeterinstitute.ca/people/matteo-smerlak">Matteo Smerlak</a> and <a href="https://www.perimeterinstitute.ca/people/ashley-milsted">Ashley Milsted</a> for invitation and hosting.</p>
-<p>From both of these I feel like I should write an updated post on open research.</p>
-<h3 id="freedom-and-community">Freedom and community</h3>
-<p>Ideals matter. Stallman’s struggles stemmed from the frustration of denied request of source code (a frustration I shared in academia except source code is replaced by maths knowledge), and revolved around two things that underlie the free software movement: freedom and community. That is, the freedom to use, modify and share a work, and by sharing, to help the community.</p>
-<p>Likewise, as for open research, apart from the utilitarian view that open research is more efficient / harder for credit theft, we should not ignore the ethical aspect that open research is right and fair. In particular, I think freedom and community can also serve as principles in open research. One way to make this argument more concrete is to describe what I feel are the central problems: NDAs (non-disclosure agreements) and reproducibility.</p>
-<p><strong>NDAs</strong>. It is assumed that when establishing a research collaboration, or just having a discussion, all those involved own the joint work in progress, and no one has the freedom to disclose any information e.g. intermediate results without getting permission from all collaborators. In effect this amounts to signing an NDA. NDAs are harmful because they restrict people’s freedom from sharing information that can benefit their own or others’ research. Considering that in contrast to the private sector, the primary goal of academia is knowledge but not profit, NDAs in research are unacceptable.</p>
-<p><strong>Reproducibility</strong>. Research papers written down are not necessarily reproducible, even though they appear on peer-reviewed journals. This is because the peer-review process is opaque and the proofs in the papers may not be clear to everyone. To make things worse, there are no open channels to discuss results in these papers and one may have to rely on interacting with the small circle of the informed. One example is folk theorems. Another is trade secrets required to decipher published works.</p>
-<p>I should clarify that freedom works both ways. One should have the freedom to disclose maths knowledge, but they should also be free to withhold any information that does not hamper the reproducibility of published works (e.g. results in ongoing research yet to be published), even though it may not be nice to do so when such information can help others with their research.</p>
-<p>Similar to the solution offered by the free software movement, we need a community that promotes and respects free flow of maths knowledge, in the spirit of the <a href="https://www.gnu.org/philosophy/">four essential freedoms</a>, a community that rejects NDAs and upholds reproducibility.</p>
-<p>Here are some ideas on how to tackle these two problems and build the community:</p>
-<ol type="1">
-<li>Free licensing. It solves NDA problem - free licenses permit redistribution and modification of works, so if you adopt them in your joint work, then you have the freedom to modify and distribute the work; it also helps with reproducibility - if a paper is not clear, anyone can write their own version and publish it. Bonus points with the use of copyleft licenses like <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Share-Alike</a> or the <a href="https://www.gnu.org/licenses/fdl.html">GNU Free Documentation License</a>.</li>
-<li>A forum for discussions of mathematics. It helps solve the reproducibility problem - public interaction may help quickly clarify problems. By the way, Math Overflow is not a forum.</li>
-<li>An infrastructure of mathematical knowledge. Like the GNU system, a mathematics encyclopedia under a copyleft license maintained in the Github-style rather than Wikipedia-style by a “Free Mathematics Foundation”, and drawing contributions from the public (inside or outside of the academia). To begin with, crowd-source (again, Github-style) the proofs of say 1000 foundational theorems covered in the curriculum of a bachelor’s degree. Perhaps start with taking contributions from people with some credentials (e.g. having a bachelor degree in maths) and then expand the contribution permission to the public, or taking advantage of existing corpus under free license like Wikipedia.</li>
-<li>Citing with care: if a work is considered authorative but you couldn’t reproduce the results, whereas another paper which tries to explain or discuss similar results makes the first paper understandable to you, give both papers due attribution (something like: see [1], but I couldn’t reproduce the proof in [1], and the proofs in [2] helped clarify it). No one should be offended if you say you can not reproduce something - there may be causes on both sides, whereas citing [2] is fairer and helps readers with a similar background.</li>
-</ol>
-<h3 id="tools-for-open-research">Tools for open research</h3>
-<p>The open research workshop revolved around how to lead academia towards a more open culture. There were discussions on open research tools, improving credit attributions, the peer-review process and the path to adoption.</p>
-<p>During the workshop many efforts for open research were mentioned, and afterwards I was also made aware by more of them, like the following:</p>
-<ul>
-<li><a href="https://osf.io">OSF</a>, an online research platform. It has a clean and simple interface with commenting, wiki, citation generation, DOI generation, tags, license generation etc. Like Github it supports private and public repositories (but defaults to private), version control, with the ability to fork or bookmark a project.</li>
-<li><a href="https://scipost.org/">SciPost</a>, physics journals whose peer review reports and responses are public (peer-witnessed refereeing), and allows comments (post-publication evaluation). Like arXiv, it requires some academic credential (PhD or above) to register.</li>
-<li><a href="https://knowen.org/">Knowen</a>, a platform to organise knowledge in directed acyclic graphs. Could be useful for building the infrastructure of mathematical knowledge.</li>
-<li><a href="https://fermatslibrary.com/">Fermat’s Library</a>, the journal club website that crowd-annotates one notable paper per week released a Chrome extension <a href="https://fermatslibrary.com/librarian">Librarian</a> that overlays a commenting interface on arXiv. As an example Ian Goodfellow did an <a href="https://fermatslibrary.com/arxiv_comments?url=https://arxiv.org/pdf/1406.2661.pdf">AMA (ask me anything) on his GAN paper</a>.</li>
-<li><a href="https://polymathprojects.org/">The Polymath project</a>, the famous massive collaborative mathematical project. Not exactly new, the Polymath project is the only open maths research project that has gained some traction and recognition. However, it does not have many active projects (<a href="http://michaelnielsen.org/polymath1/index.php?title=Main_Page">currently only one active project</a>).</li>
-<li><a href="https://stacks.math.columbia.edu/">The Stacks Project</a>. I was made aware of this project by <a href="https://people.kth.se/~yitingl/">Yiting</a>. Its data is hosted on github and accepts contributions via pull requests and is licensed under the GNU Free Documentation License, ticking many boxes of the free and open source model.</li>
-</ul>
-<h3 id="an-anecdote-from-the-workshop">An anecdote from the workshop</h3>
-<p>In a conversation during the workshop, one of the participants called open science “normal science”, because reproducibility, open access, collaborations, and fair attributions are all what science is supposed to be, and practices like treating the readers as buyers rather than users should be called “bad science”, rather than “closed science”.</p>
-<p>To which an organiser replied: maybe we should rename the workshop “Not-bad science”.</p>
-
- </div>
- <section id="isso-thread"></section>
- </div>
- </body>
-</html>
diff --git a/site/posts/2018-06-03-automatic_differentiation.html b/site/posts/2018-06-03-automatic_differentiation.html
deleted file mode 100644
index 8c2b97a..0000000
--- a/site/posts/2018-06-03-automatic_differentiation.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>Automatic differentiation</title>
- <link rel="stylesheet" href="../assets/css/default.css" />
- <script data-isso="/comments/"
- data-isso-css="true"
- data-isso-lang="en"
- data-isso-reply-to-self="false"
- data-isso-require-author="true"
- data-isso-require-email="true"
- data-isso-max-comments-top="10"
- data-isso-max-comments-nested="5"
- data-isso-reveal-on-click="5"
- data-isso-avatar="true"
- data-isso-avatar-bg="#f0f0f0"
- data-isso-avatar-fg="#9abf88 #5698c4 #e279a3 #9163b6 ..."
- data-isso-vote="true"
- data-vote-levels=""
- src="/comments/js/embed.min.js"></script>
- <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
- <script src="../assets/js/analytics.js" type="text/javascript"></script>
- </head>
- <body>
- <header>
- <span class="logo">
- <a href="../blog.html">Yuchen's Blog</a>
- </span>
- <nav>
- <a href="../index.html">About</a><a href="../postlist.html">All posts</a><a href="../blog-feed.xml">Feed</a>
- </nav>
- </header>
-
- <div class="main">
- <div class="bodyitem">
- <h2> Automatic differentiation </h2>
- <p>Posted on 2018-06-03 | <a href="/posts/2018-06-03-automatic_differentiation.html#isso-thread">Comments</a> </p>
- <p>This post is meant as a documentation of my understanding of autodiff. I benefited a lot from <a href="http://www.cs.toronto.edu/%7Ergrosse/courses/csc321_2018/slides/lec10.pdf">Toronto CSC321 slides</a> and the <a href="https://github.com/mattjj/autodidact/">autodidact</a> project which is a pedagogical implementation of <a href="https://github.com/hips/autograd">Autograd</a>. That said, any mistakes in this note are mine (especially since some of the knowledge is obtained from interpreting slides!), and if you do spot any I would be grateful if you can let me know.</p>
-<p>Automatic differentiation (AD) is a way to compute derivatives. It does so by traversing through a computational graph using the chain rule.</p>
-<p>There are the forward mode AD and reverse mode AD, which are kind of symmetric to each other and understanding one of them results in little to no difficulty in understanding the other.</p>
-<p>In the language of neural networks, one can say that the forward mode AD is used when one wants to compute the derivatives of functions at all layers with respect to input layer weights, whereas the reverse mode AD is used to compute the derivatives of output functions with respect to weights at all layers. Therefore reverse mode AD (rmAD) is the one to use for gradient descent, which is the one we focus in this post.</p>
-<p>Basically rmAD requires the computation to be sufficiently decomposed, so that in the computational graph, each node as a function of its parent nodes is an elementary function that the AD engine has knowledge about.</p>
-<p>For example, the Sigmoid activation <span class="math inline">\(a&#39; = \sigma(w a + b)\)</span> is quite simple, but it should be decomposed to simpler computations:</p>
-<ul>
-<li><span class="math inline">\(a&#39; = 1 / t_1\)</span></li>
-<li><span class="math inline">\(t_1 = 1 + t_2\)</span></li>
-<li><span class="math inline">\(t_2 = \exp(t_3)\)</span></li>
-<li><span class="math inline">\(t_3 = - t_4\)</span></li>
-<li><span class="math inline">\(t_4 = t_5 + b\)</span></li>
-<li><span class="math inline">\(t_5 = w a\)</span></li>
-</ul>
-<p>Thus the function <span class="math inline">\(a&#39;(a)\)</span> is decomposed to elementary operations like addition, subtraction, multiplication, reciprocitation, exponentiation, logarithm etc. And the rmAD engine stores the Jacobian of these elementary operations.</p>
-<p>Since in neural networks we want to find derivatives of a single loss function <span class="math inline">\(L(x; \theta)\)</span>, we can omit <span class="math inline">\(L\)</span> when writing derivatives and denote, say <span class="math inline">\(\bar \theta_k := \partial_{\theta_k} L\)</span>.</p>
-<p>In implementations of rmAD, one can represent the Jacobian as a transformation <span class="math inline">\(j: (x \to y) \to (y, \bar y, x) \to \bar x\)</span>. <span class="math inline">\(j\)</span> is called the <em>Vector Jacobian Product</em> (VJP). For example, <span class="math inline">\(j(\exp)(y, \bar y, x) = y \bar y\)</span> since given <span class="math inline">\(y = \exp(x)\)</span>,</p>
-<p><span class="math inline">\(\partial_x L = \partial_x y \cdot \partial_y L = \partial_x \exp(x) \cdot \partial_y L = y \bar y\)</span></p>
-<p>as another example, <span class="math inline">\(j(+)(y, \bar y, x_1, x_2) = (\bar y, \bar y)\)</span> since given <span class="math inline">\(y = x_1 + x_2\)</span>, <span class="math inline">\(\bar{x_1} = \bar{x_2} = \bar y\)</span>.</p>
-<p>Similarly,</p>
-<ol type="1">
-<li><span class="math inline">\(j(/)(y, \bar y, x_1, x_2) = (\bar y / x_2, - \bar y x_1 / x_2^2)\)</span></li>
-<li><span class="math inline">\(j(\log)(y, \bar y, x) = \bar y / x\)</span></li>
-<li><span class="math inline">\(j((A, \beta) \mapsto A \beta)(y, \bar y, A, \beta) = (\bar y \otimes \beta, A^T \bar y)\)</span>.</li>
-<li>etc...</li>
-</ol>
-<p>In the third one, the function is a matrix <span class="math inline">\(A\)</span> multiplied on the right by a column vector <span class="math inline">\(\beta\)</span>, and <span class="math inline">\(\bar y \otimes \beta\)</span> is the tensor product which is a fancy way of writing <span class="math inline">\(\bar y \beta^T\)</span>. See <a href="https://github.com/mattjj/autodidact/blob/master/autograd/numpy/numpy_vjps.py">numpy_vjps.py</a> for the implementation in autodidact.</p>
-<p>So, given a node say <span class="math inline">\(y = y(x_1, x_2, ..., x_n)\)</span>, and given the value of <span class="math inline">\(y\)</span>, <span class="math inline">\(x_{1 : n}\)</span> and <span class="math inline">\(\bar y\)</span>, rmAD computes the values of <span class="math inline">\(\bar x_{1 : n}\)</span> by using the Jacobians.</p>
-<p>This is the gist of rmAD. It stores the values of each node in a forward pass, and computes the derivatives of each node exactly once in a backward pass.</p>
-<p>It is a nice exercise to derive the backpropagation in the fully connected feedforward neural networks (e.g. <a href="http://neuralnetworksanddeeplearning.com/chap2.html#the_four_fundamental_equations_behind_backpropagation">the one for MNIST in Neural Networks and Deep Learning</a>) using rmAD.</p>
-<p>AD is an approach lying between the extremes of numerical approximation (e.g. finite difference) and symbolic evaluation. It uses exact formulas (VJP) at each elementary operation like symbolic evaluation, while evaluates each VJP numerically rather than lumping all the VJPs into an unwieldy symbolic formula.</p>
-<p>Things to look further into: the higher-order functional currying form <span class="math inline">\(j: (x \to y) \to (y, \bar y, x) \to \bar x\)</span> begs for a functional programming implementation.</p>
-
- </div>
- <section id="isso-thread"></section>
- </div>
- </body>
-</html>