10935 梯度、散度、旋度、Jacobian、Hessian、Laplacian 的关系图
一、入门 图中的细实线箭头表示了四种一阶微分运算,包括梯度、散度、旋度和 Jacobian。每条箭头的起点表示了相应运算的自变量的类型,终点表示了相应运算的因变量的类型,例如梯度运算是作用在标量上的,结果是向量。图中的「向量」默认为列向量。 这四种…
10898 求质数表的n种境界——知乎Live预告
求质数表是一道常见的编程入门题目,也是一道经典的码农面试题。很多人都学过「试除法」和「筛法」两种方法。不过你可曾想过,这两种基本方法里,还有多少水分可以挤呢? 我在寒假中研究了 9 种求质数表的算法,想用知乎 live 的形式与大家分享。由于一口吃…
10897 如何不重复地枚举 24 点算式?(下)
本系列的中篇暂时忽略了减法和除法,介绍了如何避免交换律、结合律、独立运算顺序不唯一造成的重复。本文将重新引入减法和除法,研究如何避免「去括号」和「反转减号」造成的重复。其中,「反转减号」的处理尤为困难。 首先,我们把减法和除法重新加入 acti…
10897 如何不重复地枚举 24 点算式?(中)
本系列的上篇介绍了枚举由 n 个变量组成的四则运算式的方法,并指出了算式重复的五种原因:交换律、结合律、去括号、反转减号、独立运算的顺序不唯一。其中,「反转减号」涉及减法,「去括号」涉及减法与除法,我们放到下篇讨论。这一篇文章,就来研究如何…
10897 如何不重复地枚举 24 点算式?(上)
「24 点」是一个历史悠久的游戏:任取 4 张扑克牌,如何用「加、减、乘、除」运算算出 24?除了作为消遣,它还是一道经典的编程入门题,其基本思路是:枚举所有可能的算式,逐个检验结果是否等于 24。 在这一系列专栏中,我们忽略「24」,而把目光聚焦在「…
10877 「人耳对相位不敏感」到底是什么意思(续)
写完了上、下两篇后,我又想到了一个有趣的数学问题,于是就再写下这篇「续」。 在下篇的第一、二节,我把滤波器的相位响应分成了「群延时」和「净相移」两部分。如果一个滤波器的相位响应为 \Delta\phi(\omega) ,则它的群延时为\tau_g(\omega) = -\frac{\…
10877 「人耳对相位不敏感」到底是什么意思(下)
. 上一篇文章阐释了「人耳对相位不敏感」的一般含义:对乐音的各次谐波分别进行独立的相移,人耳并不会觉察到任何变化。这篇文章就来研究一下,如何以一段真实声音为材料,通过人为修改其频谱的方法,达到「对乐音的各次谐波进行独立相移」的效果,从而证明…
10877 「人耳对相位不敏感」到底是什么意思(上)
学过声音信号处理的人,大都听说过一句话,叫「人耳对相位不敏感」。但这句话的准确含义到底是什么呢? 几个月前,知乎上曾经有这样一个问题:如何用 Matlab 证明人耳对声音的相位不敏感?有好几位答主(包括我自己)用不同的方法做出了回答,可谓百花齐放…
10861 一小时入门韩语汉字音——知乎Live预告
大家好!2 月 9 / 10 号,我将举办我的第二场知乎 Live ——「一小时入门韩语汉字音」。一小时入门韩语汉字音 韩语中有大量的汉字词。这些汉字词的发音来自中古汉语,有些与普通话比较相似,但也有些相差甚远,让初学者迷惑。在本次 Live 中,我会介绍韩语…
10859 在 glibc < 2.17 的系统上安装 TensorFlow
目前,TensorFlow 依赖于 glibc 2.17 以上的版本。但在有些超级计算机集群上,操作系统比较老旧,glibc 的版本达不到要求,但一般用户又没有权限升级。在一般情况下,用户可以把这种被依赖的软件安装到自己的 home 目录下,并把软件的安装目录添加到 LD_LIB…
10853 求质数表的n种境界——BitTiger讲座预告
求质数表是一道常见的编程入门题目,也是一道经典的码农面试题。很多人都学过「试除法」和「筛法」两种方法。不过你可曾想过,这两种基本方法里,还有多少水分可以挤呢? 在下周的 BitTiger 讲座里,我会一层一层地带大家领略求质数表的 n 种境界。我一共准…
企业级nosql数据库应用与实战-redis
一、NoSQL简介1.1常见的优化思路和方向1.1.1MySQL主从读写分离由于数据库的写入压力增加,Memcached只能缓解数据库的读取压力。读写集中在一个数据库上让数据库不堪重负,大部分网站开始使用主从复制技术达到读写分离,以提高读写性能和读库的可扩展性。Mysql的master-slave模
Linux企业运维人员必备150个命令汇总
命令功能说明线上查询及帮助命令(2个)man查看命令帮助,命令的词典,更复杂的还有info,但不常用。help查看Linux内置命令的帮助,比如cd命令。文件和目录操作命令(18个)ls全拼list,功能是列出目录的内容及其内容属性信息。cd全拼changedirectory,功能是从当前工作目录切
自动化运维工具——puppet详解(二)
一、class类1)什么是类?类是puppet中命名的代码模块,常用于定义一组通用目标的资源,可在puppet全局调用;类可以被继承,也可以包含子类;具体定义的语法如下:classNAME{...puppetcode...}其中,在我们定义的时候,需要注意的是:类的名称只能以小写字母开头,可以包含小
自动化运维工具——puppet详解(一)
一、puppet介绍1、puppet是什么puppet是一个IT基础设施自动化管理工具,它能够帮助系统管理员管理基础设施的整个生命周期:供应(provisioning)、配置(configuration)、联动(orchestration)及报告(reporting)。基于puppet,可实现自动化
自动化运维工具——ansible详解(二)
Ansibleplaybook简介playbook是ansible用于配置,部署,和管理被控节点的剧本。通过playbook的详细描述,执行其中的一系列tasks,可以让远端主机达到预期的状态。playbook就像Ansible控制器给被控节点列出的的一系列to-do-list,而被控节点必须要完成
10811 一种错误的洗牌算法,以及乱排常数 (3)
这一系列的第一篇文章说到,用插入排序 + 随机比较实现洗牌,在元素较多时,每个元素留在原位的概率趋于一个常数 C \approx 0.220643036096533,我称之为「乱排常数」;第二篇文章为这个常数找到了一个略复杂的数学表达式:C = \prod_{i=1}^\infty (1 - 2^{…
10810 一种错误的洗牌算法,以及乱排常数 (2)
. 上一篇说到,用插入排序 + 随机比较实现洗牌,其结果是不均匀的,各个元素留在原位的概率比较大。当元素个数较多时,除了开头和结尾几个元素,每个元素留在原位的概率都趋于一个常数 C \approx 0.220643036096533,我称之为「乱排常数」。这一篇就来试着…
10809 一种错误的洗牌算法,以及乱排常数 (1)
「洗牌」,或者说随机打乱一个数组中元素的顺序,是编程中的一个常见需求。标准的洗牌算法是 Fisher-Yates shuffle,用 JavaScript 实现如下:function shuffle(A) { for (var i = A.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + …
10784 小算法题,大应用:如何「掰平」一个不单调的序列?
序: 这篇文章的内容跟上一篇是一模一样的,只不过调换了两部分的顺序,以更好地吸引读者。 其实在写上一篇的时候,我就反复思考过两部分的顺序问题,最终做出了错误的决定 >_< 这两篇文章的对比,可以作为如何写科普文的一个教材 :D Matlab 作为一个强大的…