三对角线性方程组(tridiagonal systems of equations)   三对角线性方程组,对于熟悉数值分析的同学来说,并不陌生,它经常出现在微分方程的数值求解和三次样条函数的插值问题中.三对角线性方程组可描述为以下方程组: \[a_{i}x_{i-1}+b_{i}x_{i}+c_{i}x_{i+1}=d_{i}\] 其中\(1\leq i \leq n, a_{1}=0, c_{n}=0.\) 以上方程组写成矩阵形式为\(Ax=d\),即: \[ {\begin{bmatrix…
转载http://www.cnblogs.com/xpvincent/archive/2013/01/25/2877411.html 做三次样条曲线时,需要解三对角矩阵(Tridiagonal Matrices).常用解法为Thomas Algorithm,又叫The tridiagonal matrix algorithm (TDMA).它是一种基于高斯消元法的算法, 分为两个阶段:向前消元forward elimination和回代backward substitution.本文以一个6乘6…
Sherman-Morrison公式   Sherman-Morrison公式以 Jack Sherman 和 Winifred J. Morrison命名,在线性代数中,是求解逆矩阵的一种方法.本篇博客将介绍该公式及其应用,首先我们来看一下该公式的内容及其证明.   (Sherman-Morrison公式)假设\(A\in\mathbb{R}^{n\times n}\)为可逆矩阵,\(u,v\in\mathbb{R}^{n}\)为列向量,则\(A+uv^{T}\)可逆当且仅当\(1+v^{T}…
一,要解决的问题 选用合适的算法,求解三种线性方程组:一般线性方程组,对称正定方程组,三对角线性方程组. 方程略. 二,数值方法 1,使用Guass列主元消去法求解一般线性方程组. Guass列主元是为了防止Guass消去法中大数吃掉小数而引出的一种线性方程组求解方法,消元时选用一列中绝对值最大的元素作为列主元素. 算法伪代码: 消元过程 回代过程 2,使用平方根法求解对称正定方程组 平方根法.它把系数矩阵(对称正定矩阵)表示成一个下三角矩阵L和其转置的乘积的分解.这样的分解又称为Cholesk…
我个人对基于物理的动画很感兴趣,最近在尝试阅读<Fluid Engine Development>,由于内容涉及太多的数学问题,而单纯学习数学又过于枯燥,难以坚持学习(我中途放弃好多次了),打算尝试通过编写博客总结知识的学习方法来学习. 在计算数值问题时,我们经常遇到线性方程,比如基于网格的流体模拟在求解扩散和压强,需要求解线性方程组. 线性方程组 线性方程组 \(\left\{ \begin{matrix} 2 * x - y =3 \\ -x + 2 * y = 6 \end{matrix…
2ed,  by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is less than 0.5 × 10$^{−p}$ .-P29Bisection Method的优点是计算次数(step)是确定的(interval<精度).后面介绍的算法的interval是不确定的, 所以什么时候结束计算呢?不知道.所以定义“stopping criteria’’来决定什么时候结束…
2ed,  by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is less than 0.5 × 10$^{−p}$ .-P29Bisection Method的优点是计算次数(step)是确定的(interval<精度).后面介绍的算法的interval是不确定的, 所以什么时候结束计算呢?不知道.所以定义“stopping criteria’’来决定什么时候结束…
https://www.maplesoft.com/products/maple/ Maple高级应用和经典实例: https://wenku.baidu.com/view/f24696210722192e4536f65d.html Maple高级应用和经典实例: http://vdisk.weibo.com/s/dbLrQxb6KthZA Maple是目前世界上最为通用的数学和工程计算软件之一,在数学和科学领域享有盛誉,有“数学家的软件”之称.Maple 在全球拥有数百万用户,被广泛地应用于科…
BLAS(Basic Linear Algebra Subprograms)是一组线性代数计算中通用的基本运算操作函数集合[1] .BLAS Technical (BLAST) Forum负责规范BLAS函数接口, 并在网站[1]公布一个由Fortran语言编写的BLAS库.这个Fortran版BLAS库通常被称为BLAS参考库(the reference implementation). BLAS参考库使用的算法能高效地给出正确的结果,但仍有许多优化潜力.要想获得更高的计算效率,可以使用优化的…
主要介绍MP(Matching Pursuits)算法和OMP(Orthogonal Matching Pursuit)算法[1],这两个算法尽管在90年代初就提出来了,但作为经典的算法,国内文献(可能有我没有搜索到)都仅描写叙述了算法步骤和简单的应用,并未对其进行详尽的分析,国外的文献还是分析的非常透彻,所以我结合自己的理解,来分析一下写到博客里,算作笔记. 1. 信号的稀疏表示(sparse representation of signals) 给定一个过完备字典矩阵,当中它的每列表示一种原…
前言: 最近打算稍微系统的学习下deep learing的一些理论知识,打算采用Andrew Ng的网页教程UFLDL Tutorial,据说这个教程写得浅显易懂,也不太长.不过在这这之前还是复习下machine learning的基础知识,见网页:http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=DeepLearning.内容其实很短,每小节就那么几分钟,且讲得非常棒. 教程中的一些术语: Model repr…
前言 本文是多元线性回归的练习,这里练习的是最简单的二元线性回归,参考斯坦福大学的教学网http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearning&doc=exercises/ex2/ex2.html.本题给出的是50个数据样本点,其中x为这50个小朋友到的年龄,年龄为2岁到8岁,年龄可有小数形式呈现.Y为这50个小朋友对应的身高,当然也是小数形式表示的.现在的问题是要根据这50个训练样本,估…
本文纯转载: 主要是想系统的跟tornadomeet的顺序走一遍deeplearning; 前言: 最近打算稍微系统的学习下deep learing的一些理论知识,打算采用Andrew Ng的网页教程UFLDL Tutorial,据说这个教程写得浅显易懂,也不太长.不过在这这之前还是复习下machine learning的基础知识,见网页:http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=DeepLearning…
http://blog.csdn.net/pipisorry/article/details/52227580 Statsmodels Statsmodels is a Python package that provides a complement to scipy for statistical computations including descriptive statistics and estimation of statistical models. statsmodels原名叫…
博客内容取材于:http://www.cnblogs.com/tornadomeet/archive/2012/06/24/2560261.html 参考资料: UFLDL wiki UFLDL Stanford tornadomeet博客整理得很好,欣赏这样的学习态度. 该博客基本取材于UFLDL,在两者取舍间还是选择按照tornadomeet博客的剧本走一遍. 因为大部分概念都已熟知,在此过一遍的意义在于查缺补漏,巩固基础. 该博客年初发现,如今我也有了这样的“博客导航”,这便是正能量的传播…
最近做了一个使用PETSc来求解线性方程组(Ax=b)的项目,把其中遇到的一些坑和解决方法记录下来.本文不介绍PETSc如何入门,而是给出一些能让PETSc运行得更快的编程细节.开始我只是简单地修改PETSc给出的范例,替换掉范例中的A和b,能正确运行但运行速度超级慢.后来进行了本文这些细节修改,性能达标,顺利交差了.具体的修改细节如下: 1. PETSc分为debug版本和nodebug版本.如果安装时不加--with-debugging=no选项,安装的就是debug版本.官方文档说node…
Time travel http://acm.hdu.edu.cn/showproblem.php?pid=4418 分析: 因为走到最后在折返,可以将区间复制一份,就变成了只往右走,012343210. 写出转移方程: $f[t] = 0$ $f[i] = p_1 \times (f[i +1] + 1) + p_2 \times (f[i +2] + 2) + \cdots$ $ =\sum\limits_{j=1}^{m}p_j \times (f[i + j] + j) $ $= \su…
现在机器学习算法在分类.回归.数据挖掘等问题上运用的十分广泛,对于初学者来说,可能一听到'算法'或其他的专属名词都感觉高深莫测,以致很多人望而却步,这让很多人在处理很多问题上失去了一个很有用的工具.机器学习的算法并没有那么高深,这里我就用最通俗的语言来细致解释算法的表达的意义,,并且很多人对程序的实现这一部分也会望而却步,网上固然有很多现成的程序,但是鉴于大部分没有注释,所以有时候需要花费很大的精力去解读程序,有时候甚至不得其解,这里我也会对每个讲解的算法的程序进行讲解,大部分是逐行讲解,务必做…
题目描述 Li Zhixiang have already been in “Friendship” ocean-going freighter for three months. The excitement has gradually disappeared. He stands on the board, holding the railing and watching the dazzling ocean in the sun silently. Day after day, the s…
8.02  Physics II (电磁学基础) Introduction to electromagnetism and electrostatics: electric charge, Coulomb's law, electric structure of matter; conductors and dielectrics. Concepts of electrostatic field and potential, electrostatic energy. Electric curr…
记录阅读论文的笔记. 摘要 总结: (1)CRYPTO 2019:The Communication Complexity of Threshold Private Set Intersection-2019:解读提出任何阈值PSI得通信复杂度为\(\Omega(T)\):基于FHE的两方阈值PSI通信复杂度为\(O(T)\),但计算消耗很大么:基于GC的了:两方阈值PSI得通信复杂度为\(O(T^3)\),并给出了一个通信复杂度为\(O(T^2)\)的基于AHE的两方阈值PSI协议. (2)本…
1. 最佳求解方案 Most efficient way to solve a system of linear equations 求解形如 Ax=b 的最佳方式 将 A 分解为三角矩阵,A=M1⋅M2 通过 M1⋅y=b 求解 y,使用 back substitution 通过 M2⋅x=y 求解 x,使用 back substitution 如果 A 为方阵,步骤 1 可以使用 LU 分解: 如果 A 非方阵,步骤 1 可以使用 QR 分解: 如果 A 是正定且不稀疏,步骤 1 可以使用…
线性代数中的一个核心思想就是矩阵分解,既将一个复杂的矩阵分解为更简单的矩阵的乘积.常见的有如下分解: LU分解:A=LU,A是m×n矩阵,L是m×m下三角矩阵,U是m×n阶梯形矩阵 QR分解: 秩分解:A=CD  ,  A是m×n矩阵,C是m×4矩阵,D是4×n矩阵. 奇异值分解:A=UDVT 谱分解: 在求解线性方程组中,一个核心的问题就是矩阵的LU分解,我们将一个矩阵A分解为两个更加简单的矩阵的复合LU,其中L是下三角矩阵,U是阶梯形矩阵.下三角矩阵和上三角矩阵具有非常良好的性质:Lx=y…
               本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 在前几篇关于Math.NET的博客中(见上面链接),主要是介绍了Math.NET中主要的数值功能,并进行了简单的矩阵向量计算例子,接着使用Math.NET的矩阵等对象,对3种常用的矩阵数据交换格式的读写.一方面可以了解Math.NET的使用,另一方面以后也可以直接读取和保存数据为这两种格式,给大家的…
原文:[原创]开源Math.NET基础数学类库使用(06)数值分析之线性方程组直接求解 开源Math.NET基础数学类库使用系列文章总目录:   1.开源.NET基础数学计算组件Math.NET(一)综合介绍    2.开源.NET基础数学计算组件Math.NET(二)矩阵向量计算    3.开源.NET基础数学计算组件Math.NET(三)C#解析Matlab的mat格式   4.开源.NET基础数学类库使用Math.NET(四)C#解析Matrix Marke数据格式   5.开源.NET基…
常用函数:det 计算矩阵的行列式的值inv 求矩阵的逆阵rank 求矩阵的秩[V D]=eig(A) 求矩阵A的特征值和特征向量poly 求矩阵的特征多项式rref 用初等变换将矩阵化成行阶梯形null(A,'r') 给出齐次线性方程组Ax=0 的基础解系fliplr 矩阵左右翻转flipud 矩阵上下翻转trace 求矩阵的迹diag 取得矩阵对角线元素 例子:1.矩阵函数的应用A=[3 -4 0; -1 5 2; 4 1 -6]det (A) %求矩阵的行列式的值rank (A) %求矩阵…
Python线性方程组求解 求解线性方程组比较简单,只需要用到一个函数(scipy.linalg.solve)就可以了.比如我们要求以下方程的解,这是一个非齐次线性方程组: 3x_1 + x_2 - 2x_3 = 5 x_1 - x_2 + 4x_3 = -2 2x_1 + 3x_3 = 2.5 import numpy as np from scipy.linalg import solve a = np.array([[3, 1, -2], [1, -1, 4], [2, 0, 3]]) b…
可参见这两个页面: 1. http://www.culatools.com/dense/lapack/ 2. http://www.netlib.org/lapack/lug/node1.html 根据实际需要,找到相应的程序,再去lapack中搜索该程序的源码来调用即可. 以求解超定线性方程组为例,它采用最小二乘法(Least Squares Routines)求解,使 最小,相应的程序有: Table 2.3: Driver routines for linear least squares…
题目链接: BZOJ: https://www.lydsy.com/JudgeOnline/problem.php?id=1477 POJ: https://cn.vjudge.net/problem/POJ-1061 题目描述: Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置.不过青蛙们都是…
前言 Numpy是一个很强大的python科学计算库.为了机器学习的须要.想深入研究一下Numpy库的使用方法.用这个系列的博客.记录下我的学习过程. 系列: Numpy库进阶教程(二) 正在持续更新 计算逆矩阵 numpy.linalg模块包括线性代数的函数.能够用来求矩阵的逆,求解线性方程组.求特征值及求解行列式. mat函数能够用来构造一个矩阵,传进去一个专用字符串,矩阵的行与行之间用分号隔开,行内的元素用空格隔开. import numpy as np A = np.mat("0 1 2…