Apple LLVM4.0已经支持了C11标准中的关键特性——泛型机制。尽管C11中的泛型机制比起C的来要显得简陋不少,但是在做库的时候仍然十分管用。 下面我们就来看一下C11标准中的泛型表达式。 C11中的泛型机制由关键字_Generic引出,其语法形式为: _…
Python实现:
import sympy
import numpy as npdef twoloop(s, y, rho, gk):n len(s) #向量序列的长度if n > 1 and type(gk)np.matrix:#h0是标量,而非矩阵h0 float((s[-1].T*y[-1])/(y[-1].T*y[-1]))elif n >1:h0 (s[-1]*y[-1])/(y[-1]*y[-1])…
1 算法特征:
利用函数 f ( x ⃗ ) f(\vec{x}) f(x )的1阶信息, 构造其近似的二阶Hessian矩阵. 结合Armijo Rule, 在最优化过程中达到超线性收敛的目的. 算法推导: 为书写方便, 引入如下两个符号 B B B、 D D D分别表示近似Hessian矩阵及其逆矩阵: { B ≈ H D ≈ H − 1 \begi…
BFGS
step 1.
根据泰勒公式,省略掉高阶项: f(x)≈f(xk1)∇f(xk1)⋅(x−xk1)12⋅(x−xk1)T⋅∇2f(xk1)⋅(x−xk1) f ( x ) ≈ f ( x k 1 ) ∇ f ( x k 1 ) ⋅ ( x − x k 1 ) 1 2 ⋅ ( x − x k 1 ) T ⋅ ∇ 2 f ( x k 1 ) ⋅ ( x − x k 1 ) 再…