小编use*_*890的帖子

Python算术用小数字

当我在Python中使用小数字进行算术运算时,我得到以下意外结果:

>>> sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
>>> (1. - (1.e-17) ) < 1.
False
Run Code Online (Sandbox Code Playgroud)

我知道浮点数不具有无限精度,但它应该能够处理像"1e-17"这样的"大"小数,不应该吗?

python numerical

7
推荐指数
3
解决办法
2万
查看次数

为什么python pickle加载和转储会膨胀磁盘上对象的大小?

我在一个名为b1.pkl的文件中有一个pickle对象:

$ ls -l b*
-rw-r--r--  1 fireball  staff  64743950 Oct 11 15:32 b1.pkl
Run Code Online (Sandbox Code Playgroud)

然后我运行以下python代码来加载对象并将其转储到一个新文件:

import numpy as np
import cPickle as pkl

fin = open('b1.pkl', 'r')
fout = open('b2.pkl', 'w')

x = pkl.load(fin)
pkl.dump(x, fout)

fin.close()
fout.close()
Run Code Online (Sandbox Code Playgroud)

此代码创建的文件大于两倍:

$ ls -l b*
-rw-r--r--  1 fireball  staff   64743950 Oct 11 15:32 b1.pkl
-rw-r--r--  1 fireball  staff  191763914 Oct 11 15:47 b2.pkl
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么新文件比原始文件大得多?它应该包含完全相同的结构.

python serialization load dump pickle

7
推荐指数
2
解决办法
2974
查看次数

scipy.optimize.fmin_bfgs单个函数计算f和fprime

我正在使用scipy.optimize.fmin_bfgs(f, init_theta, fprime)最小化f,它具有渐变fprime.我计算ffprime在一个函数中,因为大多数计算是相同的,所以没有必要做两次.

有没有什么方法来调用fmin_bfgs()指定同时返回一个单一的功能ffprime

python optimization gradient scipy

5
推荐指数
1
解决办法
2160
查看次数

标签 统计

python ×3

dump ×1

gradient ×1

load ×1

numerical ×1

optimization ×1

pickle ×1

scipy ×1

serialization ×1