Looping in a spiral
Here’s my solution (in Python): def spiral(X, Y): x = y = 0 dx = 0 dy = -1 for i in range(max(X, Y)**2): if (-X/2 < x <= X/2) and (-Y/2 < y <= Y/2): print (x, y) # DO STUFF… if x == y or (x < 0 and x == -y) or … Read more
Here’s my solution (in Python): def spiral(X, Y): x = y = 0 dx = 0 dy = -1 for i in range(max(X, Y)**2): if (-X/2 < x <= X/2) and (-Y/2 < y <= Y/2): print (x, y) # DO STUFF… if x == y or (x < 0 and x == -y) or … Read more
This is easier to do if you convert your matrix to a data frame using as.data.frame(). In that case the previous answers (using subset or m$three) will work, otherwise they will not. To perform the operation on a matrix, you can define a column by name: m[m[, “three”] == 11,] Or by number: m[m[,3] == … Read more
You want to reshape the array. B = np.reshape(A, (-1, 2)) where -1 infers the size of the new dimension from the size of the input array.
Consider whether you really need all this data explicitly, or can the matrix be sparse? There is good support in R (see Matrix package for e.g.) for sparse matrices. Keep all other processes and objects in R to a minimum when you need to make objects of this size. Use gc() to clear now unused … Read more
If you’d like something a bit more readable, you can do this: A = np.squeeze(np.asarray(M)) Equivalently, you could also do: A = np.asarray(M).reshape(-1), but that’s a bit less easy to read.
This kind of question is recurring and should be answered more clearly than “MATLAB uses highly optimized libraries” or “MATLAB uses the MKL” for once on Stack Overflow. History: Matrix multiplication (together with Matrix-vector, vector-vector multiplication and many of the matrix decompositions) is (are) the most important problems in linear algebra. Engineers have been solving … Read more
There is a way to reduce this to a simple sub-problem. There are 2 parts to the explanation, the algorithm, and the reason the algorithm provides an optimal solution. The first won’t make sense without the second, so I’ll start with the why. If you think of bombing the rectangle (assume a big rectangle – … Read more
output = array[0].map((_, colIndex) => array.map(row => row[colIndex])); map calls a provided callback function once for each element in an array, in order, and constructs a new array from the results. callback is invoked only for indexes of the array which have assigned values; it is not invoked for indexes which have been deleted or … Read more
There are quite a few projects that have settled on the Generic Graphics Toolkit for this. The GMTL in there is nice – it’s quite small, very functional, and been used widely enough to be very reliable. OpenSG, VRJuggler, and other projects have all switched to using this instead of their own hand-rolled vertor/matrix math. … Read more
Simplest solution Use numpy.dot or a.dot(b). See the documentation here. >>> a = np.array([[ 5, 1 ,3], [ 1, 1 ,1], [ 1, 2 ,1]]) >>> b = np.array([1, 2, 3]) >>> print a.dot(b) array([16, 6, 8]) This occurs because numpy arrays are not matrices, and the standard operations *, +, -, / work element-wise … Read more