вы можете использовать функцию mime_content_type (), которая встроена в php, она предоставляет фактический тип содержимого, даже если расширение изменено php docs
проверка mime_content_type при загрузке
$mimetype = mime_content_type($_FILES['file']['tmp_name']);
if(in_array($mimetype, array('image/jpeg', 'image/gif', 'image/png'))) {
move_uploaded_file($_FILES['file']['tmp_name'], '/whatever/something/imagedir/' . $_FILES['file']['name']);
echo 'OK';
} else {
echo 'It is not an image';
}
1.0e-08 довольно низок. Не могли бы вы попытаться с помощью g_tol=1.0e-6
увидеть, что оно сходится?
results = optimize(f, lower, upper, initial_x, Fminbox(inner_optimizer), Optim.Options(iterations=0, store_trace=true, show_trace=true, g_tol=1.0e-6))