text:
1. Please check and comment entries here.

Topic review

# Blockchain and Fog Based Architecture

View times: 232
Submitted by: Parminder singh

## Definition

Fog computing (FC) is used to reduce the energy consumption and latency for the heterogeneous communication approaches in the smart cities’ applications of the Internet of Everything (IoE). Fog computing nodes are connected through wired or wireless medium. The goal of smart city applications is to develop the transaction relationship of real-time response applications. There are various frameworks in real-world to support the IoE in smart-cities but they face the issues like security, platform Independence, multi-application assistance, and resource management. This article is motivated from the Blockchain and Fog computing technologies and presents a secured architecture Blockchain and Fog-based Architecture Network (BFAN) for IoE applications in the smart cities. The proposed architecture secures sensitive data with encryption, authentication, and Blockchain. It assists the System-developers and Architects to deploy the applications in smart city paradigm. The goal of the proposed architecture is to reduce the latency and energy, and ensure improved security features through Blockchain technology. The simulation results demonstrate that the proposed architecture performs better than the existing frameworks for smart-cities.

## 1. Smart City

The origin of smart city stems from the improvement in the quality of life of citizens and optimal resource utilization of the city [1], due to the recent acceleration in the urban living. The improvement in infrastructure and services has upgraded the quality of life. This has been possible due to the Internet, communication and information technology advancements [2]. Some of the expectations derived from the idea of smart cities include efficient public services, and better infrastructure, which is easily accessible and more interactive. The smart city vision has become a reality with the potential of the Internet of things (IoT). As a consequence, the smart city has come out as one of the major drivers for the IoT applications. The entire city is covered with the physical objects, which are interrelated with the IoT system. The four pillars that can be connected with IoT concepts are data, things, people, and processes. The Internet of Everything (IoE) emerged with the people in the IoT paradigm, whereby an interconnected network is aggregated in IoE. Therefore, the vision of a smart city integrated with IoE pillars to facilitate promising services in the future.

## 2. Development

The distributed environment used for the IoE’s generation of Big Data (BD) has the potential to raise the problems of data storage and data processing. Cloud computing can be a solution; the processing and storage can be acquired on-demand, based on a pay-as-you-go manner. However, inherent problems are the reason for the inefficient working of the applications in the cloud environment [3]. For example, the traffic monitoring and health monitoring application in the smart cities cannot afford the delay in communication from the origin of data to the cloud data center, and then again, at the end-point application. Therefore, the fog computing concept has emerged recently. It reduces the network traffic and processing time of data by bringing end-user closer to the cloud services at the edge of the network [4].
Cisco [5] has given the FC’s primary definition as “Fog Computing is a paradigm that extends Cloud computing and services to the edge of the network.“ The Fog Node (FN) helps in the execution of IoT application, which is one of the basic fundamental entities in FC. Generally, the FC acts as an intermediate layer between cloud infrastructure and end devices/end users. IoT applications need low latency, geo-distribution, awareness, and mobility support. The proposed BFAN architecture is aimed at improving the mentioned param by processing most of the data near to the end-users or end-devices. The security is enhanced with the Blockchain technology. Blockchain is a chain of blocks that grows with each transaction and is linked through cryptography. The block is a combination of transaction data, timestamp, and previous blocks’ cryptographic hash.
It is a new buzzword that is capable of attracting many developers and researchers. Blockchain helps to provide true redundancy and full decentralization. The smart contract resource allocation algorithm helps to provide the on-demand resources and, bills are generated after the usage. The key is managed by the user and fragment stores in the encrypted format. There is no third party involved in controlling and accessing data. Therefore, there is no way to recover the lost private keys.
The monitoring of resource utilization helps in comparing the value of performance metrics in service level agreement (SLA) with real-time values. This helps to provide the quality of service (QoS) to the end-user. The storage cost of Amazon S3 is $25 per TB/month, where Blockchain’s cost is approximately$2 per TB/month [6]. Thus, the blockchain has the potential to reduce the storage cost by up to 80%.

The FNs can be chosen as the nearest medium for processing and storage, which can reduce the delay of data transfer at a remote location as well as save energy. The proposed BFAN framework attempts to answer various issues such as:

• Security: The security in the smart-cities concerned with cyber-security and physical security. In this article, the protection of data from attacks, computing infrastructure, and network are performed using Blockchain technology.
• Caching: Low-latency is one of the vital aspects of smart-city. To achieve this, caching is used to store more frequent data at different locations in a network. Caching also helps to reduce network congestion by avoiding the flow of repeated data on the network. Fog computing with caching enables a variety of applications in smart cities.
• Scalability: This enables elastic services in Fog computing in order to provide the Quality of Service (QoS). Dew computing concepts is applied in the proposed BFAN architecture to provide a fast and scalable cloud-like environment near to the IoE devices.
• Sustainability: The energy-efficient frameworks is the current requirement for smart cities using renewable energy sources. The sustainability aim is to reduce carbon footprints. Nowadays, brown sources produce more than 80% of the energy used in data-centers [7][8]. Therefore, we consider sustainability as a major concern in the article. The proposed BFAN framework helps to reduce the carbon footprint, increase the profit and hardware reliability.
• Context-awareness: An ability to obtains the node locations and information of the environment is called context-awareness. The proposed BFAN framework is context-aware and considers the environment param and node locations to choose the appropriate mode of communication. This add more meaning to the current state-of-the-art for energy efficiency and services of smart cities.

It is important that the components and services in the smart cities must be equipped with emerging technologies of 4 pillars. The major contributions of the article are listed below:

• We have devised a smart city architecture with Blockchain and Fog Computing for every device.
• The resource provisioning model has been presented for FN-to-FN, devices-to-FN and device-devices components.
• The real dataset has been used to evaluate the performance of our proposed BFAN model in various types of communication.

This entry is adapted from 10.3390/fi12040061

## References

1. Paolo Neirotti; Alberto De Marco; Anna Corinna Cagliano; Giulio Mangano; Francesco Scorrano; Current trends in Smart City initiatives: Some stylised facts. Cities 2014, 38, 25-36, 10.1016/j.cities.2013.12.010.
2. Panagiotis Vlacheas; Raffaele Giaffreda; Vera Stavroulaki; Dimitris Kelaidonis; Vassilis Foteinos; Giorgos Poulios; Andrey Somov; Panagiotis Demestichas; Abdur R. Biswas; Klaus Moessner; et al. Enabling smart cities through a cognitive management framework for the internet of things. IEEE Communications Magazine 2013, 51, 102-111, 10.1109/MCOM.2013.6525602.
3. Harshit Gupta; Amir Vahid Dastjerdi; Soumya K. Ghosh; Rajkumar Buyya; iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments. Software: Practice and Experience 2017, 47, 1275-1296, 10.1002/spe.2509.
4. Paolo Bellavista; Alessandro Zanni; Feasibility of Fog Computing Deployment based on Docker Containerization over RaspberryPi. Proceedings of the 18th International Conference on Computer Systems and Technologies - CompSysTech'17 2017, , , 10.1145/3007748.3007777.
5. Solutions, C.F.C. Unleash the Power of the Internet of Things; Cisco Systems Inc.: San Jose, CA, USA, 2015.
6. Herbert, Z. Why Blockchains Are the Future of Cloud Storage. Available online: https://blog.sia.tech/why-blockchains-are-the-future-of-cloud-storage-91f0b48cfce9 (accessed on 22 March 2020).
7. Wei Li; Ting Yang; Flavia C. Delicato; Paulo F. Pires; Zahir Tari; Samee U. Khan; Albert Y. Zomaya; On Enabling Sustainable Edge Computing with Renewable Energy Resources. IEEE Communications Magazine 2018, 56, 94-101, 10.1109/mcom.2018.1700888.
8. Gill, S.S.; Buyya, R. A taxonomy and future directions for sustainable cloud computing: 360 degree view. ACM Comput. Surv. CSUR 2018, 51, 1–33.
More


text:
# How do you write an equation of a line with Slope = –5, passing through (–4, –2)?

May 18, 2015

The answer is : $y = - 5 x - 22$.

The standard form of the equation of a line is : $y = m x + c$, where $m$ is the slope.

Since you have a point $\left(x , y\right) = \left(- 4 , - 2\right)$ through which your line passes, you just have to solve the following equation in order to find $c$ :

$y = - 5 x + c$

$- 2 = \left(- 5\right) \cdot \left(- 4\right) + c = 20 + c$

$- 22 = c$

Therefore, the equation of your line is : $y = - 5 x - 22$.

format: plain


text:
# The Mathematician’s Homepage — can it be more?

Yesterday I went on a rant about Keith Devlin’s homepage and twitter. That was, like all rants, a little unfair on him. I guess idols are always more disappointing. However, although the rant was triggered by that one tweet it had been building up over the last week because I was writing a longer piece for various reasons. So here it is.

I’m enamoured with mathematical blogs. Ever since we started mathblogging.org, I browse through a lot of blog posts each day and I’m thrilled: the creativity and quality of their content is simply amazing, every day.

## Old-school is just old

And yet, hardly any mathematician I personally know keeps a blog. But almost all of them keep a homepage. And usually it is abysmal.

You probably know what I’m talking about. All those handwritten html pages from the late 90s using all sorts of html-evils that have long been discarded (tables, frames, puffy cloud mosaic gif backgrounds).

If you’re lucky, the homepage will have a cv, some self archived papers (ranked by vanity impact factor of the journals) and possibly teaching material, if you’re unlucky, papers are posted as an impossible to compile TeX variant and not stored on the arXiv (“’cause it’s too hard…”). If you’re really out of luck, you’ll find bizarre personal interests, genealogies, baby pictures and breakfast habits.

Of course, you can get away with almost anything if your content is fantastic (cf. Doron Zeilberger). But most people’s websites are a complete waste and an insult to anyone visiting them.

Why such harsh words?

An elementary web design paradigm says there are only two scenarios: either you want to reach your visitor or your visitor wants to reach you. If a page is designed under the first scenario, it must draw the visitor in, usually with clear, simple design that immediately conveys to the visitor why they should spend more time on your page. Under the second scenario your visitor wants something from you. Then, and only then, can you ask them to ‘work harder’, jump through some menus, wade through long content etc.

So the criticism is simple: these old-school homepages follow the second scenario where they should follow the first. And this is, whether intentional or not, an unnecessary insult.

## The true social network is the www

Ever since I read this quote (I think it was on netzpiloten.de but had no luck googling…), I cannot get it out of my head:

“The true social network is the world wide web.”

What a statement! Read it again.

“The true social network is the world wide web.”

I cannot get enough of it. One more time.

“The true social network is the world wide web.”

The thing is, I truly believe this.

Instead of centralized, company controlled social network we need to take charge of our online identities and set up our personal websites to serve as a hub for our exchanges with other people, online and offline. That way, we are in full control of what we share with whom and for how long.

I’m intentionally phrasing this very abstractly because there is neither a simple nor a permanent solution. Whatever technology can be used for this right now, it will most likely be obsolete in 5 years. But one thing is clear: we need more advanced tools than mere handwritten html (unless you are an hmtl5 wizard).

## Technology independence

The best reason for switching from some external social network to your own page running a modern web technology is independence. You’re in full control of your data, you’re in full control of your technology. Whatever technology you choose, you’ll never have to be locked in again. Given an open source technology you can upgrade to whatever, whenever — no more begging some company to implement a feature. You find a better technology, you switch; no harm done.

Take me as an example. I started with a shitty html website on my university user page, ripping off a senior colleague’s page, replacing his name, office etc. with mine. After a while I added a simple oddmuse wiki on the side for teaching and organizing research notes. After a while, I started a blog on blogspot.com using tex4ht to create mathml-driven posts. After a while blogspot didn’t cut it anymore (MathJax came out but its cdn didn’t exist), I switched to a “static blog generator”, jekyll, and MathJax, hosted on my personal domain. After a while I changed the server from a regular web host to Google’s app engine (for convenience and speed). And soon I’ll be switching to wordpress the server will then be using BitNami on Amazon’s web service.

As harsh as I put it above, I actually think the authors of most handwritten html pages feel the same way about technology lock-ins as I do. It’s only that they’re experiencing a completely different kind of lock-in: laziness. It can be hard to switch to something new. I can almost hear them… “I can control everything through my beloved vim/emacs”. It is a lot like saying: I can typeset my mathematics so beautifully using movable types in my garage, why would I use a computer system like TeX…

In other words technology independence also requires a conviction to improve and change the technology. This might, in fact, be the bigger problem.

## The scientific “community”

The reason to switch is easy: Scientists and especially mathematicians stand to gain incredibly from a modern homepage with modern web technology because it has reached a level that enables us to make the “scientific community” a (virtual) reality.

The term “community” always struck me as inappropriate. The closest I ever felt to being part of a community was as a student in the early years of getting my Diplom. I was part of a cohort of fellow students, meeting many times a week, exchanging ideas, working on problems, helping each other out scientifically and also spending quality social time together.

The classical German PhD model I suffered through is the opposite, really. It was following the master/disciple model, in effect isolating a PhD candidate from almost everyone outside their work group. Creating and investing in a community was essentially discouraged. For example, I remember the opposition we encountered when we started a What-is-Seminar in Berlin; professors either ridiculed or directly opposed the idea of a grad-student-only seminar aimed at building a better community among PhD students across research areas. Well, the seminar is still going strong even after the original organizers left Berlin.

The point is: the scientific community is not anywhere near to being a reality. Beyond the dominant “community” that are personal friendships and collaborations, it is a weird combination of short visits (say, to give a talk at a seminar), conferences and a dysfunctional publish-or-perish system.

In short, scientific-social connections are not transparent, difficult to keep running and depend on pedigree more than shared interests. There is no such thing as a real community because people are, in general, not connected to each other. Communication among researchers, the quintessential part of community is severely lacking.

## Making scientific community a reality

The web, on the other hand, is the perfect tool to communicate and connect. Using modern web technology you can keep track of content, activities, meet up for text, audio and video interaction. You can communicate any level of research activity, from teaching to schedules to explanatory text to collaborations to real time interaction. Any variant, any speed any combination.

The web is the true social network since it allows but never forces you to be connected, and the immersion into the social interaction can be varied to any degree you feel comfortable. The technology for this is freely available (free as in freedom) and it only keeps getting better and better.

What is lacking is only the number of researchers taking the web seriously, taking themselves on the web seriously.

The advantage for mathematicians lies in the much higher potential compared to the natural sciences. Due to the abstract nature and the mostly text driven research, mathematicians have been using the net to for as long as it exists. From mailing lists to arXiv.org from Mathscinet to Mathoverflow, the net is not only an essential but, more importantly, an established tool. And yet, the developments of the last decade seem not to have caught on; blogging, video sharing, social networks and microblogging are used by very few researchers in their research related activities.

## The potential of WordPress

The question becomes: How can we convince a significant amount of researchers to take their online identity into their more active hands? For this we need a technology that is reliable, simple to set up and customize. Right now, I think content management systems are the best technology available; and my favorite is WordPress.

WordPress is usually not considered a CMS, but a blogging engine. Yet, it has developed into a versatile tool that can take things far beyond mere text publication. It’s power is its open source nature and the simplicity of extending it via plugins — of which there are a countless number. On top of that, there is the WordPress For Scientists group that focuses on researcher relevant developments.

The reason to prefer a blogging engine is simple: everybody supports trackbacks. Trackbacks are a very old feature amongst blogging engines. The basic idea is as follows: if you’re writing a blog post and somebody else picks up the topic and writes about it, it would be nice for you to know about this, to know that you have, in effect, inspired somebody to be creative. Since the second author will usually link to your post when picking it up, the blogging engines developed trackbacks as a way to exchange this information automatically. That is, the first blog would be informed automatically via the webserver of the second blog’s trackback mechanism that a certain post was picked up by somebody else.

For a scientist, this is, of course all too familiar, since the today’s publication metrics feature citation indices heavily. Of course, the average number of readers of a scientific paper is 5 (and the median is 1) and those readers will most likely not cite the paper.

But this low number does not mean much in terms of the scientific community. Often reading a paper will lead to a conversation with other researchers, most likely a short talk in your local seminar and definitely some rewriting on the reader’s part; so the reach is much higher. And yet, this information is neither available nor considered significant at all, even though it is a much bigger part of “doing research”.

After all, research is about failing. We read a paper, we rewrite it to make it understandable, we try to apply what we learn from it to other problems. And almost all the time, nothing comes from it. This failure has no place in our shiny-new-results journal tradition (please don’t think I don’t know that there are historic reasons for the current system. I do know; it just does not make it less bad now).

So, as a researcher, I dream of an online community that allows me to collect all interactions with my research: reading, criticizing, bashing, ranting, re-writing, improving, destroying. And a community that values my own activities.

## Are we there yet?

Coming back to WordPress and trackbacks, their potential becomes clear: making use of trackbacks and other linkback technologies could be the key for scientific communication online. Yes, there isn’t yet a perfect technical solution, yes it requires an effort on.

But if we started to use wordpress and regular trackbacks to publish our research activities right now, we all could already gain a huge part of the kind of information we keep wasting in the current system. We could get a chance to learn, improve, defend, humble or enjoy our own research together with everybody else. As a community. Finally.

| |

# Preprint ‘On strongly summable ultrafilters’

I have just uploaded a preprint titled On strongly summable ultrafilters to the arXiv. Let me give a short account of what it’s about.

In the preprint I extend a theorem orginally due to Neil Hindman and Dona Strauss. The theorem shows that certain ultrafilters can only be written as sums in the (so-called) trivial fashion. On the one hand, this property is quite unique and I find it algebraically fascinating. On the other, the existence of the ultrafilters in question is independent of ZFC, so set theoretic interests are immediate. Let’s start with the ultrafilters.

## Strongly summable ultrafilters

Among the idempotent ultrafilters on $\mathbb{N}$ a certain type is quite special. To define it, we only need to know what an FS-set is.

For a sequence $\mathbf{x}$ in $\mathbb{N}$, the set of all (distinct) finite sums is
${FS}( \mathbf{x}) = \{ \sum_{i \in s} x_i : \emptyset \neq s \subseteq_f \omega \}$
Then $p\in \beta \mathbb{N}$ is called strongly summable if it has a base of FS-sets.

By the Galvin-Glazer Theorem, any set in an idempotent ultrafilter contains an FS-set. The difference to arbitrary idempotent ultrafilters is that strongly summables have such a set in the ultrafilter itself! So in measure theoretic terms, not only does every measure 1 set contain an FS-set, but one of measure 1. As a comparison, the very important minimal idempotents can never be strongly summable; in fact strongly summable ultrafilters are at the other end of the spectrum — they are what is called strongly right maximal idempotents.

In other words, what selective ultrafilters are for Ramsey’s Theorem, strongly summable ultrafilters are for Hindman’s Theorem. Unlike idempotent ultrafilters strongly summable ultrafilters might not exist, since their existence implies the existence of P-points in $\beta \mathbb{N}$. But under rather weak assumptions (like CH or weak forms of Martin’s Axiom) they do exist.

## Union Ultrafilters

There is an equivalent notion, union ultrafilters, see here. In the preprint, as always, it’s hard to speak about the one without the other.

Denote the non-empty, finite subsets of $\omega$ by $\mathbb{F}$ (with semigroup operation $\cup$). In what follows a sequence $\mathbf{s}$ in $\mathbb{F}$ is always assumed to have pairwise disjoint elements.
The FU-set (generated by $\mathbf{s}$) is the set of all finite unions, i.e.,
${FU(} \mathbf{s} ) := \{ \bigcup_{ i \in v} s_i : v \in \mathbb{F} \}.$
A union ultrafilter on $\mathbb{F}$ is an ultrafilter with a base of FU-sets.

### Trivial sums

As mentioned, the main result in the preprint is about writing ultrafilters as sums. Any idempotent ultrafilter can be written as a sum in many ways, most trivially as $p+ p = p$. However, since $\beta \mathbb{N}$ is a left ideal in $\beta \mathbb{Z}$, there is another way by means of integers.

If $p \in \beta \mathbb{N}$ is idempotent and $z \in \mathbb{Z}$, then
$(p+z) + (p-z) = p + p + z – z = p.$
This is simply due to the fact that the integers still commute with everything in $\beta \mathbb{Z}$.

Let’s say that an (idempotent) ultrafilter $p$ has the trivial sums property if this is the only way to write is as a sum, i.e.,
$(\forall q,r\in \beta \mathbb{N}) q+r = p \Rightarrow (\exists z \in \mathbb{Z}) q= p+z, r = p -z.$

This property fascinates me for many reasons. One easy but equally fascinating consequence is that the maximal group of such an idempotent $p$, i.e., the maximal subgroup of $\beta \mathbb{N}$ with identity $p$ (which is the same as the union of all such subgroups), is just $p + \mathbb{Z}$. This is fascinating since it is the minimal case — the famous Theorem by Yevhen Zelenyuk showed that there are no finite subgroups in $\beta \mathbb{N}$.

In contrast, minimal idempotent ultrafilters have huge maximal groups. In fact, those always include a copy of the free group on $2^{2^\omega}$-many generators! That is mind-bogglingly big, so in comparison the integers are really very minimal. And on top of everything it is also open whether any ultrafilters with a maximal group isomorphic to $\mathbb{Z}$ exist in ZFC

### Using union ultrafilters

I gave a simplified version of the main theorem here. For this consider the very natural map $f: \mathbb{F} \rightarrow \mathbb{N}, s \mapsto \sum_{i \in s} 2^i$.

Theorem If $u$ is a union ultrafilter, then $f(u)$ has the trivial sums property.

In fact, the theorem in the preprint does a bit more. You see, such an $f(u)$ contains $FS ( \mathbf{x} )$ for a sequence $\mathbf{x}$ with disjoint binary support — simply because that’s what happens to pairwise disjoint sets under $f$.

Now if you take any other divisible sequence $\mathbf{a}$, i.e., with $a_n | a_{n+1}$ for all $n$ (and assume for convenience that $a_0 = 1$), then just as in the binary situation, we have a unique representation for every natural number by means of $\mathbf{a}$.

Then we can formulate the full theorem from the preprint.

Theorem If $p$ is strongly summable and contains an FS-set for a sequence with disjoint support in the $\mathbf{a}$-representation, then $p$ has the trivial sums property.

The original theorem by Neil Hindman and Dona Strauss (also to be found in their book, chapter 12) showed that the trivial sums property holds for strongly summable ultrafilters with special properties. These included the restriction that the strongly summable ultrafilters must have a base of FS-sets coming from divisible sequences. In particular, these strongly summables will contain the FS-set for a sequence with disjoint support for a divisible sequence (just for the sequence itself), i.e., the result in the preprint entails the original result.

To see that it is a little bit more general, you need to know another concept, additive isomorphism. To keep it short, let’s just state it for strongly summable ultrafilters.

Two strongly summable ultrafilters $p_0, p_1$ are additively isomorphic if there are ${FS(} \mathbf{x} ) \in p_0$, ${FS(} \mathbf{y} ) \in p_1$, such that the map $\sum_{i\in s} x_i \mapsto \sum_{i \in s} y_i$ is well defined and maps $p_0$ to $p_1$ (so in particular, $p_0 \cong p_1$ in the usual sense).

In their original paper, Neil Hindman and Dona Strauss give a beautiful example of a strongly summable ultrafilter that does not concentrate on FS-sets from divisible sequences (this is done using unordered union ultrafilters) — and no additively isomorphic copy does. However, every strongly summable is additively isomorphic to one as in the result from the preprint. Hence the result is a little bit stronger.

(Un)fortunately, the trivial sums property is not transferred via an additive isomorphism, so one open question is whether all strongly summable ultrafilters have it. Although I included some evidence in the preprint towards believing that all strongly summables have it, I hope that it is not the case, simply because I hope that a counterexample would be a new kind of strongly summable ultrafilter. Of course, the big question is whether any other idempotents have this property! In particular, if there might exist such examples in ZFC.

The proof in the preprint follows the same strategy as the proof of the original theorem by Neil Hindman and Dona Strauss. So the main task (or rather the initial observation that got me thinking about their proof again) was to overcome some of the restrictions on the strongly summable ultrafilters. Besides the ones already mentioned, there was another technical condition in the original result, a strange combinatorial property which I prefer to think about in terms of union ultrafilters.

An ultrafilter $u$ on $\mathbb{F}$ is special if for every infinite $L\subseteq \omega$ there exists $X \in u$ such that $L \setminus \bigcup X$ is infinite.

In other words, $u$ is able to ‘miss’ any infinite set by a large amount. The counterpart for strongly summable ultrafilters (which was already considered by Hindman and Strauss) is more complicated to write down, but suffice it to say that the two are equivalent. The key is that for union ultrafilters this property is not special at all.

Theorem Every union ultrafilter is special.

The proof is not very complicated, it involves a standard parity argument that often appears when arguing with union ultrafilters (and then you just have to look carefully to see that you’re done).

But now this strange and difficult extra condition from the original result by Neil Hindman and Dona Strauss is suddenly available for free.

The final result is derived in essentially two steps. There is a bit of technicality involved, but I think nothing really complicated (to read).

Fixing some divisible sequence $\mathbf{a}$, let’s call the support of a number in the representation via $\mathbf{a}$ the $\mathbf{a}$-support. Then it roughly proceeds as follows.

• Show trivial sums for the ultrafilters that contain the set of multiples for each member of $\mathbf{a}$.
• This essentially reflects from a simple observation: if two elements with $\mathbf{a}$-support sufficiently far apart have their sum in an FS-set with disjoint $\mathbf{a}$-support, then they must both be in the FS-set already.
• Finally show that any sum equal to the strongly summable is essentially only possible by integer translates of ultrafilters that contain these sets of multiples.

In this tricky final part the specialness condition comes into play. It is used to create an FS-set that has a lot of ‘holes’ in the $\mathbf{a}$-support. This makes it impossible for a single number to translate infinitely many numbers into that FS-set (as happens in a sum of ultrafilters all the time) simply because you would need too much ‘carrying over’ when translating/adding.

Well, of course that’s only a vague description of the proof, but the preprint should have enough details.

## Questions

The most important questions I have already asked. Does every strongly summable have the trivial sums property and are their other ultrafilters with it, maybe even in ZFC? A result by Neil Hindman and Dona Strauss shows that all strongly summable ultrafilters have a maximal group isomorphic to the integers. It is still unkown if any other ultrafilters carry this property. So I think there is still a lot to be learned about this property.

# Tools for your online collaboration

So the winter school in Hejnice ended two weeks ago is long past — and despite my intentions I did not find the time to blog. This is primarily a sign of the quality of the winter school, both scientifically and socially. I do admit I spent the lunch breaks walking in the beautiful surrounding mountains instead of blogging…

Anyway, on the last evening of the winter school a couple of people gathered together to exchange tools for collaborating via the intertubes. I volunteered — also with the upcoming third Young Set Theorists meeting in mind — to make the discussion available online. Of course, the title refers to this wonderful paper by Goldstern and Judah which taught me the little bit of iterated forcing that I know.

For now I will restrict myself to freemium services. Of course, this is an open list — drop me a comment to add to this list (hm, a google wave would be better, right?).

Phones

A much better tool than a phone is? A videophone! (especially for handwaving arguments). Namely, skype comes to mind, but there are alternatives like tokbox or google talk which are web based. With possibly lower video quality they offer other useful things like actual video conferences (whereas skype restricts you afaik to 1-1 video calls) and invitation by link. There are also numerous true VoIP/SIP clients like Ekiga. But they may have the need for some firewall configuring. For more general information, check out wikipedia.

Whiteboards

But what good is a (video)phone if you cannot write on a blackboard together? In any serious mathematical discussion, notation will become an issue sooner or later. A simple, but bandwidth friendly and flash based whiteboard is scriblink — just go to the site and give your partner the invitation link. An alternative is dabbleboard which offers some shape recognition and also allows multiple pages in the free version and — most importantly — PDFs as background images. However, it is a little heavy on the bandwidth, especially latency which often annoys my voip connection.

Of course, if you want to use an online whiteboard efficiently you need some kind of tablet to write with. I personally have been very happy with a graphics tablet, a Wacom Bamboo to be exact. You can get tablets for 40€ and lower in Germany, but prices will differ regionally. Of course, I also use my Gigabyte M1028T tablet pc — although its tablet functionality is basic (no pressure sensitivity, only moving by clicking) making writing with it less suitable for real note taking — see the PDF section below.

Instant Chat, Online Docs and Google Wave

Personally, I have not used instant messaging for mathematics so far — video phones seem better. However, Pidgin has a LaTeX plugin to display basic TeX code. This is of course a useful feature. I’ll come back to the general problem of displaying mathematics on the web later.

I feel I must also mention Google Wave and its competitors. These are powerful tool mixing mail, chat, wikis and collaborative document editing. I have not tried any of these yet but if there’s someone to collaborate with it’s worth a try.

PDFs I — what you can do with them

PDFs is the somewhat dominant standard for (compiled) TeX documents (sorry, dvi and ps fans). Besides the next section there is another aspect which makes them worthwhile — PDF annotation. If you are like me and like to take your notes with you (for all those typos and indices that drive you mad in some papers) there is nothing better than annotating a PDF directly — especially if you invested in a (graphics) tablet.

My favourite is the open source Xournal with excellent tablet support on both linux and windows. Alternatives are Jarnal (which also works as real time whiteboard) and (for Mac users) Skim.

Although it does not quite fit in here (or anywhere): if you feel that PDFs are inadequate to present mathematics, why don’t you take a look at prezi? It offers a different angle on presentations altogether. I sometimes dream of having a prezi like ability to zoom into papers or rather proofs giving me details where I want them and letting me quickly browse through the main ideas dynamically whenever I choose to…

PDFs II — Personal online libraries

It is convenient to store papers and other materials online. If you cannot set up a decent sftp or a version control system on your university’s server, you might want to try dropbox or teamdrive. If you frequently use public computers you might want to use something more web based like google documents or the very pretty isssu that I use from time to time on this blog.

Community Sites

Of course, all science is community driven but I think (pure) mathematics could profit more from an online community than any other science or (liberal) art. The biggest player is certainly facebook — which already has a group for, of course, the winterschool itself. Facebook attracts academia (as opposed to myspace), hence it is the more obvious place to connect — this does not mean that you shouldn’t worry about its privacy settings or rather the partial lack thereof.

On the other hand, there are a couple of science focused community sites, among them researchgate which offer science specific tools like (p)reprint lists, online references, database searches etc. This might be better for purely professional intent but I have no experience using it.

A young and incredibly successful new site is mathoverflow — a mathematical version of the great stackoverflow. You can ask and answer questions of all sorts in a very efficient manner — just don’t get lost in all the fun.

Databases

Of course the mother of all things is the arXiv — do I need to explain it? And then there are Google’s products scholar and book search. A somewhat different database is gigapedia where you can easily search for books and find free ones. In all things beware of legal issues though.

LaTeX or displaying mathematics on the web

Of course mathematicians are used to LaTeX. On the web the best way for displaying mathematics is (from a web standards point of view) mathml. The problem is that mathml is a) too difficult to write as code directly, b) difficult to view since not all browsers view them correctly and from a visually impaired point of view it seems to be a disaster, too (see the discussion on Terry Tao’s blog) and c) it is difficult to convert back to LaTeX.

There are numerous workarounds. On the one hand you can (as I do) use tex4ht to convert LaTeX to mathml. Of course, as my blog shows this is a rather tedious thing if you do not have (or want to have) control over the webserver. Alternatives are jsMath which might be superseded by mathjax. If you have a wordpress blog you can (even on your free account on wordpress.com) use this plugin — which converts basic LaTeX commands into (rather ugly) PNGs.

The winner for best practices with mathml, I think, is the n-Category Cafe. Besides being a very active group blog they have developed impressive technologies such as mathml inclusion, the LaTeX dialect itex, the itex capable instiki with itex2mml to convert tex to mathml on the fly and all of this available in the comments, too.

Blogs, blogs, blogs

Almost last but in no way least, there are blogs.  This would be worth an independent post and there are plenty of examples for this, but here we go.

They come in all colours, for an impressive list go here. Also, go to any of those blogs and check their blogroll to find many more mathematics blogs. If you don’t understand what blogs are good for you might read John Baez’s article. To name a few contenders for ‘most influential mathematical blogs’: What’s new with Terence Tao, the most active single user blog I know, Timothy Gowers’s Weblog and Gil Kallai’s Combinatorics and more.

Of course, they are the ones that got me started with reading math blogs, but it’s the small blogs that got me hooked. The diversity is a challenge (I don’t understand half of what I read) but blogs form the best mathematics newspaper out there.

Polymath

At the moment the most hardcore project when it comes to online collaboration is clearly Polymath. With one paper on the arxiv, two projects finished and three projects going it is the perfect show case. Driven by the “big three” — Tao, Gowers, Kallai — one may argue that their power makes sure that it works (and is protected from theft). Polymath is an exemplary web project. It follows Jeff Jarvis’s rule and shows the synergetic behaviour of web projects — using multiple technologies at once: there’s the blog for the main discussion, but also the authors individual blogs used partly to organize. Finally there’s the wiki for fixing proper definitions and notational issues and finally they frequenly use mathoverflow to recruit new people by e.g. singling out distinct partial or dervitative questions.

But I believe it shows a glimpse of the future of mathematics. On the one hand, many problems have become too complex to be tackled by a single person or research group. On the other hand, although the techology might change considerably in the future, the idea of having researchers on all levels collaborate — with every contribution being valued — could be a prototype that values many soft skills, be it good writing, accessible presentation, social skills for bringing conversations to converge productively, taking a bird’s view of the process to assist or acquiring empirical experimentation and implementation. It is also a very flexible approach where people can help as much or as little as they find the time for while (with proper support like Gower’s current EDP posts) still being able to follow the flow and ideally being able to change their level of involvement as they please.\

That’s all for now. Let me know what I forgot.

2010-02-15

Unicode characters

There was also a question regarding unicode characters and the like (instead of mathml). I just found this chart via mathoverflow — maybe it helps.

2010-02-17

Feeds in either Real simple syndication (RSS) or Atom from are worth mentioning on its own. As a tool for 1-to-infinity communication it’s an important technology for collaboration. You’ll find feeds for all kinds of newssites and blogs, but also for each section of the arxiv. To read feeds you can use lots of different programs and web based services.

Video sites

Videos of research level mathematics are pretty rare. There is the archive of the MSRI and singular popular mathematics gems like Gowers’s talk on multiplication. Also, you should check out MIT’s impressive youtube channel.

To put up a video you don’t need much these days, so it’s strange that there’s not more around — especially since (pure) mathematics seems easier to share than, say, complicated science experiments. There are too many free video sites out there. Next to the already mentioned youtube I would point out the science video site SciVee (with its strong, yet somewhat expensive premium service) and Vimeo with its focus on original content.

Reference management

Thanks to David for reminding me that I forgot one aspect of pdf management — reference management (see the list on wikipedia). Now there are many programs out there to get your citations, i.e., your BibTeX files organized. But there are also programs that connect the citations with the pdf, offer online database searches, tags, pdf annotation and social networking ideas.

A big list can (once again) be found on wikipedia. To present a few. I personally use referencer but David also mentioned Mendeley in his comment which has an impressive list of features including online access and social network aspects and I’ll probably try it out. To give credit where it is due a few of these programs name Papers as inspiration which unfortunately is Mac only. With a different flavour there are the web-only Zotero, a powerful Firefox addon, and I, Librarian, a groupware tool.


text:
Homework Help: Energy Flow in Coaxial Cable with Linear Free Charge Density

Tags:
1. Nov 7, 2017

GL_Black_Hole

1. The problem statement, all variables and given/known data
An infinitely long cylindrical capacitor with inner radius a and outer radius b carries a free charge per unit length of $\lambda_{free}$. The region between the plates is filled with a nonmagnetic dielectric of conductivity $\sigma$. Show that at every point inside the dielectric the conduction current is exactly compensated by the displacement current so that no magnetic field is produced in the interior. Find the rate of energy dissipation per unit volume at a point a distance $\rho$ from the axis. Show that the total rate of energy dissipation for a length l is equal to the rate of decrease of electrostatic energy of the capacitor.

2. Relevant equations
Maxwell Equations, Ohm's Law, Energy of Capacitor = $\frac{1}{2} CV^2$

3. The attempt at a solution
Before getting far into the problem I am confused on two points. I can understand where the conduction current comes from, that's just applying Ohm's law inside the dielectric, but I cannot see where the displacement current comes from or how to evaluate the energy dissipation if the magnetic field is zero inside the dielectric.

2. Nov 7, 2017

kuruman

I interpret this problem as a "leaky" capacitor. You charge the central conductor to $\lambda_{free}$, remove the charging battery and allow the positive charge to leak out to the other conductor and neutralize the negative charge. This gives you a time-varying $\vec{D}$ and hence a displacement current between the conductors. Energy is dissipated by Ohmic losses in the dielectric until the capacitor is completely discharged.

3. Nov 7, 2017

GL_Black_Hole

Thank you for the reply. I've attempted the question up to the energy dissipation part now. The problem stated that the central conductor has $-\lambda_{free}$, so applying Gauss' Law to a cylinder contained in the dielectric at a radius r and with a length L the electric field inside the dielectric is given by:
$E = \frac{-\lambda_{free}}{2\pi r}$.
This induces a conduction current density according to Ohm's Law of $J = \sigma E = \frac{-\sigma \lambda_{free}}{2\pi r}$.
We can turn this into a differential equation for $\lambda_{free}$ by noting that $J (2\pi r L)= - \frac{dQ}{dt}$ where $Q = -\lambda_{free} L$.
Therefore $\frac{d}{dt} (-\lambda_{free} L) = \sigma \lambda_{free} L$, implying that $\lambda_{free} (t) = \lambda_{free} e^{-\sigma t}$.
So $\frac{\partial E}{\partial t} = \frac{\sigma \lambda_{free}}{2\pi r}$, and the conduction and displacement currents indeed cancel giving zero magnetic field inside the dielectric.

Am I on the right track with the above work? Additionally I am still at a loss for how to find energy dissipation

4. Nov 7, 2017

kuruman

You are on the right track, but you need to be careful because of the dielectric. Use $\vec{D}$ in Gauss's Law. Use $\vec{D}=\epsilon \vec{E}$ to find E in Ohm's Law.

5. Nov 7, 2017

GL_Black_Hole

Right, electric displacement is used for dielectrics. Correcting that error gives me:
$E = \frac{-\lambda_{free}}{2\pi \epsilon r}$, so the DE for the charge density becomes $\frac{d}{dt} \lambda_{free} = -\frac{\sigma}{\epsilon} \lambda_{free}$, and the displacement current with the polarization current contribution still cancels the conduction current and it can be concluded that the magnetic field vanishes inside the dielectric from Ampere's Law.

6. Nov 7, 2017

kuruman

I think you got it now.

7. Nov 9, 2017

GL_Black_Hole

So I've worked out the rest of the question and I can get the sensible answer that the rate of energy dissipation per unit volume, $J \cdot E$, equals the rate of decrease of the electrostatic energy of the capacitor, $- \frac{d}{dt} [\frac{1}{2} E \cdot D]$, if the Joule heating term only contains the conduction current. But I don't see physically why this should be so.

8. Nov 9, 2017

kuruman

You start with a charged capacitor in which energy U = ½ C V2 is stored at t = 0. After many time constants the voltage is essentially zero and so is the energy stored in the capacitor. Where did the energy go?


text:
# Characterization of continuous weakly closed 1-forms

Recall that a differential $$k$$-form $$\alpha$$ on a smooth manifold $$M$$ is called weakly closed if

$$\int_M \alpha \wedge d\beta = 0,$$

for all smooth forms $$\beta$$ of degree $$n-k-1$$, where $$n = \dim M$$. My question is:

If $$\alpha$$ is a weakly closed continuous 1-form on a closed manifold $$M$$, can we conclude that $$\alpha$$ is the sum of a smooth closed 1-form and $$d\phi$$, where $$\phi$$ is a $$C^1$$ function on $$M$$?

This appears to follow from the properties of the de Rham regularization operator(s) and associated homotopy operator(s) on forms; see, for instance, Theorem 12.5 in V. Gol'dshtein and M. Troyanov, Sobolev inequalities for differential forms and $$L_{q,p}$$-cohomology, Journal of Geometric Analysis, vol. 6, no. 4, 2006.

Any thoughts on this would be appreciated.

• This is true for $\phi \in L^1_{\rm loc}$ though. Jun 20, 2019 at 7:25
• Thanks! But wouldn't $\phi \in L^1_{loc}$ and $d\phi$ continuous (being equal to a continuous form minus a smooth form) imply that on a compact manifold, $\phi \in W^{1,\infty}$? If so, then $\phi$ is Lipschitz, hence differentiable a.e. in the ordinary sense and therefore (since $d\phi$ is $C^0$) $\phi$ is a.e. equal to a $C^1$ function? Jun 20, 2019 at 17:28

The answer is no. If $$\varphi$$ is a continuous function on $$\mathbb{R}^n$$, then the form $$\alpha=\varphi\, dx_1\wedge\ldots\wedge dx_n$$ is weakly closed since it is an $$n$$-form. Then using classical notation solving the equation $$d\omega=\alpha$$ is the same as solving the equation $$\operatorname{div}\Phi=\varphi$$. However it was proved in [1] that the equation $$\operatorname{div}\Phi=\varphi$$ may have no $$C^1$$ solutions.
• Thanks! It looks like the "no" answer can be obtained for 1-forms (at least in $\mathbb{R}^n$) as follows. Let $\alpha$ be a continuous weakly closed 1-form. Pick any smooth form $\theta$ of degree $n-2$. Then $\alpha \wedge d\theta$ is trivially weakly closed. If $\alpha$ can be written as $\alpha_\ast + d\phi$, for some smooth closed 1-form $\alpha_\ast$ and a $C^1$ function $\phi$, then $\alpha \wedge d\theta = d(\pm \alpha_\ast \wedge \theta +\phi d\theta)$. Since this works for any continuous weakly closed $\alpha$, we get a result which contradicts [1]. Is this correct? Jun 20, 2019 at 17:43


text:
## Wednesday, July 02, 2014

### Difficulties with PFRDA's Draft Aggregator Regulations, 2014

by Arjun Rajagopal and Renuka Sane.

Recent mis-selling scandals in retail finance in India have brought into focus the dangers of unregulated, or lightly regulated financial intermediation. Financial intermediaries include banking correspondence agents, micro-finance institutions, insurance agents and other such players. They extend the reach of formal finance to a vast under-served population that is dispersed and not yet electronically enabled. Under-served populations with low access to finance are likely to be economically vulnerable, and may also have low levels of financial literacy. This makes them more dependent on the financial intermediaries they interact with, and more vulnerable to mis-selling and outright fraud. Such populations are also likely to have poor access to grievance redress mechanisms, courts and social safety nets.

The micro-finance crisis in Andhra Pradesh in 2010 shows what happens when regulators get it wrong. Loan collection agents in Andhra Pradesh were accused of engaging in large-scale coercive practices. This resulted in a political backlash, from which the industry is still reeling. It is therefore extremely important that India's financial regulators get it right when it comes to regulation of financial intermediation. This includes placing an appropriate emphasis on consumer protection.

Like loan collection agents in the case of micro-finance, aggregators in the pensions industry are a major interface with low income households in the informal sector. Aggregators are used to implement the NPS-Swavalamban (NPS-S) scheme run by the Pension Fund Regulatory and Development Authority (PFRDA). Under this scheme, if a subscriber in the informal sector contributes a minimum of Rs.1000 into her NPS-S account in a financial year, she will receive a co-contribution of Rs.1000 from the government. Aggregators market the scheme, enroll members and continue to service members post enrollment. They also make the investment choice for their customers. Aggregators thus act as execution agents of the NPS-S and as advisors to consumers. This means that aggregators potentially have considerable influence over financial choices of low-income households. Regulators should be very alert to the risk of fraud or mis-selling by these aggregators for three reasons:

1. The consequences of fraud or mis-selling in the case of a product such as the NPS-S will probably only be detected far in the future, at the time of receipt of benefits.
2. Older people are less likely to be able to recover from a sudden loss of income, especially if they have chosen to rely on income from the NPS-S.
3. Public sector involvement in commercial products often gets construed as an official endorsement of the product. This exacerbates the risk of mis-selling.

Any regulation of aggregators must therefore place great emphasis on the goal of consumer protection.

### The Draft Aggregator Regulations, 2014

Consumer protection is one of the pillars of the draft Indian Financial Code (IFC). The PFRDA, along with the rest of India's financial sector regulators, has committed itself to voluntarily implementing the consumer protection dimensions of the IFC, as articulated in the Handbook on adoption of governance enhancing and non-legislative elements of the draft Indian Financial Code . The recently released Draft Aggregators Regulation, 2014 are viewed in this context.

The Draft Regulations do recognise the importance of consumer protection as described in the IFC. They set out registration details of the aggregators, their duties and responsibilities and the inspection and disciplinary procedures that the PFRDA may initiate. Schedule VI of the regulations provides the aggregators with a code of conduct. However, we believe the regulations do not go far enough. Here is where the regulations fall short:

• The regulations do not provide well-defined standards of skill and care that aggregators will be expected to exercise towards a customer. The beauty of simple, well-designed products is that they can be sold by agents with even basic financial literacy. However, it is important to specify what that basic level is for a given activity, or at least the standard that will be used to determine that level.
• The regulations do not define what constitutes unfair and misleading conduct by aggregators. The Handbook discusses the need for regulations defining unfair and misleading conduct. India's experience with coercive and unfair practices by intermediaries should highlight the need for such definitions to be carefully researched and well-thought through.
• The regulations do not place obligations on the aggregator regarding protection of consumers' personal information. In the context of digitisation and aggregation of information by private and public entities, it is increasingly important for regulators to specify these obligations.
• The regulations do not provide adequate guidance for avoiding conflicts of interest. Subscribers of the NPS-S often purchase the pension scheme at the time of taking a micro-finance loan. The aggregator may be the intermediary for both these products. This scenario is entirely plausible, and is a foreseeable circumstance in which there may be a conflict of interest. However, the draft guidelines are silent on providing guidance on how aggregators should think about this issue, or the information that they must provide to clarify such conflicts.
• The regulations do not provide adequate guidance regarding disclosures. Most NPS-S sales today rest on the co-contribution by the Government. It is not certain that this co-contribution will continue after 2017. This is information known to the aggregators, which is highly relevant to potential purchasers of the pension scheme. However, the regulations do not contain any details about such initial and continuing disclosures.
• The regulations do not require any suitability or appropriateness checks before selling the NPS-S. The NPS-S is a market-linked, illiquid product. An illiquid product with a minimum contribution may not be appropriate for consumers who require cash in hand in the near future. By extension, investing in the NPS-S and simultaneously taking a micro-finance loan may not be a prudent decision for many consumers. Suitability analysis is an important part of the draft IFC's consumer protection for retail consumers. The regulator may take a view that the NPS-S is not a complex product, and therefore does not require suitability checks. In this case, the regulator needs to articulate the reasons why suitability checks are not mandatory. Absent such a justification, the regulations should feature some guidance on the issue of suitability.

The UK's experience with financial regulation shows that broad principles of consumer protection need to be translated into detailed guidance notes, such that both the regulator and the industry understand what is expected.

### PFRDA has not used the appropriate processes for framing regulations.

In addition to the substantive concerns listed above, the regulations fail to abide by the procedural requirements of the Handbook, for framing regulations. The PFRDA should have provided the following:

1. A clear statement of objectives;
2. A list of problems the regulation seeks to solve; and
3. A cost benefit analysis of each of the provisions.

The Handbook places major emphasis on the process of soliciting public comments via a well-designed web interface. Examples of such interfaces include the US Commodities Futures Trading Commission public comments page. There is as yet no information about the public comments received by the PFRDA.

### Conclusion: Re-do with better public participation

The role of the aggregators, and the vulnerability of their customers should have led the PFRDA to accord a high importance to consumer protection when framing these regulations. The PFRDA needs to revisit these regulations and revise them in accordance with the substantive and procedural requirements of the Handbook. In particular, it would be advisable for PFRDA to quickly upgrade its ability to receive and display public comments on draft regulations. The PFRDA might consider extending the period for public commentary, and engaging more actively with the public to obtain high-quality feedback on this important subject.

1. Poorly designed processes for financial intermediation is a common crime committed by those who work in the name of the Government. The Common Services Centers in India, an initiative under DIETY, India mediate a range of public services including those of PFRDA lacking such safeguards. If such services were not offered in the name of the Government, it would have been a scandal a long time ago.

So why is there no action even today by Governments at state level, where such intermediation efforts faced principal-agent problems? It is because Bureaucrats are required to "own up" such poorly designed intermediation projects and indulge in damage control, when cases of misselling become rampant.

Technology and the rhetoric of e-governance serves as a convenient shroud to hide the politics of such public service reform even from policy wonks like the author of this blog post. But it plays a hideously political role is evident, when ex-bureaucrats like R. Chandrasekhar called for shifting india's National e-Governance Plan to PMO Office rather than the DARPG, which is its right place.

It is important to strengthen policy feedback mechanisms, to prevent public from being victimized by such superficial policy prescriptions.

2. Shouldn't the Handbook get extended to MCA as well ? The last para of http://feedproxy.google.com/~r/IndianCorporateLaw/~3/H0ixQRhhk4E/guest-post-mca-amends-rpt-rules-makes.html?utm_source=feedburner&utm_medium=email points towards a problem which is truly disconcerting.

3. The NPS-S is a conditional cash transfer scheme working in line with various CSS with targets and milestone. In the current structure it is not capable of providing any meaningful pension wealth for the contributors. There has been no analysis of the profile and demographic mix of the contributors. Like any other financial product it is completely incentive driven . There is a serious need to undertake a social and policy audit of the scheme. The draft regulation needs serious discussion but that can happen only when the Regulator/ DFS allows an independent third party appraisal of the scheme.

Please note: Comments are moderated. Only civilised conversation is permitted on this blog. Criticising me is perfectly okay; uncivilised language is not. I delete any comment which is spam, has personal attacks against anyone, or uses foul language. I delete any comment which does not contribute to the intellectual discussion about the blog article in question.

Please note: LaTeX mathematics works. This means that if you want to say $10 you have to say \$10.


text:
# NAG AD LibraryF08 (Lapackeig)Least Squares and Eigenvalue Problems (LAPACK)

F08 (Lapackeig) Chapter Introduction (FL Interface) – A description of the Chapter and an overview of the algorithms available.

Routine
Mark of
Introduction

Purpose
f08ae_a1w_f 27 nagf_lapackeig_dgeqrf_a1w
Performs a $QR$ factorization of real general rectangular matrix
f08ah_a1w_f 27 nagf_lapackeig_dgelqf_a1w
Performs a $LQ$ factorization of real general rectangular matrix
f08ga_a1w_f 27 nagf_lapackeig_dspev_a1w
Computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix, packed storage
f08kd_a1w_f 26.2 nagf_lapackeig_dgesdd_a1w (symbolic adjoint mode)
Computes the singular value decomposition of a real matrix, optionally computing the left and/or right singular vectors (divide-and-conquer)


text:
# Standard light D65

Standard light is a type of light with certain spectral characteristics specified by Commission Internationale dEclairage( CIE) in several classes. There are classes A, B, C and D, which are used for specific applications.

Standard illuminant D represents the daylight spectrum and is therefore of particular interest for the printing industry and projection technology. Illuminant D65 derives its name from its color temperature of 6,504 Kelvin (K). D65, which is used in the chemical and pharmaceutical industries, in paint production, and in the ceramics, fabric, paper and automotive industries, is also to be used as a reference illuminant where D50 with a color temperature of 5,000 K or D70 with 7,000 K were previously used. The standard illuminant D65 has a high blue content with which fluorescent colors can be detected.

D65 is used as an evaluation light source. However, for this purpose, the evaluation area must be illuminated with a luminous intensity of 2,000 lux( lx). The spectral distribution of D65 light sources is specified in DIN 5033 and lies between wavelengths of 300 nm and 780 nm, thus between ultraviolet and red.

Informations:
 Englisch: Standard light D65 Updated at: 17.01.2021 #Words: 177 Links: light, commission internationale dEclairage (CIE), illuminant, projection, name Translations: DE Sharing:


text:
# How to use the fontspec package in a LaTeX document?

I'm trying to make a simple document which uses the fontspec package in

1. Tex Maker 4.4.1 with LuaLaTeX engine.

Code I'm using

    \documentclass{article}

\usepackage{fontspec}
\setmainfont{Arial}
\begin{document}

\section*{Introduction}
This is Introduction

\end{document}

I'm getting this error message (although I've checked LuaLaTeX Engine is set in the drop down menu)

Tex Maker

The fontspec package requires either XeTeX or LuaTeX to function.

You must change your typesetting engine to, e.g., "xelatex" or "lualatex" instead of plain "latex" or "pdflatex".

• The document is for lualatex and not for luatex. Check in miktex-settings if the lualatex format is enabled. Perhaps you will have to build it. There is type on the document, the command should be \setmainfont. – Ulrike Fischer Apr 13 '15 at 18:59


text:
Limited access

When tossed vertically up in the air with an initial speed $v$, a ball of mass, $m = 100\space g$ reaches a maximum height of $3.2\space m$ in the absence of air resistance. With air resistance, the same ball tossed with the same initial speed only reaches a height of $2.8\space m$.

What force of air resistance acts on the ball?

A

$0.14\space N$

B

$0.39\space N$

C

$0.40\space N$

D

$0.98\space N$

Select an assignment template


text:
# Eigen values of $I+A$ if $A^2=0$

Let $A\in M_{n\times n}(\mathbb{C})$. Suppose that $A^2=0$. Show that $\lambda$ is an eigenvalue of $A+I$ if and only if $\lambda=1$

As $A^2=0$, $A^2-t^2I=-t^2I$ i.e., $(A+tI)(A-tI)=-t^2I$ this imply $A-tI$ is invertible iff $t\neq 0$.

So, $(A+I)-\lambda I=A-(\lambda-1)I$ is invertible iff $\lambda-1=0$ i.e., $\lambda=1$. So, $1$ is the only eigen value of $I+A$.

After posting this question i got this idea.. Let me know if this is fine..

• $(A+I)-I$, not $(A+I)+I$. – Christopher Carl Heckman Mar 1 '16 at 7:01
• (After the above fix was made:) $A^2=0$ means more than "0 is one of the eigenvalues of $A$" ... If $\vec v$ is a nonzero vector, $A^2\vec v = 0_{n\times n}\vec v = 0\vec v$, so every vector is an eigenvector belonging to the number 0; 0 is the ONLY eigenvalue of $A$. – Christopher Carl Heckman Mar 1 '16 at 7:04
• @CarlHeckman That makes very little sense. You only proved that $0$ is the only eigenvalue of $A^2$, you did nothing with $A$. – 5xum Mar 1 '16 at 7:10
• @CarlHeckman : PLease see the edited version – user312648 Mar 1 '16 at 8:50
• @5xum : PLease see the edited version – user312648 Mar 1 '16 at 8:56

Since $A^2=0$, we have $$(I+A)^n=I+nA$$ . Let $v$ be an eigenvector of $I+A$, then \begin{align} (I+A)^nv &= (I+nA)v \\ \lambda^nv &= v+nA v \\ \frac{(\lambda^n-1)}{n}v &= Av \end{align} for all $n\in \Bbb N$. Since $v\ne 0$, the term on the left implies that $\lambda=1$ or else we'd have a contradiction ($Av$ not well defined).

• Can be done more directly. – Christopher Carl Heckman Mar 3 '16 at 6:56
• @CarlHeckman There's no doubt about that. I've already acknowledged that in the comment to S. W. Cheung's answer. – BigbearZzz Mar 3 '16 at 7:04

Suppose $\lambda$ is an eigenvalue of $A+I$ and $v \neq 0$ is an eigenvector of $A + I$ with respect to $\lambda$. Then $$Av = (\lambda - 1)v \implies 0 = A^2v = (\lambda - 1)^2 v \implies (\lambda - 1)^2 = 0 \implies \lambda = 1.$$ This shows that if $\lambda$ is an eigenvalue of $A+I$, $\lambda$ has to be $1$.

On the other hand, we have $$A^2 = 0 \implies \det(A)^2 = \det(A^2) = 0 \implies \det(A) = 0,$$ which shows $\lambda = 1$ is indeed an eigenvalue of $A+I$.

• This looks much simpler than my answer, +1 to this. – BigbearZzz Mar 1 '16 at 7:35

$\lambda$ is an eigenvalue of $A$ if and only if $\lambda+a$ is an eigenvalue of $A+aI$.

Sketch of proof: $$Av=\lambda v\iff Av+av=\lambda v+av$$

If $\lambda$ is an eigenvalue of $A$, then $\lambda^n$ is an eigenvalue of $A^n$.

Sketch of proof: if $Av=\lambda v$, then $$A^{n+1}v=A^n(Av)=A^n(\lambda v)=\lambda(A^nv)=\lambda(\lambda^nv)= \lambda^{n+1}v$$

So the only eigenvalue of $A$ is $0$, and the result follows.

If $\vec v$ is a nonzero vector, then $$A^2 \vec v = 0_{n\times n}\cdot \vec v = 0\cdot \vec v,$$ where $0_{n\times n}$ is the $n\times n$ zero matrix. Hence every (nonzero) vector is an eigenvector belonging to the eigenvalue $0$.

The eigenvalues of $A^2$ are the eigenvalues of $A$, squared. Hence. The eigenvalues of $A$ are all $0$.

The eigenvalues of $A+I$ are the eigenvalues of $A$ plus one; hence there is only one eigenvalue of $A+I$, namely $0+1=1$.


text:
# Expected currency depreciation given sovereign default

A country may default on its government debt (in any sense, e.g. miss a payment) within the next year. How would one estimate the expected (under the risk-neutral measure) currency depreciation by year end conditional on the sovereign default within one year? Rigorously put, I am interested in:

$$E_t^Q \left[ S_T/S_t|\tau_{d} < T \right],$$

where $$S$$ is the spot exchange rate, $$T$$ is a fixed time horizon, say, 1 year, and $$\tau_d \in (t, T)$$ is the time of default.

One way would be to use the quanto CDS vs. local-currency CDS rates. Let us assume it is not feasible as local-currency CDS are not traded.

Another way would be to estimate the historical average depreciation on the subset of countries that have ever defaulted and pretend that this is under $$Q$$.

Any other thoughts?

• Don't FX Forwards or NDFs represent all-in CCY depreciation?
– AK88
Aug 28 '19 at 15:59
• @AK88 only the marginal distribution thereof, with the default/no default probability factored in. I need to integrate it out somehow. Aug 29 '19 at 6:11
• For countries in the eu you can look at something called quanto cds - you can look at the difference between cds in euros and cds in usd, which allows you to get an impression of the impact a default event has on the currency.
– will
Sep 8 '19 at 19:29

I have actually looked into this a lot and I don't have a full answer.

• You can (sort of) see what the market participants think by looking at the consensus "quanto factors" published monthly by IHS Markit Totem. They even have some term structure, although usually it's the same factor for all tenors. For some sovereigns, people sometimes trade a CDS denominated in local currency referencing hard-currency debt. (This stuff isn't novel, by the way - LTCM used to trade quanto CDS on the likes of Italy back in the 1990s.) The idea is that if the sovereign defaults, then the protection buyer gets paid the notional using the post-default exchange rate. So the CDS spread (market standard quote) is discounted in comparison with the USD-denominated CDS spread by the quanto factor, which is approximately 1-the devaluation on default. (Totem also has quanto factors for many names denominated in EUR and JPY.)

(As an aside, there are other kinds of contracts you could use to express a view on the quanto factor, which you could then hedge with the more vanilla quanto CDS. For example (self-referencing extinguisher) you loan to a credit-risky foreign sovereign their own local currency, with a clause that the loan is torn up (extinguishes) if the sovereign defaults on hard-currency bonds. Or (extinguishing cross-currency swap) you could pay USD to a corporation in another country and receive local currency, again with a clause that if their soveregn defaults on hard-currency bonds, then you extinguish either the local-currency leg or both legs.)

But how meaningful are the consensus quanto factors? It is available for only a few countries. There are usually much fewer than 10 contributors, and they don't actually trade often, just mark their books. I would not be surprised if the quanto factor turns out to be far from the consensus number when a trade actually happens, and even further from reality when a sovereign default actually happens.

• You can also try getting indicative quanto factors from inter-dealer brokers like TP ICAP and BGC Fenics MD, with similar caveats.

• You could look at the history of sovereign defaults, such as Moody's, S&P, or Bank of Canada CRAG, and try to figure the FX depreciations (noting that some depreciation happens before the default), and take some kind of average. I am skeptical that this would be meaningful, given that every default is very different, and there are so few of them.

• You could collect fundamental data like GDP growth, local equities, inflation, and FX forwards, and build some kind of econometric structural model-like calculation. I've seen a few attempts at doing this and was not impressed. (Such models can be used to saisfy a product control group that the quanto factor marked by traders is not entirely made up.)

• As an extercise in machine learning, you could collect as much country econometric data as you could find, and country news, correlate it to the historical databases of sovereign defaults and to the quanto factors from Totem, and then you may be able to predict

1. what the Totem consensus quanto factor would be for a country that's not in Totem

2. how Totem consensus quanto factor will react to the newly available economic data and news.

I found all these papers somewhat useful:

Ehlers, Schoenbucher The Influence of FX Risk on Credit Spreads http://www.actuaries.org/AFIR/Colloquia/Zurich/Ehlers_Schoenburcher.pdf

Brigo, Pede, Petrelli Multi Currency Credit Default Swaps: Quanto effects and FX devaluation jumps https://arxiv.org/pdf/1512.07256.pdf

M.B.Chernov et al Sovereign credit risk and exchange rates: Evidence from CDS quanto spreads https://sites.google.com/site/mbchernov/ACS_quanto_latest.pdf


text:
# Combinatorics Seminar 2015

Date: Sat, Mar 14, 2015

Time: 10:00 - 11:30

Venue: Middle Meeting Room

Title: Spherical designs of harmonic index $t$ and null spherical $t$-designs

Abstract:

Spherical $t$-designs are finite point sets on the sphere satisfying certain good property with respect to the calculation of integrals of polynomials on the sphere.

We start with the very basics on spherical $t$-designs. Then we discuss some generalizations of the concept of spherical $t$-designs, in particular "spherical designs of harmonic index $t$" and "null spherical $t$-designs". We also discuss Fisher type lower bounds for those designs.

This talk will be accessible to a wide audience. To follow the talk, you need not have any prior knowledge on spherical designs or combinatorics.

Webmaster


text:
# The transition element which does not show variable oxidation state is

$(A) Sc \quad (B) V \quad (C) Mn \quad (D) Cr$

Answer: The transition element which does not show variable oxidation state is Sc.
Scandium is one of the two elements in the first transition metal period which has only one oxidation state (zinc is the other, with an oxidation state of +2).
Chromium has 3, Vanadium 4 and Manganese 5 common oxidation states.
edited Aug 4, 2014


text:
Journal of Symbolic Logic

The theory of tracial von Neumann algebras does not have a model companion

Abstract

In this note, we show that the theory of tracial von Neumann algebras does not have a model companion. This will follow from the fact that the theory of any locally universal, McDuff II$_1$ factor does not have quantifier elimination. We also show how a positive solution to the Connes Embedding Problem implies that there can be no model-complete theory of II$_1$ factors.

Article information

Source
J. Symbolic Logic Volume 78, Issue 3 (2013), 1000-1004.

Dates
First available in Project Euclid: 6 January 2014

https://projecteuclid.org/euclid.jsl/1389032287

Digital Object Identifier
doi:10.2178/jsl.7803170

Mathematical Reviews number (MathSciNet)
MR3135510

Zentralblatt MATH identifier
1316.03019

Citation

Goldbring, Isaac; Hart, Bradd; Sinclair, Thomas. The theory of tracial von Neumann algebras does not have a model companion. J. Symbolic Logic 78 (2013), no. 3, 1000--1004. doi:10.2178/jsl.7803170. https://projecteuclid.org/euclid.jsl/1389032287


text:
# 낮은 핀 관의 응축 열전달 성능에 관한 연구

• Han, Gyu-Il (National Fisheries University of Pusan) ;
• Park, Seong-Guk (Graduate School, National Fisheries University of Pusan )
• Published : 1996.03.01

#### Abstract

The heat transfer performance of R - 11 vapor condensing on integral fin tubes has been studied using fin tubes having the fin density from 748 to 1654 fins per meter. Electric heater supplied heat energy to the boiler to generate R - 11 vapor over the range of 25-60W. Condensation rates of each tubes were tested under the condition of cooling water flow rate from 400l/h to 2500l/h. For the seven fin tubes tested, the best performance has been obtained with a tube having a fin density of 1417fpm and a fin height of 1.3mm. This tube has yielded a maximum value of the heat transfer coefficient of 16500W/$m_2$K, at a vapor to wall temperature difference of 3K. Experimental results of integral fin tubes have been compared with available predictive models such as Beatty - Katz's analysis, Webb's analysis, Sukhatme's analysis and Rudy's empirical relation. The experimental results were shown to be in good agreement with that of the Sukhatme's analysis.


text:
Home Uncategorized

# Uncategorized

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,...

### Test – Smart Lists – Video

This is the title for 1 This is the text for 1. https://www.youtube.com/watch?v=5LWnvV0Umvo This is the title for 2 This is the text for 2. https://www.youtube.com/watch?v=p7DKlXcGXBM This is the title...

### Test – Smart Lists – Image

This is the title for 1 This is the text for 1. This is the text for 1. This is the title for 2 This is the text...

### test page bullets tick marks

My list 1. Number 1 Number 2 Number 3 My list 2. ✓ Number 1 ✓ Number 2 ✓ Number 3 Space. Space. Space. Space. Space. Space. Space. Space.


text:
⚠ This EIP is not recommended for general use or implementation as it is likely to change.

# EIP-5050: Interactive NFTs with Modular Environments Source

### Action messaging and discovery protocol for interactions on and between NFTs

Author Alexi https://ethereum-magicians.org/t/eip-5050-nft-interaction-standard/9922 Draft Standards Track ERC 2021-4-18 165, 173, 721, 1155, 1820, 4906

## Abstract

This standard defines a broadly applicable action messaging protocol for the transmission of user-initiated actions between tokens. Modular statefulness is achieved with optional state controller contracts (i.e. environments) that manage shared state, and provide arbitration and settlement of the action process.

## Motivation

Tokenized item standards such as EIP-721 and EIP-1155 serve as the objects of the Ethereum computing environment. A growing number of projects are seeking to build interactivity and “digital physics” into NFTs, especially in the contexts of gaming and decentralized identity. A standard action messaging protocol will allow this physics layer to be developed in the same open, Ethereum-native way as the objects they operate on.

The messaging protocol outlined defines how an action is initiated and transmitted between tokens and (optional) shared state environments. It is paired with a common interface for defining functionality that allows off-chain services to aggregate and query supported contracts for functionality and interoperability; creating a discoverable, human-readable network of interactive token contracts. Not only can contracts that implement this standard be automatically discovered by such services, their policies for interaction can be as well. This allows clients to easily discover compatible senders and receivers, and allowed actions.

Aggregators can also parse action event logs to derive analytics on new action types, trending/popular/new interactive contracts, which token and state contract pairs users are likely to interact with, and other discovery tools to facilitate interaction.

### Benefits

1. Make interactive token contracts discoverable and usable by applications
2. Create a decentralized “digital physics” layer for gaming and other applications
3. Provide developers a simple solution with viable validity guarantees to make dynamic NFTs and other tokens
4. Allow for generalized action bridges to transmit actions between chains (enabling actions on L1 assets to be saved to L2s, L1 assets to interact with L2 assets, and L2 actions to be “rolled-up”/finalized on L1).

## Specification

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.

Smart contracts implementing this EIP standard MUST implement the EIP-165 supportsInterface function and MUST return the constant value true if the IERC5050Sender interface ID 0xc8c6c9f3 and/or the IERC5050Receiver interface ID 0x1a3f02f4 is passed through the interfaceID argument (depending on which interface(s) the contract implements).

pragma solidity ^0.8.0;

/// @param _address The address of the interactive object
/// @param tokenId The token that is interacting (optional)
struct Object {
uint256 _tokenId;
}

/// @param selector The bytes4(keccack256()) encoding of the action string
/// @param user The address of the sender
/// @param from The initiating object
/// @param to The receiving object
/// @param state The state controller contract
/// @param data Additional data with no specified format
struct Action {
bytes4 selector;
Object from;
Object to;
bytes data;
}

/// @title EIP-5050 Interactive NFTs with Modular Environments
interface IERC5050Sender {
/// @notice Send an action to the target address
/// @dev The action's fromContract is automatically set to address(this),
/// and the from parameter is set to msg.sender.
/// @param action The action to send
function sendAction(Action memory action) external payable;

/// @notice Check if an action is valid based on its hash and nonce
/// @dev When an action passes through all three possible contracts
/// (fromContract, to, and state) the state contract validates the
/// action with the initiating fromContract using a nonced action hash.
/// This hash is calculated and saved to storage on the fromContract before
/// action handling is initiated. The state contract calculates the hash
/// and verifies it and nonce with the fromContract.
/// @param _hash The hash to validate
/// @param _nonce The nonce to validate
function isValid(bytes32 _hash, uint256 _nonce) external returns (bool);

/// @notice Retrieve list of actions that can be sent.
/// @dev Intended for use by off-chain applications to query compatible contracts,
/// and to advertise functionality in human-readable form.
function sendableActions() external view returns (string[] memory);

/// @notice Change or reaffirm the approved address for an action
/// @dev The zero address indicates there is no approved address.
///  Throws unless msg.sender is the _account, or an authorized
///  operator of the _account.
/// @param _account The account of the account-action pair to approve
/// @param _action The action of the account-action pair to approve
/// @param _approved The new approved account-action controller
function approveForAction(
bytes4 _action,
) external returns (bool);

/// @notice Enable or disable approval for a third party ("operator") to conduct
///  all actions on behalf of msg.sender
/// @dev Emits the ApprovalForAll event. The contract MUST allow
///  an unbounded number of operators per owner.
/// @param _operator Address to add to the set of authorized operators
/// @param _approved True if the operator is approved, false to revoke approval
function setApprovalForAllActions(address _operator, bool _approved)
external;

/// @notice Get the approved address for an account-action pair
/// @dev Throws if _tokenId is not a valid NFT.
/// @param _account The account of the account-action to find the approved address for
/// @param _action The action of the account-action to find the approved address for
/// @return The approved address for this account-action, or the zero address if
///  there is none
function getApprovedForAction(address _account, bytes4 _action)
external
view

/// @notice Query if an address is an authorized operator for another address
/// @param _account The address on whose behalf actions are performed
/// @param _operator The address that acts on behalf of the account
/// @return True if _operator is an approved operator for _account, false otherwise
external
view
returns (bool);

/// @dev This emits when an action is sent (sendAction())
event SendAction(
bytes4 indexed name,
uint256 _tokenId,
uint256 _toTokenId,
bytes _data
);

/// @dev This emits when the approved address for an account-action pair
///  is changed or reaffirmed. The zero address indicates there is no
event ApprovalForAction(
bytes4 indexed _action,
);

/// @dev This emits when an operator is enabled or disabled for an account.
///  The operator can conduct all actions on behalf of the account.
event ApprovalForAllActions(
bool _approved
);
}

/// @notice Handle an action
/// @dev Both the to contract and state contract are called via
/// onActionReceived().
/// @param action The action to handle
function onActionReceived(Action calldata action, uint256 _nonce)
external
payable;

/// @notice Retrieve list of actions that can be received.
/// @dev Intended for use by off-chain applications to query compatible contracts,
/// and to advertise functionality in human-readable form.
function receivableActions() external view returns (string[] memory);

/// @dev This emits when a valid action is received.
bytes4 indexed name,
uint256 _tokenId,
uint256 _toTokenId,
bytes _data
);
}

### Action Naming

Actions SHOULD use dot-separation for namespacing (e.g. "spells.cast" specifies the "cast" action with namespace "spells"), and arrow-separation for sequence specification (e.g. "settle>build" indicating "settle" must be received before "build").

### How State Contracts Work

Actions do not require that a state contract be used. Actions can be transmitted from one token contract (Object) to another, or from a user to a single token contract. In these cases, the sending and receiving contracts each control their own state.

State contracts allow arbitrary senders and receivers to share a user-specified state environment. Each Object MAY define its own action handling, which MAY include reading from the state contract during, but the action MUST be finalized by the state contract. This means the state contract serves as ground truth.

The intended workflow is for state contracts to define stateful game environments, typically with a custom IState interface for use by other contracts. Objects register with state contracts to initialize their state. Then, users commit actions using a specific state contract to make things happen in the game.

The modularity of state contracts allows multiple copies of the same or similar “game environment” to be created and swapped in or out by the client. There are many ways this modularity can be used:

• Aggregator services can analyze action events to determine likely state contracts for a given sender/receiver
• Sender/receiver contracts can require a specific state contract
• Sender/receiver contracts can allow any state contract, but set a default. This is important for NFTs that change their render based on state. This default can also be configurable by the token holder.
• State contracts can be bridges to state contracts on another chain, allowing for L1-verification, L2-storage usage pattern (validate action with layer-1 assets, save on l2 where storage is cheaper).

#### Example

State Contract FightGame defines a fighting game environment. Token holders call FightGame.register(contract, tokenId) to randomly initialize their stats (strength/hp/etc.). An account which holds a registered token A of contract Fighters, calls Fighters.sendAction(AttackAction), specifying token A from Fighters as the sender, token B from Pacifists contract as the receiver, and FightGame as the state contract.

The action is passed to token B, which may handle the action in whatever way it wants before passing the action to the FightGame state contract. The state contract can verify the stored action hash with the Fighters contract to validate the action is authentic before updating the stats if the tokens, dealing damage to token B.

Tokens A and B may update their metadata based on stats in the FightGame state contract, or based on their own stored data updated in response to sending/receiving actions.

### Extensions

#### Interactive

Some contracts may have custom user interfaces that facilitate interaction.

pragma solidity ^0.8.0;

/// @title EIP-5050 Interactive NFTs with Modular Environments
interface IERC5050Interactive {
function interfaceURI(bytes4 _action) external view returns (string);
}

#### Action Proxies

Action proxies can be used to support backwards compatibility with non-upgradeable contracts, and potentially for cross-chain action bridging.

They can be implemented using a modified version of EIP-1820 that allows EIP-173 contract owners to call setManager().

#### Controllable

Users of this standard may want to allow trusted contracts to control the action process to provide security guarantees, and support action bridging. Controllers step through the action chain, calling each contract individually in sequence.

Contracts that support Controllers SHOULD ignore require/revert statements related to action verification, and MUST NOT pass the action to the next contract in the chain.

pragma solidity ^0.8.0;

/// @title EIP-5050 Action Controller
interface IControllable {

/// @notice Enable or disable approval for a third party ("controller") to force
///  handling of a given action without performing EIP-5050 validity checks.
/// @dev Emits the ControllerApproval event. The contract MUST allow
///  an unbounded number of controllers per action.
/// @param _controller Address to add to the set of authorized controllers
/// @param _action Selector of the action for which the controller is approved / disapproved
/// @param _approved True if the controller is approved, false to revoke approval
function setControllerApproval(address _controller, bytes4 _action, bool _approved)
external;

/// @notice Enable or disable approval for a third party ("controller") to force
///  action handling without performing EIP-5050 validity checks.
/// @dev Emits the ControllerApproval event. The contract MUST allow
///  an unbounded number of controllers per action.
/// @param _controller Address to add to the set of authorized controllers
/// @param _approved True if the controller is approved, false to revoke approval
function setControllerApprovalForAll(address _controller, bool _approved)
external;

/// @notice Query if an address is an authorized controller for a given action.
/// @param _controller The trusted third party address that can force action handling
/// @param _action The action selector to query against
/// @return True if _controller is an approved operator for _account, false otherwise
function isApprovedController(address _controller, bytes4 _action)
external
view
returns (bool);

/// @dev This emits when a controller is enabled or disabled for the given
///  action. The controller can force action handling on the emitting contract,
///  bypassing the standard EIP-5050 validity checks.
event ControllerApproval(
bytes4 indexed _action,
bool _approved
);

/// @dev This emits when a controller is enabled or disabled for all actions.
///  Disabling all action approval for a controller does not override explicit action
///  action approvals. Controller's approved for all actions can force action handling
///  on the emitting contract for any action.
event ControllerApprovalForAll(
bool _approved
);
}

Interactive NFTs are likely to update their metadata in response to certain actions and developers MAY want to implement EIP-4906 event emitters.

## Rationale

The critical features of this interactive token standard are that it 1) creates a common way to define, advertise, and conduct object interaction, 2) enables optional, brokered statefulness with useful validity assurances at minimum gas overhead, 3) is easy for developers to implement, and 4) is easy for end-users to use.

### Action Names & Selectors

Actions are advertised using human-readable strings, and processed using function selectors (bytes4(keccack256(action_key))). Human-readable strings allow end-users to easily interpret functionality, while function selectors allow efficient comparison operations on arbitrarily long action keys. This scheme also allows for simple namespacing and sequence specification.

Off-chain services can easily convert the strings to bytes4 selector encoding when interacting with contracts implementing this EIP or parsing SendAction and ActionReceived event logs.

### Validation

Validation of the initiating contract via a hash of the action data was satisfactory to nearly everyone surveyed and was the most gas efficient verification solution explored. We recognize that this solution does not allow the receiving and state contracts to validate the initiating user account beyond using tx.origin, which is vulnerable to phishing attacks.

We considered using a signed message to validate user-intiation, but this approach had two major drawbacks:

1. UX users would be required to perform two steps to commit each action (sign the message, and send the transaction)
2. Gas performing signature verification is computationally expensive

Most importantly, the consensus among the developers surveyed is that strict user validation is not necessary because the concern is only that malicious initiating contracts will phish users to commit actions with the malicious contract’s assets. This protocol treats the initiating contract’s token as the prime mover, not the user. Anyone can tweet at Bill Gates. Any token can send an action to another token. Which actions are accepted, and how they are handled is left up to the contracts. High-value actions can be reputation-gated via state contracts, or access-gated with allow/disallow-lists. Controllable contracts can also be used via trusted controllers as an alternative to action chaining.

Alternatives considered: action transmitted as a signed message, action saved to reusable storage slot on initiating contract

### State Contracts

Moving state logic into dedicated, parameterized contracts makes state an action primitive and prevents state management from being obscured within the contracts. Specifically, it allows users to decide which “environment” to commit the action in, and allows the initiating and receiving contracts to share state data without requiring them to communicate.

The specifics of state contract interfaces are outside the scope of this standard, and are intended to be purpose-built for unique interactive environments.

### Gas and Complexity (regarding action chaining)

Action handling within each contract can be arbitrarily complex, and there is no way to eliminate the possibility that certain contract interactions will run out of gas. However, developers SHOULD make every effort to minimize gas usage in their action handler methods, and avoid the use of for-loops.

Alternatives considered: multi-request action chains that push-pull from one contract to the next.

## Backwards Compatibility

Non-upgradeable, already deployed token contracts will not be compatible with this standard unless a proxy registry extension is used.

## Reference Implementation

A reference implementation is included in ../assets/eip-5050 with a simple stateless example ExampleToken2Token.sol, and a stateful example ExampleStateContract.sol

## Security Considerations

The core security consideration of this protocol is action validation. Actions are passed from one contract to another, meaning it is not possible for the receiving contract to natively verify that the caller of the initiating contract matches the action.from address. One of the most important contributions of this protocol is that it provides an alternative to using signed messages, which require users to perform two operations for every action committed.

As discussed in Validation, this is viable because the initiating contract / token is treated as the prime mover, not the user.

Copyright and related rights waived via CC0.

## Citation

Please cite this document as:

Alexi, "EIP-5050: Interactive NFTs with Modular Environments [DRAFT]," Ethereum Improvement Proposals, no. 5050, April 2021. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-5050.


text:
Represent a grouping of data to be applied when summarising area, timestep, age or length.

# Named grouping of discrete items
mfdb_group(...)

# Pre-baked mfdb_groups for timesteps
mfdb_timestep_yearly
mfdb_timestep_biannually
mfdb_timestep_quarterly

# Grouping of discrete items, names generated by prefix
mfdb_group_numbered(prefix, ...)

# make (count) mfdb_groups, by sampling (count) times from (group)
mfdb_bootstrap_group(count, group, seed = NULL)

## Arguments

...

For mfdb_group, all named arguments are expected to be a named list of members for that group. For mfdb_group_numbered, the members do not have to be named, a name will be generated based on the prefix.

prefix

When generating numeric group names, the character prefix to append to the beginning.

group

For mfdb_bootstrap_group, the mfdb_group to do sampling with replacement from.

count

For mfdb_bootstrap_group, how many times to sample each member of the given group.

seed

For mfdb_bootstrap_group, if you want your groups to remain consistent across sessions, then specify a random integer as per RNG.

## Value

An mfdb_aggregate object that can then be used in querying functions such as mfdb_sample_count

## Examples

## Aggregate age into 2 groups. "young" (for ages 1--3) and
## "old" (for ages 4--6)
g1 <- mfdb_group(young = c(1,2,3), old = c(4,5,6))

## Aggregate areas into "area1" and "area2".
g2 <- mfdb_group_numbered("area", c(1011,1012,1013), c(1021,1022))

## Take 3 samples with replacement from each group in area
g3 <- mfdb_bootstrap_group(3, g2)
#> Warning: non-uniform 'Rounding' sampler used