实用函数

实用函数

该模块包含其他qutip模块中常用的实用函数。

clebsch(j1, j2, j3, m1, m2, m3)[source]

计算将 (j1,m1) 和 (j2,m2) 耦合以得到 (j3,m3) 的 Clebsch-Gordon 系数。

Parameters:
j1float

总角动量 1。

j2float

总角动量 2。

j3float

总角动量 3。

m1float

角动量的z分量 1。

m2float

角动量的z分量 2。

m3float

角动量的z分量 3。

Returns:
cg_coefffloat

请求的Clebsch-Gordan系数。

convert_unit(value, orig='meV', to='GHz')[source]

将能量从单位 orig 转换为单位 to

Parameters:
valuefloat / array

旧单位中的能量。

origstr, {“J”, “eV”, “meV”, “GHz”, “mK”}, default: “meV”

原始单位的名称。

tostr, {“J”, “eV”, “meV”, “GHz”, “mK”}, default: “GHz”

新单位的名称。

Returns:
value_new_unitfloat / array

新单位中的能量。

iterated_fit(
fun: Callable[..., complex],
num_params: int,
xdata: ArrayLike,
ydata: ArrayLike,
target_rmse: float = 1e-05,
Nmin: int = 1,
Nmax: int = 10,
guess: ArrayLike | Callable[[int], ArrayLike] = None,
lower: ArrayLike = None,
upper: ArrayLike = None,
sigma: float | ArrayLike = None,
maxfev: int = None,
) tuple[float, ArrayLike][source]

迭代地尝试用以下形式的模型拟合给定的数据

\[y = \sum_{k=1}^N f(x; p_{k,1}, \dots, p_{k,n})\]

其中 f 是一个依赖于 n 个参数的模型函数,而项数 N 会不断增加,直到归一化的均方根误差(root mean square error)低于目标值。

Parameters:
funcallable

模型函数。它的第一个参数是数组 xdata,其他参数是拟合参数。

num_paramsint

每项的拟合参数数量(上式中为n)。 函数fun必须接受num_params+1个参数。

xdataarray_like

自变量。

ydataarray_like

依赖数据。

target_rmseoptional, float

期望的归一化均方根误差(默认 1e-5)。

Nminoptional, int

用于拟合的最小项数(默认值为1)。

Nmaxoptional, int

用于拟合的最大项数(默认值为10)。 如果达到项数Nmax,即使尚未达到目标rmse,函数也会返回。

guessoptional, array_like or callable

这可以是一个长度为n的列表,其中第i个条目是对参数\(p_{k,i}\)的猜测(对于所有项\(k\)),或者是一个为每个项提供不同初始猜测的函数。具体来说,给定项数N,该函数返回一个初始猜测的数组[[p11, …, p1n], [p21, …, p2n], …, [pN1, …, pNn]]

loweroptional, list of length num_params

拟合参数的下限。

upperoptional, list of length num_params

拟合参数的上限。

sigmaoptional, float or array_like

因变量数据的不确定性,请参阅scipy.optimize.curve_fit的文档。

maxfevoptional, int

函数评估的最大次数(每个N的值)。

Returns:
rmsefloat

拟合的归一化均方误差

paramsarray_like

模型参数的形式为 [[p11, …, p1n], [p21, …, p2n], …, [pN1, …, pNn]]

n_thermal(w, w_th)[source]

返回在频率为‘w’的谐振子模式下,在由‘w_th’描述的温度下处于热平衡状态的光子数量,其中\(\omega_{\rm th} = k_BT/\hbar\)

Parameters:
wfloat or ndarray

振荡器的频率。

w_thfloat

以频率单位(或与w相同的单位)表示的温度。

Returns:
n_avgfloat or array

返回具有给定频率和温度的热平衡振荡器的平均光子数。

文件I/O函数

file_data_read(filename, sep=None)[source]

从请求的文件中检索数据数组。

Parameters:
filenamestr or pathlib.Path

包含请求数据的文件名。

sepstr, optional

用于存储数据的分隔符。

Returns:
dataarray_like

来自选定文件的数据。

file_data_store(filename, data, numtype='complex', numformat='decimal', sep=',')[source]

将数据矩阵存储到文件中,以便外部程序读取。

Parameters:
filenamestr or pathlib.Path

要存储的数据文件的名称,包括扩展名。

data: array_like

要写入文件的数据。

numtypestr {‘complex, ‘real’}, default: ‘complex’

数值数据的类型。

numformatstr {‘decimal’,’exp’}, default: ‘decimal’

写入数据的格式。

sepstr, default: ‘,’

单字符字段分隔符。通常是制表符、空格、逗号或分号。

qload(filename)[source]

从当前目录中的文件 filename 加载数据文件。

Parameters:
filenamestr or pathlib.Path

要加载的数据文件的名称。

Returns:
qobjectinstance / array_like

从请求的文件中检索到的对象。

qsave(data, name='qutip_data')[源代码]

将给定数据保存到当前目录下名为‘filename.qu’的文件中。

Parameters:
datainstance/array_like

输入要存储的Python对象。

filenamestr or pathlib.Path, default: “qutip_data”

输出数据文件的名称。

IPython 笔记本工具

该模块包含用于在IPython笔记本中使用QuTiP的实用函数。

version_table(verbose=False)[source]

打印一个HTML格式的表格,显示QuTiP及其依赖项的版本号。在IPython笔记本中使用它来显示运行笔记本时使用的不同包的版本。这应该使得以后能够重现环境和计算。

Parameters:
verbosebool, default: False

添加有关安装位置的额外信息。

Returns:
version_table: str

返回一个包含QuTiP依赖项版本信息的HTML格式字符串。

杂项

命令行输出关于QuTiP及其依赖项的信息。

about()[source]

关于QuTiP的对话框。显示QuTiP、NumPy、SciPy、Cython和MatPlotLib的版本号。