Public Articles

Blog Post 4

1 $\underline{\text{Recurrence Relations}}$ Throughout one’s education and as one progresses through grade levels, a common math problem that students are faced with are puzzles in which they have to determine what number comes next in a sequence. For example, a teacher may ask a student to fill in the missing number given the following:

\[ 1,4,5,9,14 \underline{\hspace{1cm}}, ... \]

A student may then notice a pattern of adding the two terms before to get to the next. This idea, at its very core, is an illustration of a recurrence relation.

Defined mathematically, a recurrence relation is an equation in which the next term in the sequence is dependent upon or acts as a function of the previous term(s).

Using the case above, and applying it to recurrence relations, we would write the relation as: *a*_{n} = *a*_{n − 1} + *a*_{n − 2} where the initial conditions are *a*_{0} = 1 and *a*_{1} = 4.

Some of the more well known examples from the study of discrete mathematics include the Fibonacci sequence as well as binomial coefficients. While the Fibonacci sequence defined by *F*_{n} = *F*_{n − 1} + *F*_{n − 2} where *F*_{1} = *F*_{2} = 1 is fairly easy to recognize as a recurrence relation, binomial coefficients are not primarily described in this way. However, we see from the following illustration that they can, indeed, be accepted as following a recurrence relation. \[ {n \choose k} = {n-1 \choose k-1} + {n-1 \choose k} \]

A game that has been derived from the idea of recurrence relations that some may find entertaining is called the Tower of Hanoi. This was invented by Edouard Lucas in 1883. If this name sounds familiar, it is because Edouard Lucas is more famously known for his recurrence relation called the Lucas Numbers, which follow the same relation as the Fibonacci sequence. In this game, there are a certain number of disks and three “towers.” The objective is to move all the disks stacked on one tower over to another without placing larger disks on smaller ones. An illustration can be seen as such:

Flexible On-Stack Replacement in LLVM

and 1 collaborator

On-Stack Replacement (OSR) is a technique for dynamically transferring execution between different versions of a function at run time. OSR is typically used in virtual machines to interrupt a long-running function and recompile it at a higher optimization level, or to replace it with a different one when a speculative assumption made during its compilation no longer holds.

In this paper we present a framework for OSR that introduces novel ideas and combines features of existing techniques that no previous solution provided simultaneously. New features include OSR with compensation code to adjust the program state during a transition and the ability to fire an OSR from arbitrary locations in the code. Our approach is platform-independent as the OSR machinery is entirely encoded at a compiler’s intermediate representation level.

We implement and evaluate our technique in the LLVM compiler infrastructure, which is gaining popularity as Just-In-Time (JIT) compiler in virtual machines for dynamic languages such as Javascript, MATLAB, Python, and Ruby. As a case study of our approach, we show how to improve the state of the art in the optimization of the instruction, a performance-critical construct of the MATLAB language.

EBH Notes

The purpose of this paper is to write about the concepts of evidence based health and its application in health with emphasis on population health. We shall learn how to search for articles and resources, how to critically appraise journal articles and how to synthesise evidence.

Evidence based health was a term coined by David Sackett Sackett 2015

Bezout's Theorem

Bezout
was a famous mathematician who discovered many beautiful formulas. One of his
most famous theorem/identities dealt with numbers and their greatest common
factors. His theorem states, if integers \(a\) and \(b\) are relatively prime, then
there exists \(x\) and \(y\), integers to satisfy the equation \(ax+by=1\). For any
integers \(a\) and \(b\) excluding zero, let \(d\) be the greatest common divisor such that
\(d\) equals the gcd of \(a\) and \(b\) in other words, \(d\)\(=\)gcd\(\left(a,b\right)\). If this is true then
there must exist integers known as \(x\) and \(y\) to satisfy the equation \(ax+by=d\).

Inclusion-Exclusion and The Movies

Who doesn’t love a great movie? James Franco, Jonah Hill, and Seth Rogen have been in some funny movies, but how many movies are there that any one of these actors are in? Our first guess might be to add all the movies all three of them have been in. But that will not only include movies that one of the actors was in, it will also include movies that starred two or three of them. For this problem, we will need to use the principle of inclusion-exclusion.

Let’s first review the rule of sum: “The rule of sum states that if an action is performed by making A choices or B other choices, then it can be performed A + B ways.” (Benjamin, 8)

So the reason we cannot simply add the list of movies for each of these actors is because we know that they share some of the same movies. The two lists must be distinct in order for us to directly add them.

Take a look at the picture below:

Critique of Graph Cluster Randomization: Network Exposure to Multiple Universes

In this paper I will be reviewing and evaluating the work of Johan Ugander and Jon Kleinberg (both from Cornell University) and Brian Karrer and Lars Backstrom (both from Facebook), entitled *Graph Cluster Randomization: Network Exposure to Multiple Universes*, presented at the 2013 International Conference of Knowledge DIscovery and Data Mining. After a brief summary of the paper and its findings, I present the author's background and related previous work - to find that graph cluster randomization proves to be a truly useful method for social networks and has a wide array of future applicability. Subsequenlty I conduct a brief overview of related work and possible improvements, followed by my personal reflections and suggested future work pathways. I finish with a brief conclusion.

Blog Post 3

1 $\underline{\text{Fibonacci Sequence}}$ According to some accounts, Fibonacci is regarded as one of the most famous names in mathematics. It was Fibonacci, also known by the name Leonardo Pisano, that helped popularize our modern number system in the Latin-speaking world (Knott, 2013). However, he is more widely recognized for what we now call the Fibonacci Sequence. It was when he was contemplating the reproduction of rabbits, and trying to calculate how many pairs of rabbits there would be in one year, that Fibonacci came across the formula, which will become familiar: *x*_{n + 1} = *x*_{n} + *x*_{n − 1}.

This recurrence relation was used to define the Fibonacci Sequence as such: *F*_{n} = *F*_{n − 1} + *F*_{n − 2} where *F*_{1} = *F*_{2} = 1. Calculating the first few terms we see the numbers 1, 1, 2, 3, 5, 8, 13, 21.... These numbers are called the Fibonacci numbers.

These numbers appear in a plethora of areas from nature, art, geometry, etc. A few examples of where these numbers occur include the following:

Honeybee colonies

Spirals and shells

Plants and flowers

ECE 4460B – Laboratory Report 2 Introduction to Synchronous Interrupts

The hardware and software used in this experiment are listed below:

Hardware

Computer with a USB port and compatible with Windows 7;

Development board Wildcat 2000.

Software

Dynamic C 9.62;

Real-time operational system kernel μC/OS-II;

Codes provided by the laboratory instructions and the official course website.

This experiment were realized in a closed and dry laboratory environment at room temperature (26 ± 1) °C, which allows all instruments and components operating within their warranty temperature range stipulated by their manufacturers.

Multichoose

Wolfram Alpha defines multichoose as follows, “The number of multisets of length *k* on *n* symbols is sometimes termed *n* multichoose *k*, denoted $\left(\binom{n}{k}\right)$ by analogy with the binomial coefficient $\binom{n}{k}$ *n* multichoose *k* is given by the simple formula $\left(\binom{n}{k}\right)=\binom{n+k-1}{k}=\left(n-1,k\right)!$, where (*n* − 1, *k*) is a multinomial coefficient” (Wolfram).

What is so special about multichoosing is that it can be used for counting problems where order does not matter and repetition is allowed.

Another term one might often hear used in place of a multichoose problem is a “stars and bars” problem. In fact, if you’re ever in a pinch you should be able to come up with the multichoose formula just from the stars and bars method.

The WiggleZ Dark Energy Survey: Analyzing the Anisotropic Baryonic Acoustic Signature in the Galaxy Clustering

and 3 collaborators

*Oh, an empty article! joy!*

We obtain the most awesome result of all time. We just need time to write it up ...

Rule of Sum

The rule of sum in discrete
mathematics is a way to count a set of objects into independent elements. The
rule of sum presents an idea that if one situation can occur in \(A\) ways and
another situation can occur in \(B\) ways, then there are \(A+B\) ways that one of
these types of situations may occur.

For example, a restaurant
serves fifteen entrees that contain meat, five entrees that contain fish and
three vegetarian entrees. How many dinners are there to choose from?

The rule of sum is applied
here because each entrée contains either meat or fish or is vegetarian. So we
have \(15+5+3=23.\)

The rule of sum is expressed in terms
of sets:

- The union between two sets is denoted as \(A\cup B\). The union means that a set of objects can happen in \(A\) or \(B\) ways or even in both ways.
- The intersection of sets is denoted \(A\cap B\). This is the set of objects that can happen in \(A\) and \(B\) ways.
- If the sets \(A\) and \(B\) have no similar elements, then \(A\cap B=\left\{\right\}\) or \(\emptyset\), which is known as the empty set.
- The size of a set is denoted \(\left|A\right|\) or \(\left|B\right|\) to show the amount of elements in set \(A\) or set \(B\).

Useful links of journals

Nature

Science

Proceedings of the National Academy of Sciences

Nature Communications

Nature Physics

Physical Review Letters

Applied Physics Letters

Nature Chemistry

Journal of American Chemistry Society

Analytical Chemistry

Nature Materials

Advanced Materials

Advanced Functional Materials

Nature Nanotechnology

Nano Letters

ACS Nano

Lab on a Chip

Physics of Fluids

Journal of Fluid Mechanics

The Principal of Mathematical Induction

Mathematical induction is used in mathematics to prove many
statements, in particular it is used to prove statements, theorems, or even formulas
that are asserted by all natural numbers. When we say “all” natural numbers it
means any natural number that we may possibly come across on. In order to prove
by mathematical induction, we must first go over some very important rules.

Heuristic Approach for the Bushy Tree Implementation on Apache Derby Query Optimizer

and 2 collaborators

Query optimization is one of the most important steps in relational databases. Almost all the relational database systems such as MySQL, Postgres, Oracle DB, Apache Derbyconsist of query optimizers. Major challenge in query optimization is deciding optimum plan to execute join query. According to some researches that has been conducted related to this problem, left-deep tree and bushy trees are two main approaches to solve the problem\cite{opt1}. Apache Derby is a relational database entirely written in java. Currently Apache Derby optimizer only consider left-deep tree in its query processing. Our approach is to implement bushy tree support for derby optimizer.However research has shown that constructing bushy tree execution plans is NP hard\cite{opt2}. Therefore we are introducing heuristics that would minimize evaluations time significantly

Topical Evenlope of Tweets via Hashtag Classification

With over 300 million registered users producing over 500 million tweets per day\cite{_twitterStats}, Twitter has became one of the largest and most popular microblogging websites. To cope with the volume of information shared daily, Twitter has introduced hashtags, keywords prefaced with “#”, to help users categorize and search for tweets, which provide a way for a user to indicate the subject of a tweet in a way that is easy to search for as featured index. However, not all the hashtags are in a “good” format. For example, when a big event just happened, some of the hashtags were not represented in a uniform way or missed some keywords. To retrieve all the information related to this big event, it asks for classifying the tweets and reproducing relatively uniform hashtags. To made this task reachable, I made a simple assumption that a top trends tweet’s hashtag content is a good approximation of its total content\cite{rosa_topical}.

In this paper I present an algorithm to learn the relationships between the literal content of a tweet and the types of hashtags that could accurately describe that content. To better classify each tweet, I need to overcome problems of text cleaning, dimensionality reduction, and multi-class categorization.

Existence of positive solutions for an approximation of stationary mean-field games

and 22 collaborators

Here, we consider a regularized mean-field game model that features a low-order
regularization. We prove the existence of solutions with positive density.
To do so, we combine a priori estimates with the continuation method.
Since low order regularizations are easier to implement numerically, our methods give a theoretical foundation for their use.

Multichoosing

How many ways can you distribute \(20\) identical cupcakes to \(8\)
hungry children? How many ways can you give out \(15\) identical cookies to \(4\)
children if each child must have at least \(3\) cookies?

All of these questions revolve around the topic of
multichoosing. Multichoosing in discrete mathematics is another counting
problem. In multichoose problems, order is not important and repetition is allowed.
Multichoosing is denoted \(\left(\binom{n}{k}\right)\) where \(\left(\binom{n}{k}\right)\) means the amount of ways to
choose length \(k\) multisets from a set of \(n\) objects. In general \(\left(\binom{n}{k}\right)\) is where we may
say “\(n\) multichoose \(k\).” Notice this is a resembalance with the binomial coefficient
\(\binom{n}{k}.\)

\(\left(\binom{n}{k}\right)\) is shown by the formula:

Rule of Product

The Rule of Product goes by other names such as the Multiplication Principle or Sequential Rule. It is a multiplication based rule one follows in certain counting procedures.

“The rule of product states that if an action can be performed by making *A* choices followed by *B* choices, then it can be performed *A**B* ways” (Benjamin, 2009).

In other words suppose there exists a set of *A* choices and a set *B* choices, multiplying *A**B* will be the number of ways to do *A* and *B*. As a side note, notice the word “**and**”, this can often be a queue word for situations were one might find need for The Rule of Product.

Independence of a sets is also required when The Rule of Product is in play. That simply means that a set *A* and set *B* from earlier are completely separate.

Moreover, this rule extends to any number of sets. Meaning if we have a set *A*, *B*, *C*, and *D* they can still be multiplied *A**B**C**D*.

So lets look at a simple example.

Pascal's triangle

Pascal’s triangle is filled with patterns that can solve
many mathematical problems. One of the neat things that the triangle can do is help with
binomial expressions. First let’s take a look at binomial expressions. Binomial expressions relate to the sum or difference of two
terms such as:

\(x+2\)

\(3x+5\)

\(c-d\)

2 things you need to do so your resolutions make you feel like a queen

2016 has just started. We made New Years' resolutions. Some of us have sticked to your plans for now. And this makes us feel good.

Maybe you have not made any comittments because you think this is a stupid habit. Maybe you do not take these words as serious commitments?

Or maybe you have made plans but you are already desperate because your goals are so huge and far away.

Or you were lazy during the first weeks of January and now it feels like you can never make your resolutions a habit.

Stirling Numbers

Stirling numbers of the second kind in discrete mathematics
are used to show numerous combinatoric properties like partitioning a set, (a
number of ways to write an integer of a set), and forming a recurrence relation.

Blog Post 2

1 $\underline{\text{Pascal's Triangle}}$ In discrete mathematics, Pascal’s triangle is the arrangement of binomial coefficients in such a way that a triangle is formed. Although such a pattern was studied centuries before his time, we refer to Pascal’s triangle in relation to Blaise Pascal, a French mathematician. The triangle was originally developed by the ancient Chinese, but Pascal was the first person to discover the importance of all of the patterns that occur within it. His work allegedly stemmed from the popularity of gambling. After considering a question asked to him about gambling with dice, Pascal’s *Arithmetical Triangle* resulted.

The triangle is created by starting at the top, row 0, with the number 1. Each row afterwards begins and ends with 1 and the pattern follows that as you move through the row, you add the number above and to the left with the number above and to the right for any given position. A portion of Pascal’s triangle is shown below.

Blog Post 1

1 $\underline{\text{Binomial Coefficient}}$ In mathematics, the binomial coefficient is written as ${n \choose k}$ and can be pronounced as “*n* choose *k*.” Alternatively, binomial coefficients are also sometimes given the notation *C*(*n*, *k*). In this case, the *C* stands for the word “choices” or “combination” (Benjamin, 2009, p. 8). This is because there are ${n \choose k}$ ways of choosing *k* elements from a set containing a number of *n* elements. For example, we can consider the set *A* = {1, 2, 3, 4}. If we wish to know how many subsets of 2 can be created using this set, we are essentially asking how many ways there are of choosing 2 elements from a set with 4 total elements. Therefore, we can identify that *k* = 2 and *n* = 4. Hence, we have ${4 \choose 2}$. To calculate such a problem, we typically would want to write out by hand all the possible combinations. Doing so, one would find that there are six pairs of size two subsets, namely {1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, and {3, 4}. However, it becomes clear to see that when we are dealing with large sets of values, this work can become tedious. Therefore, it is convenient to utilize the following formula:

\[{n \choose k} = \frac{n!}{(n-k)! \cdot k!} \]