the checker board
checker board classification example
the checker board
checker board classification example
Statistical Data Anlalysis
Particle Physicist
imperfect c++
Todd Veldhuizen
Blitz++ is a class library for scientific computing designed by Todd Veldhuizen
WHETHER C++ CAN BE FASTER THAN FORTRAN
Will C++ be faster than Fortran?
simple analogy
a good example about the difference of memory
Rybnikov
Object detection with deep learning and OpenCV
the main contributor to the dnn module for making deep learning so accessible from within the OpenCV library.
Geometry from the Land of Incas
Benoit Jacob
founder of Eigen project
Using C++ Trait Classes for Scientific Computing
C++ 泛型编程中的 Traits
Scientific Computing: An Introductory Survey
Distance from a point to a line segment
Lines and Distance of point to line
point: P
line_seg_start_point: P0
line_seg_end_point: P1
Robert Sedgewick
A = LL^* = U^*U
正定矩阵的标准 Cholesky 分解 $$A = LL^ = U^U$$
Gael Guennebaud
selfadjoint (hermitian) matrices
埃尔米特矩阵, 自伴随矩阵
$$A^H = A =\overline{A^T}$$
ECE133A - Applied Numerical Computing
seas = School of Engineering and Applied Sciences
QR factorization method is more stable
\(QR\) 分解更稳定
every positive definite matrixAhas positive diagonal elements
正定矩阵的主对角线上的元素是正数
gives a practical method for testing positive definiteness
Cholesky 分解给了一种判断矩阵正定的方法
positive semidefinite, but not positive definite, then it is singular
正半定矩阵是奇异的 $$ \begin{array}{rl} f(t) =& (x-tAx)^TA(x-tAx)\ =&-2t\Vert Ax\Vert^2 + t^2x^TA^3x \end{array} $$
Eigen is standard C++98 and so should theoretically be compatible with any compliant compiler.
C++ 98 标准
linting
语法检测功能
But online life makes me into a different kind of reader – a cynical one
但网络生活使我成为一种不同类型的读者, 一个犬儒的人。
All new algorithms in OpenCV are written in C++, so there are no benefits to use OpenCV 3.x in C programs.
OpenCV 3.x 的算法都是用 C++ 实现的
Can GitHub have a code annotation function?
if (app.metadata && app.metadata.has('dc:title') && app.metadata.get('dc:title') !== 'Untitled') { title = app.metadata.get('dc:title'); }
the empty dc:title
should also be considered as Untitled
While that allows you to use the string class, the relevant operator<< is defined in the <string> header itself, so you must include that manually
为什么有时候使用visual c++会提示 cout <<
不能输出 string
类型: 因为 <iostream>
包含了头文件 <xstring>
, 该头文件引入了 string
类型但是未引入 operator<<
Interprocess Synchronization
进程间同步使用同一个同步对象的多个句柄
Priority Scheduling
优先级调度
TheSJFalgorithm can be either preemptive or nonpreemptive.
SJF 可以是抢占的也可以是非抢占的
exponential average
SJF 调度使用之前CPU burst度量值的 指数平均 来预测下一个 burst
FCFSscheduling algorithm is nonpreemptive
FCFS 调度是非抢占的
Shortest-Job-First Scheduling
SJF: 最短任务优先调度
First-Come, First-Served Scheduling
FCFS: 先到先服务调度
short-term scheduler
也称为CPU调度程序, 完成的功能就是从内存中选择一个 ready 状态的进程开始执行, 并将CPU分配给该进程.
special hardware (for example, a timer) needed for preemptivescheduling.
抢占式调度通常需要一个特殊硬件, 如: 定时器
Operating System Concepts
Scheduling of this kind is a fundamental operating-system function.Almost all computer resources are scheduled before use
调度是操作系统的基本功能, 几乎所有的计算机资源在使用前均先调度
PCB
Process Control Blocks
Arrival Time (AT), Total CPU Time (TC), CPU Burst (CB) and IO Burst (IO)
进程对象仿真参数
first line defines the count of random numbers in the file
randfile
: 第一行定义文件中随机数的个数
One trick to deal with schedulers is to treat nonpreemptive scheduler as preemptive with very large quantum (10K is good for our simulation) that will never fire. This way the TRANS_TO_RUN transition is implemented generically.
将非抢占调度器当成抢占调度器处理
quantum 是什么
Some hints on structuring your program
编程建议
FCFS, LCFS, SJF, RR (RoundRobin), and PRIO (PriorityScheduler).
五个调度算法
Operating Systems CSCI-GA.2250-001 at NYU
Gavin Wood
An option character in this string can be followed by a colon (‘:’) to indicate that it takes a required argument
option character 后跟 :
表示该 option 带参数
...
...
is used to denote a possibly empty list
from the MiniJava type system
control-flow graph
CFG 控制流图
method body
method body 类型定义为: 语句序列 + return 语句
compiler structure; lexical and syntactic analysis; semantic analysis and code generation; theory of parsing
编译器需要学习的主题:
CS352: Compilers: princeples and practive
parser generator
JavaCC: parser generator
syntax tree builder
JTB: syntax tree builder
Visitor design pattern
访问者设计模式
Variable liveness analysis based on control flow graph
学习一下如果利用 liveness analysis 进行内存优化
syntax tree
what's a syntax tree?
程序分析
program analysis
先放个图直观感受一下什么是flow-sensitive
图片来源: page 12. Lec02-Dataflow of cs252 of harvard university
CS 252r: Advanced Topics in Programming Languages by Stephen Chong
Static Code Analysis
the MiniJava project
Backus-Naur Form (BNF) notation
name ::= expansion
<>
::=
terminal
|
width The intrinsic width of the image in pixels. In HTML 4, either a percentage or pixels were acceptable values. In HTML5, however, only pixels are acceptable.
HTML5
only accept pixels values of width
As of this writing, Markdown has no syntax for specifying the dimensions of an image; if this is important to you, you can simply use regular HTML <img> tags.
markdown 目前的语法不支持设置图片大小, 但可以通过一般的HTML 标签实现
disable [breakpoints]
禁用断点
-d|--disassemble
反汇编
Address locations indicate a specific program address. They have the generalized form *address.
gdb 在某个地址下断点: b \addr*
Modern Compiler Implementation in Java
I learned a lot of high-quality material efficiently, I got many new friends, and I increased my confidence in myself. Additionally, I learned about how to do high-quality teaching from attending lectures with excellent professors, I increased my respect for several professions, and I practiced leadership skills in some of the study groups.
学习的乐趣
计算机科学家学习MBA
The Java Tree Builder
JTB: JavaCC 的前端
CS 232 Static Program Analysis
Jens Palsberg, UCLA
Reading List for UCLA CS 232 Static Program Analysis
We are switching to the following text book Author: Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Title: Operating System Concepts
教材换了, 原来的是 Modern Operating Systems
Yu Zheng
郑宇
Hubertus Franke
Operating Systems CSCI-GA.2250-001 at NYU
Shuicheng Yan
颜水成
ACM distinguished members
哈佛大学操作系统课程
Szeliski and Shum, 1997
Creating full view panoramic image mosaics and environment maps, In Proceedings of SIGGRAPH'97, volume 31, pages 251-258 .
Homography from a pure rotation
只来自旋转的单应性
An Invitation to 3-D Vision From Images to Geometric Models, 2004
H.C. Longuet-Higgins
CVPR Longuet-Huggins prize
A Richer Picture of Mathematics The Göttingen Tradition and Beyond, 2018
适用条件
拼接的适用条件
增大视域
视域的比较
(θ,h)
柱面坐标为 \((\theta, h)\)
Fig. 2.6
柱面投影
Richard Szeliski, Image Alignment and Stitching: A Tutorial, 2006
In a let expression, the initial values are computed before any of the variables become bound.
let binding 先在当前环境中计算所有 init 表达式的值, 再 bind varible, 最后在扩展的环境中计算 expression
let* 按顺序依次计算 init 并进行 binding
letrec 则先 binding 后再计算 init 允许递归定义
Scheme pairs is the “dotted” notation (c1 . c2)
Scheme 中 pair 的记号
statically scoped language
scheme 是静态作用域编程语言
Oz
白翔, 华中科技大学
In practice the tool is akin to the annotation systems on sites like medium.com and ReadCube
Hypothesis 类似于(akin to) ReadCube 和 medium 网站上的标注系统
eLife replaces commenting system with Hypothesis annotations
eLife 采用Hypothesis替代原来的评论系统
Figure 2.1.
中心投影 (central projection)
从中心点 \(C\) 将平面 \(\Psi\) 投影到平面 \(\Pi\) 上
the symbol "v" will be used for a generated line or plane;
两点相连成直线的记号 \(P\vee Q\)
The symbol "^" will be used to denote intersection
两条直线相交的记号 \(a\wedge b\)
the "Princeps Mathematicae", F. Gauss (1777-1855)
数学王子 高斯
A more concise mathematical investigation on projective geometry was started by G. Desargues (1593-1662). It was he who has introduced the notion of a point and a line at infinity.
Desargues 笛沙格引入了无穷远点和无穷远线
The Use of Projective Geometry in Computer Graphics
Chapter 2: 射影几何的一般性介绍
浙大计算摄像学课程
计算机图形学 (TAMU) by 柴金祥
wikis and concept maps
TiddlyMap = wikis + concept maps
两幅柱面图像的一个平移变换
柱面变换后的图像之间相差只有一个平移变换
平面场景和相机旋转拍摄时, 两张图片间存在一个 Homography
柴金祥 (MSRA第一篇siggraph的第一作者 现在在TAMU)