Je cherche une fonction générale pour paver ou répéter des matrices le long d'un nombre arbitraire de dimensions un nombre arbitraire de fois. Python et Matlab ont ces fonctions dans la mosaïque NumPy et les fonctions repmat de Matlab. La fonction repmat de Julia ne semble supporter que des tableaux bidimensionnels.Carrelage ou répétition de tableaux n-dimensionnels dans Julia
La fonction doit ressembler à repmatnd (a, (n1, n2, ..., nk)). a est un tableau de dimension arbitraire. Et le deuxième argument est un tuple spécifiant le nombre de fois que le tableau est répété pour chaque dimension k.
Une idée de la façon de mosaïquer un tableau Julia sur plus de 2 dimensions? En Python j'utiliserais np.tile et dans matlab repmat, mais la fonction repmat dans Julia ne supporte que 2 dimensions.
Par exemple,
x = [1 2 3]
repmatnd(x, 3, 1, 3)
se traduirait par:
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
Et pour
x = [1 2 3; 1 2 3; 1 2 3]
repmatnd(x, (1, 1, 3))
entraînerait la même chose qu'avant. J'imagine que les développeurs de Julia vont mettre en œuvre quelque chose comme ça dans la bibliothèque standard, mais jusque-là, ce serait bien d'avoir un correctif.
Je crois que la fonction de répétition peut être ce que vous cherchez: http://docs.julialang.org/en/latest/stdlib/linalg/#Base.repeat. Désolé je continue à répondre avec des commentaires - n'ont pas vraiment le temps/énergie d'écrire des réponses complètes avec des exemples et tout ce jazz. – StefanKarpinski