Biopython
{{Infobox software | title = Biopython | logo = Biopython logo.png | author = Chapman B, Chang J 其中包含表示生物序列和序列注释的类,且能够读取和写入多种文件格式。它还允许通过编程访问在线的生物学数据库,例如美国国家生物技术信息中心(NCBI)数据库。单独模块还能使Biopython的功能扩展到序列比對、蛋白质结构、群体遗传学、系统发生学、序…
共 15 篇文章
{{Infobox software | title = Biopython | logo = Biopython logo.png | author = Chapman B, Chang J 其中包含表示生物序列和序列注释的类,且能够读取和写入多种文件格式。它还允许通过编程访问在线的生物学数据库,例如美国国家生物技术信息中心(NCBI)数据库。单独模块还能使Biopython的功能扩展到序列比對、蛋白质结构、群体遗传学、系统发生学、序…
在数学中,蒙特卡罗积分(Monte Carlo integration)是一种使用随机数进行数值积分的技术。它是一种特殊的蒙特卡罗方法,可对定积分进行数值计算。其他算法通常在规则网格上评估被积函数,而蒙特卡洛随机选择被积函数评估的点。 该方法对于高维积分特别有用。 进行蒙特卡罗积分的方法有多种,例如均匀采样、分层采样、重要性采样、顺序蒙特卡罗(也称为粒子滤波器)和平均场粒子方法。 概述 在数值积分中,梯形法则等方法使用确定性方法。另一方…
福特-富尔克森方法(),又稱福特-富尔克森算法(),是一类计算网络流的最大流的贪心算法。之所以称之为“方法”而不是“算法”,是因为它寻找增广路径的方式并不是完全确定的,而是有几种不同时间复杂度的实现方式。它在1956年由小萊斯特·倫道夫·福特及德爾伯特·雷·富爾克森发表。“福特-富尔克森”这个名词通常也指代埃德蒙兹-卡普算法,这是一个特殊的福特-富尔克森算法实现。 算法的思想如下:只要有一条从源点(开始节点)到汇点(结束节点)的路径,在…
]] 在數學上,二項式係數是二項式定理中各項的係數。一般而言,二項式係數由兩個非負整數n和k為參數決定,寫作 \tbinom nk ,定義為 (1+x)^n的多項式展開式中,x^k項的係數,因此一定是非負整數。如果將二項式係數 \binom{n}{0},\binom{n}{1},\dots ,\binom{n}{n}寫成一行,再依照 n=0,1,2,\dots順序由上往下排列,則構成帕斯卡三角形。 二項式係數常見於各數學領域中,尤其是組…
尼姆游戏(),又譯為拈,是一种两个人玩的回合制数学战略游戏。游戏者轮流从幾排棋子(或者任何道具)中選擇一排,再由這一排中取走一个或者多个,依規則不同,拿走最後一個的可能是输家,也有可能是贏家。当指定相应数量时,一堆这样的棋子称作一个尼姆堆。古代就有許多尼姆游戏的變體。最早歐洲有關尼姆游戏的參考資料是在16世紀,目前使用的名稱是由哈佛大学的Charles L. Bouton命名,他也在1901年提出了此遊戲的完整理論,不過沒有說明名稱的由…
欧拉-丸山法()是用数值求解随机微分方程(SDE)的方法,是欧拉法求解常微分方程(ODE)在随机微分方程上的推广。此方法以欧拉和日本数学家丸山仪四郎命名。 考虑如下随机微分方程(见伊藤积分) :\mathrm{d} X_t = a(X_t) \, \mathrm{d} t + b(X_t) \, \mathrm{d} W_t, 以及给定的初始条件X_0 = x_0,其中W_t代表维纳过程,假定我们要求解在时间区间[0,T]上的此方程,则…
備忘錄模式(),是一种软件设计模式,它在不違反封裝的前提下,捕獲並外部化一個物件的內部狀態,使得以後可以將物件回復到其先前的状态(撤消變更),使用此模式的例子還有版本控制,以及自定义序列化。 概述 備忘錄設計模式是著名的《設計模式:可復用物件導向軟體的基礎》所收錄的二十三個模式之一。此書描述了如何解決常見的設計問题,以設計出彈性且異重用的物件導向软件(亦即更容易實現、更改、测试、维护和重用的物件)。備忘錄模式是由Noah Thompso…
数值线性代数中,逐次超松弛(successive over-relaxation,SOR)迭代法是高斯-赛德尔迭代的一种变体,用于求解线性方程组。类似方法也可用于任何缓慢收敛的迭代过程。 SOR迭代法由David M. Young Jr.和Stanley P. Frankel在1950年同时独立提出,目的是在计算机上自动求解线性方程组。之前,人们已经为计算员的计算开发过超松弛法,如刘易斯·弗赖伊·理查森的方法以及R. V. Southw…
SageMath(曾叫做Sage或SAGE,为“System for Algebra and Geometry Experimentation”的首字母缩写),是一个覆盖许多数学功能的应用软件,包括代数、组合数学、图论、计算数学、数论、微积分和统计。 SAGE的第一个版本在GNU许可证下发布于2005年2月24日,最初的目标是创造一个“Magma、Maple、Mathematica和MATLAB的开源替代品”。Sage的主导开发人员威廉…
计算机编程的统一访问原则()是由伯特蘭·邁耶在《》中提出。它指出“一个模块提供的所有服务都应该通过统一的符号提供,与它们是通过存储还是通过计算实现无关”。这个原则普遍适用于面向对象编程语言的语法。使用属性、预先计算的属性或对象的方法/查询实现,调用时没有语法差异。 虽然大多数示例都聚焦在该原则的“读取”方面(即检索值),但伯特蘭·邁耶表示,该原则“写入”(即修改值)方面更难实现。 解释 伯特蘭·邁耶解决的问题涉及大型软件项目或软件库的维…
SymPy是一个符号计算的Python库。它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展。它完全由Python语言写成,不依赖于外部库。 SymPy支持符号计算、高精度计算、模式匹配、绘图、解方程、微积分、组合数学、离散数学、几何学、概率与统计、物理学等方面的功能。 SymPy在新BSD许可证下开源。 用例 求f(x) = \frac{x^2+2x+1+(3x+1)\sqrt{x+\ln x}}{x\,\sq…
在计算机科学中, 变异子方法(mutator或setter)是一种用于控制变量更改的方法。通常,变异子伴随着访问子 (accessor或getter)返回私有成员变量的值。 变异子方法最常用于面向对象的编程封装,与封装原则保持一致。根据这个原则,类的成员变量被设为私有以隐藏和保护它们不受其他代码的影响,并且只能由公共成员函数(变异子方法)修改,该函数将所需的新值作为参数來修改私有成员变量。可以将变异子方法与赋值运算符重载进行比较。 变异…
在数学上,广义最小残量方法(一般简称GMRES)是一个求解线性方程组 数值解的迭代方法。这个方法利用在Krylov子空间中有着最小残量的向量来逼近解。Arnoldi迭代方法被用来求解这个向量。 GMRES方法由Yousef Saad和Martin H. Schultz在1986年提出。 GMRES方法 需要求解的线性方程组记为 : Ax = b \, 。 假设矩阵A是n\timesn阶的可逆的。进一步,假设b是标准化的,即||b|| =…
球面線性插值(,通常簡稱),是四元數的一種線性插值運算,主要用於在兩個表示旋轉的四元數之間平滑差值。 外部链接 Ken Shoemake. [https://web.archive.org/web/20121004002406/http://run.usc.edu/cs520-s12/assign2/p245-shoemake.pdf Animating rotation with quaternion curves]. Erik B.…
在面向对象程序设计中,成员变量(有时称为成员字段)是与特定对象相关联的变量,并且特定对象的所有方法(成员函数)均能访问該變量。 例子 C++ class Foo { int bar; // Member variable public: void setBar(const int newBar) { bar = newBar; } }; int main () { Foo rect; // Local variable return 0…