Użycie numpy do zbudowania tablicy wszystkich kombinacji dwóch tablic

Próbuję uruchomić przestrzeń parametrów funkcji 6 parametrów, aby zbadać jej zachowanie numeryczne, zanim spróbuję zrobić coś skomplikowanego, więc szukam skutecznego sposobu, aby to zrobić.

Moja funkcja przyjmuje wartości zmiennoprzecinkowe podając 6-dimmową tablicę numpy jako dane wejściowe. Na początku starałem się to zrobić:

Najpierw stworzyłem funkcję, która pobiera 2 tablice i generuje tablicę ze wszystkimi kombinacjami wartości z dwóch tablic

from numpy import *
def comb(a,b):
    c = []
    for i in a:
        for j in b:
            c.append(r_[i,j])
    return c

Potem użyłemreduce() aby zastosować to do m kopii tej samej tablicy:

def combs(a,m):
    return reduce(comb,[a]*m)

A potem oceniam swoją funkcję w ten sposób:

values = combs(np.arange(0,1,0.1),6)
for val in values:
    print F(val)

To działa, ale jest zbyt wolny. Wiem, że przestrzeń parametrów jest ogromna, ale to nie powinno być takie powolne. Próbowałem tylko 106 (milion) punktów w tym przykładzie, a utworzenie tablicy zajęło ponad 15 sekundvalues.

Czy znasz jakiś skuteczniejszy sposób na zrobienie tego za pomocą numpy?

Mogę zmodyfikować sposób działania funkcjiF bierze to za argumenty, jeśli jest to konieczne.

questionAnswers(9)

yourAnswerToTheQuestion