Fractals and Kronecker product
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
A few years ago, I went to listen to Roger Nelsen who was giving a talk about copulas with fractal support. Roger is amazing when he gives a talk (I am also a huge fan of his books, and articles), and I really wanted to play with that concept (that he did publish later on, with Gregory Fredricks and José Antonio Rodriguez-Lallena). I did mention that idea in a paper, writen with Alessandro Juri, just to mention some cases where deriving fixed point theorems is not that simple (since the limit may not exist).
The idea in the initial article was to start with something quite simple, a the so-called transformation matrix, e.g.
Here, in all areas with mass, we spread it uniformly (say), i.e. the support of is the one below, i.e. th of the mass is located in each corner, and is in the center. So if we spread the mass to have a copula (with uniform margin,)we have to consider squares on intervals , and ,
Then the idea, then, is to consider , where is the tensor product (also called Kronecker product) of with itself. Here, the support of is
> k=4 > M=matrix(c(1,0,0,1, + 0,1,1,0, + 0,1,1,0, + 1,0,0,1),k,k) > M [,1] [,2] [,3] [,4] [1,] 1 0 0 1 [2,] 0 1 1 0 [3,] 0 1 1 0 [4,] 1 0 0 1Once we have it, we just consider the Kronecker product of this matrix with itself, which yields a matrix,
> N=kronecker(M,M) > N[,1:4] [,1] [,2] [,3] [,4] [1,] 1 0 0 1 [2,] 0 1 1 0 [3,] 0 1 1 0 [4,] 1 0 0 1 [5,] 0 0 0 0 [6,] 0 0 0 0 [7,] 0 0 0 0 [8,] 0 0 0 0 [9,] 0 0 0 0 [10,] 0 0 0 0 [11,] 0 0 0 0 [12,] 0 0 0 0 [13,] 1 0 0 1 [14,] 0 1 1 0 [15,] 0 1 1 0 [16,] 1 0 0 1And then, we continue,
> for(s in 1:3){N=kronecker(N,M)}After only a couple of loops, we have a matrix. And we can plot it simply to visualize the support,
> image(N,col=c("white","blue"))As we zoom in, we can visualize this fractal property,
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.