Вы делаете ненужные циклы и перезаписываете значения BtBB_ret снова и снова. Одной петли должно хватить:
#Nested For loop where I'm having issue generating a proper output
for (i in 1:nrow(BtBB)) {
BtBB_ret[i] <- BtBB[i,BtBB_min[i]]
}
BtBB_ret
Глава 4.3.3 TAOCP Кнута описывает это, а также имеет некоторый псевдокод БПФ в других главах, который может быть использован для этого.
1000 цифр - это «мало» для Шёнхаге-Штрассен, чтобы их действительно стоило использовать. Вы можете взглянуть на умножение Тоома Кука . gmpy - это оболочка Python для gmp, обеспечивающая эти функции.