代码库
FurenDeng
这个作者很懒,什么都没留下…
展开
-
一些关于线性代数的程序
一些关于线性代数的程序原创 2021-12-29 16:31:49 · 798 阅读 · 0 评论 -
mpi4py的wrapper
mpi4py的wrapper给mpi4py写了个wrapper。包括并行写入,对于numpy array的split并scatter,应该会持续更新,加入新功能。import h5py as h5from mpi4py import MPIimport timeimport numpy as npmpi_comm = MPI.COMM_WORLDmpi_size = mpi_comm.Get_size()mpi_rank = mpi_comm.Get_rank()def process原创 2021-12-15 20:50:22 · 1739 阅读 · 0 评论 -
一些不常用的python包
一些不常用的python包PyOD:用于查找outlier的包,内含多种查找outlier的算法,见PyOD文档ehtim:event-horizon telescope的成像包,可用于模拟和成像,见ehtim文档fundamentals_of_interferometry_chinese:用于学习射电干涉仪基础的教程,中文版,改编自MeerKat的教程,见射电干涉仪基础教程DLMF(Digital Library of Mathematical Functions):一本数学手册,有很多特殊函数原创 2021-11-12 12:43:10 · 1609 阅读 · 1 评论 -
利用astropy和astroplan制定观测计划
利用astropy和astroplan制定观测计划可以利用astropy.coordinates.SkyCoord直接制定观测计划,首先需要构造源,既可以根据名称让astropy自动查找,也能通过ra和dec来构造。astropy采用CDS name resolver来通过名称获取源的信息,查看CDS (Centre de Données astronomiques de Strasbourg)获取更多信息。源被构造出来之后可以转入其他坐标系。两种方法以及坐标系转换如下所示:from astropy.t原创 2021-11-08 14:01:14 · 1057 阅读 · 1 评论 -
用来快速检查hdf5,npy和npz文件的Python脚本
用来快速检查hdf5文件的Python脚本import h5py as h5import sysfilename = sys.argv[1]with h5.File(filename, 'r') as filein: print('######################') print('## file attributes: ##') print('######################') for ii in filein.attrs.keys():原创 2021-11-07 19:09:50 · 461 阅读 · 0 评论 -
使用fft对相位进行unwrap
使用fft对相位进行unwrap如果复数相位是另一个量,例如频率的线性函数,而我们想对相位进行直线拟合,那么我们首先需要对相位进行unwrap,然后才能进行拟合。numpy.unwrap可以对角度进行unwrap,但是如果有大段的数据缺失,numpy.unwrap会失效,我利用fft弄了一种新的unwrap的方法,如下:import numpy as npimport matplotlib.pyplot as pltfrom scipy.signal import find_peaksdef f原创 2021-11-11 18:44:40 · 1696 阅读 · 0 评论 -
numpy.gradient的逆操作
numpy求导的逆操作numpy.gradient可以对函数进行求导,在设置edge_order=1时其逆操作可以由以下代码实现。改写自stackoverflow的回答。该程序仅适用于一维导数且dx为常数的情况,但是可以指定axis:import numpy as npdef integrate(dydx, y0, dx=1, axis=0): ''' Inverse of numpy.gradient, only for 1d, evenly spaced x and edge_原创 2021-11-11 18:55:40 · 1332 阅读 · 0 评论 -
给定一维随机分布生成随机数
给定一维随机分布生成随机数假设概率分布为f(x),其CDF为g(x),我们不加证明的给出,产生[0, 1)之间的随机数,并将其输入g(x)的反函数,得到的值服从f(x)分布,实现的代码如下:import numpy as npfrom scipy.interpolate import interp1d, UnivariateSplinefrom scipy.integrate import cumtrapz, trapz#import matplotlib.pyplot as pltdef原创 2021-11-14 19:07:16 · 1522 阅读 · 0 评论 -
用来平滑和标记异常点的简单脚本
一维平滑:Iterative Smoother和高斯过程Iterative Smoother:来自这篇论文高斯过程:来自scikit-learn代码如下:import numpy as npimport matplotlib.pyplot as pltfrom numba import njit, prangefrom astropy.cosmology import Planck15 as plk15from sklearn.gaussian_process import Gaussian原创 2021-11-28 14:34:07 · 979 阅读 · 0 评论