代码库
FurenDeng
这个作者很懒,什么都没留下…
展开
-
一些关于线性代数的程序
一些关于线性代数的程序原创 2021-12-29 16:31:49 · 841 阅读 · 0 评论 -
mpi4py的wrapper
mpi4py的wrapper 给mpi4py写了个wrapper。包括并行写入,对于numpy array的split并scatter,应该会持续更新,加入新功能。 import h5py as h5 from mpi4py import MPI import time import numpy as np mpi_comm = MPI.COMM_WORLD mpi_size = mpi_comm.Get_size() mpi_rank = mpi_comm.Get_rank() def process原创 2021-12-15 20:50:22 · 1752 阅读 · 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 · 1699 阅读 · 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 · 1108 阅读 · 1 评论 -
用来快速检查hdf5,npy和npz文件的Python脚本
用来快速检查hdf5文件的Python脚本 import h5py as h5 import sys filename = 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 · 518 阅读 · 0 评论 -
使用fft对相位进行unwrap
使用fft对相位进行unwrap 如果复数相位是另一个量,例如频率的线性函数,而我们想对相位进行直线拟合,那么我们首先需要对相位进行unwrap,然后才能进行拟合。numpy.unwrap可以对角度进行unwrap,但是如果有大段的数据缺失,numpy.unwrap会失效,我利用fft弄了一种新的unwrap的方法,如下: import numpy as np import matplotlib.pyplot as plt from scipy.signal import find_peaks def f原创 2021-11-11 18:44:40 · 1733 阅读 · 0 评论 -
numpy.gradient的逆操作
numpy求导的逆操作 numpy.gradient可以对函数进行求导,在设置edge_order=1时其逆操作可以由以下代码实现。改写自stackoverflow的回答。该程序仅适用于一维导数且dx为常数的情况,但是可以指定axis: import numpy as np def 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 · 1384 阅读 · 0 评论 -
给定一维随机分布生成随机数
给定一维随机分布生成随机数 假设概率分布为f(x),其CDF为g(x),我们不加证明的给出,产生[0, 1)之间的随机数,并将其输入g(x)的反函数,得到的值服从f(x)分布,实现的代码如下: import numpy as np from scipy.interpolate import interp1d, UnivariateSpline from scipy.integrate import cumtrapz, trapz #import matplotlib.pyplot as plt def原创 2021-11-14 19:07:16 · 1558 阅读 · 0 评论 -
用来平滑和标记异常点的简单脚本
一维平滑:Iterative Smoother和高斯过程 Iterative Smoother:来自这篇论文 高斯过程:来自scikit-learn 代码如下: import numpy as np import matplotlib.pyplot as plt from numba import njit, prange from astropy.cosmology import Planck15 as plk15 from sklearn.gaussian_process import Gaussian原创 2021-11-28 14:34:07 · 1017 阅读 · 0 评论