Я работаю над созданием адаптивного отклоняющего пробоотборника в Numba. Я хотел бы использовать класс для его реализации, так как я думаю, что он сделает код более чистым, и я вижу, что классы поддерживаются в Numba. Мой класс был бы намного более общим/полезным, если бы он мог принимать функции как входные данные, т. Е. Журнал pdf дистрибутива, который я хочу отбирать. Есть ли способ сделать это? Альтернативой, я полагаю, является определение уравнений журнала pdf в самом определении класса.Numba jitclass с функциональным вводом
Почему я хочу это сделать? Сэмплер будет использоваться как часть схемы выборки Гиббса, поэтому ускорение на каждом этапе выборки имеет решающее значение. Я должен симулировать из дистрибутива, который я знаю только до нормализующей константы, а адаптивная отбраковка - это общий метод, который поможет мне опробовать без необходимости знать эту нормализующую константу. Существует реализация python адаптивного отклоняющего сэмплера, плавающего вокруг переполнения стека, но это слишком медленно для моих целей. Он также случайно разбивается по некоторым причинам на некоторые смоделированные данные, над которыми он должен работать. Мне повезло с numba в других частях моего проекта, включая более 100-кратное ускорение на одной части пробоотборника Gibbs.