#cs #math markov 链 BV1xa4y1w7aT https://www.youtube.com/watch?v=i3AkTO9HLXo&t=1s
#algorithm 随机游走 、稳态矩阵
#algorithm 随机游走 、稳态矩阵
duangsuse::Echo
#sql DFS搜索 像素图填色 in Prolog btw. fill(_,X) 是 “从任意一点探索区域X , 一共能收集到多少X” v(P,0) : 查询颜色是0的P=[X,Y] conn([2,1], P1) : (2,1)=0 四邻里 0值格的座标们 不知为何很慢 看起来好像简短了,实际只是省掉 if 和解构的代码量 😒 有趣的是,conn(四邻) 是基于 |X-x|+|Y-y|=1 的参数方程(GL常用),而非 x+1,y+1 直接迭代,所以 dfs :- C=conn(A),dfs(C)…
#math #algorithm Gauss消元 可以用来解鸡兔同笼、化学分子式等方程组😅
(#bing 第一遍就能用了,但还是有5小时“确认” 算法,最后大体没改
(没错,”大无语事件“,数 学 家 们的代码太乱了,bing都不知道谁是正确…… 我甚至无法证明
—
无语了,你看不懂的信息能不能不要过滤掉? 广度和深度都挺重要 OK?
如果我致力于用100行描述好本质10行的一些组件流程,我也能很有信息量
但是也要去写实质上值得100行的算法和思想的, 不能因为“没功能” 就耽搁掉
不要把设计的创作者和 CS Math 毕业生混为一谈,实现功能算法和设计做法是意义不同的
ice1k 的中文博客都删了,而且看我你至少能复制到base64,fft, 缩进解析, parse(x).toString 这些罕见功能模板……
(不过有时觉得自己很像 GPT ,写的许多代码根本没有运行过,都只是看起来正确
我想锐评几个数学文档:
- wikiZH 除了注释🙉都看不懂,自然语言噪声的极限。 所以矩阵是否有要求 n==m 啊?
- wiki 伪代码的VB式循环。 A[i, k] = 0 是啥?不该用 -= 吗
- OI wiki 根本看不懂公式和 C++ 有啥联系. L7-L13 是一段查k=max() 的面条代码🤮, EPS 是浮点误差,这和消元有个?关系
- bing 一会说 n<=m 也行,一会把 A,b 分开操作,突然又用单参数, 最后才发现 A|b = 单增广矩阵,A必须是正方
(#bing 第一遍就能用了,但还是有5小时“确认” 算法,最后大体没改
# 对系数组A,进行高斯消元求 Ax '=b'
def elim(A, b):
M = np.hstack((A, b.reshape(-1, 1))) # M=(A|常数项b)
n, m = A.shape; assert n==m, "没有唯一解"
# 向下找j格最强的行,换为本行
for j in range(n):
i=np.argmax(abs(M[j:, j]))+j; assert M[i,j]!=0, "主元为零"
if i!=j: #; ij=(行ji)
M[[i,j]] = M[[j,i]]
# j归一,将下行的j格消为 0
M[j] /= M[j, j]
for i in range(j + 1, n):
M[i] -= M[i,j]* M[j]
就只添加了「逆序代入」、确认了「向下归一」化简了😅 M[i] -=m[j]*M[i,j] / M[j,j]
(没错,”大无语事件“,数 学 家 们的代码太乱了,bing都不知道谁是正确…… 我甚至无法证明
逆序带入“不就是” M[:, -1]
也倒了很多苦水,包括在kt讨论组—
无语了,你看不懂的信息能不能不要过滤掉? 广度和深度都挺重要 OK?
如果我致力于用100行描述好本质10行的一些组件流程,我也能很有信息量
但是也要去写实质上值得100行的算法和思想的, 不能因为“没功能” 就耽搁掉
不要把设计的创作者和 CS Math 毕业生混为一谈,实现功能算法和设计做法是意义不同的
ice1k 的中文博客都删了,而且看我你至少能复制到base64,fft, 缩进解析, parse(x).toString 这些罕见功能模板……
(不过有时觉得自己很像 GPT ,写的许多代码根本没有运行过,都只是看起来正确
我想锐评几个数学文档:
- wikiZH 除了注释🙉都看不懂,自然语言噪声的极限。 所以矩阵是否有要求 n==m 啊?
- wiki 伪代码的VB式循环。 A[i, k] = 0 是啥?不该用 -= 吗
- OI wiki 根本看不懂公式和 C++ 有啥联系. L7-L13 是一段查k=max() 的面条代码🤮, EPS 是浮点误差,这和消元有个?关系
- bing 一会说 n<=m 也行,一会把 A,b 分开操作,突然又用单参数, 最后才发现 A|b = 单增广矩阵,A必须是正方
Telegram
duangsues.is_a? SaltedFish
我真的不想吐槽数学和某些程序员的 xywh ijnm 定义了。我眼里 nm=hw, ij=yx ,是和书写、访问顺序对应的,但是资料说 x行y格, j行j格
随地for ijkhl 的面条代码,把我整困惑了,数学家是否连Excel、物理行向量的模型都没统一好?
而且看到很多版本的,有用点乘支持b(常数)矩阵,但变量名完全不一样
def elim(arg):
n,m = arg.shape; assert n<=m, "没有唯一解"
for j in range(n):
# 找到j…
随地for ijkhl 的面条代码,把我整困惑了,数学家是否连Excel、物理行向量的模型都没统一好?
而且看到很多版本的,有用点乘支持b(常数)矩阵,但变量名完全不一样
def elim(arg):
n,m = arg.shape; assert n<=m, "没有唯一解"
for j in range(n):
# 找到j…
duangsuse::Echo
#math #algorithm Gauss消元 可以用来解鸡兔同笼、化学分子式等方程组😅 (#bing 第一遍就能用了,但还是有5小时“确认” 算法,最后大体没改 # 对系数组A,进行高斯消元求 Ax '=b' def elim(A, b): M = np.hstack((A, b.reshape(-1, 1))) # M=(A|常数项b) n, m = A.shape; assert n==m, "没有唯一解" # 向下找j格最强的行,换为本行 for j in range(n):…
#math 🥰我只能说 GPT3 的代码可读性是 math/OI wiki 的3倍以上,默认就会使用 numpy 和函数移植
#bing 就蠢一些了(被不标准做法迷惑, 1个小片段3种写法..)
那些人,连手动推导的示例都不会举,喜欢手推一些算法可视化级的复杂、无边界情况的用例,把AI的工作都给抢了
摆出没有心智模型的公式,浪费读者理解算法的时间;多废的人才会在「不知道想干嘛」的情况下列公式啊??
#py #code 鸡兔的解为: [23. 12.]
可以解析,或随机测试
#bing 就蠢一些了(被不标准做法迷惑, 1个小片段3种写法..)
那些人,连手动推导的示例都不会举,喜欢手推一些算法可视化级的复杂、无边界情况的用例,把AI的工作都给抢了
摆出没有心智模型的公式,浪费读者理解算法的时间;多废的人才会在「不知道想干嘛」的情况下列公式啊??
#py #code 鸡兔的解为: [23. 12.]
# 进行高斯消元求 Ax=b, Ax互为系数若有一项
def elim(A, b):
M = np.hstack((A, b.reshape(-1, 1))) # M=(A|常数b)
n, m = A.shape; assert n==m, "没有唯一解"
# 向下找j格最强的行,换为'j'行(即阶梯格式)
for j in range(m):
i=np.argmax(abs(M[j:, j]))+j
if i!=j: M[[i,j]] = M[[j,i]] #ij=(行ji)
if (x:=M[j,j])==0: continue
# j行的主元’x'归一,所以此后的行消x
M[j] /= x
for i in range(j+1, n):
M[i] -= M[j]* M[i,j]#x的数量
# 重新代入
x = np.zeros(m)
for j in reversed(range(m)): # x=(解m - 右:数量y*解y的和)/x的数量'1'
y = np.dot(M[j, j+1:m], x[j+1:])
x[j] = (M[j,m] - y) / M[j, j]
return x
#x + y = 35, 2x + 4y = 94
print("鸡兔的解为:", elim(
np.array([[1.]*2, [2.,4]]), np.array([35,94]) ))
M[j,j]=0: M[j,-1]
非0则无解,否则为无穷解;可以解析,或随机测试
quickCheck(elim, lp.solve, lambda n: (rand(n, n) , rand(n) ) )
# 一般都是用Sympy当Matlab的
import numpy as np
import numpy.linalg as lp, sympy as sp
x, y = symbols('x, y')
eq = [
x + y - 35,
2*x + 4*y - 94] #linear_eq_to_matrix;hstack 就是
[[ 1., 1., 35.],
[ 2., 4., 94.]]
duangsuse::Echo
#math 🥰我只能说 GPT3 的代码可读性是 math/OI wiki 的3倍以上,默认就会使用 numpy 和函数移植 #bing 就蠢一些了(被不标准做法迷惑, 1个小片段3种写法..) 那些人,连手动推导的示例都不会举,喜欢手推一些算法可视化级的复杂、无边界情况的用例,把AI的工作都给抢了 摆出没有心智模型的公式,浪费读者理解算法的时间;多废的人才会在「不知道想干嘛」的情况下列公式啊?? #py #code 鸡兔的解为: [23. 12.] # 进行高斯消元求 Ax=b, Ax互为系数 def…
#math #dalao 补充:删掉[重新带入] 可行,但不兼容无穷解;称为 高斯-约旦法 😅 熬夜看一群示例复杂、半通不通的三脚猫的代码文档,因为算法差异而困扰.. 有点生气
j行的主元’x'归一,其他的行(或其后 j+1~~n行,再回代以容许x==0) 消x
j=0, 向下找j格最强的行,换为'j'行
若需要回代(47-2*12 = 23啥的),在这就停止
j=1,重复
elim([ # [x + y - 35, 2*x + 4*y - 94]
[1 1 35]
[2 4 94]
])
这是方程组的矩阵版,xy 编号为 j。逐行i化为'关于j=i': M[i]/=M[i,j]
,其他行消去j: M[I] -= mi*M[I,j]#系数
即得=
[1 0 23]
[0 1 12]
示例: j=0~~m, 向下找j格最强的行,换为'j'行j行的主元’x'归一,其他的行(或其后 j+1~~n行,再回代以容许x==0) 消x
j=0, 向下找j格最强的行,换为'j'行
[2 4 94]
[1 1 35]
j行的主元’x'归一,[1 2 47]
[1 1 35]
所以其他的行消x[1 2 47]
[0 1 12]
行1 减 行j *1若需要回代(47-2*12 = 23啥的),在这就停止
j=1,重复
[1 2 47]
[0 1 12]
[1 0 23]
行0 减 行j *0.5[0 1 12]
所得阶梯矩阵 M[:, -1]
即 [x=23. y=12.], 鸡兔同笼得解GitHub
Share/Gauss-Jordan-elimination/Gauss-Jordan-elimination.pdf at master · duangsuse-valid-projects/Share
🐕 duangsuse's shared files(e.g. productive software projects, documents) - duangsuse-valid-projects/Share
duangsuse::Echo
#math #dalao 补充:删掉[重新带入] 可行,但不兼容无穷解;称为 高斯-约旦法 😅 熬夜看一群示例复杂、半通不通的三脚猫的代码文档,因为算法差异而困扰.. 有点生气 elim([ # [x + y - 35, 2*x + 4*y - 94] [1 1 35] [2 4 94] ]) 这是方程组的矩阵版,xy 编号为 j。逐行i化为'关于j=i': M[i]/=M[i,j],其他行消去j: M[I] -= mi*M[I,j]#系数 即得= [1 0 23] [0 1 12] 示例: j=0~~m…
#learn #math Fourier Transform
的输入必须是2,3维向量:可以用于简化 svg path ✏️
FT是把yMax个频 的sin(cos,基频), 逐y与波形加权求差(np .dot),得到"左右对称"的直方图 (频谱图里纵向的1px 线)
(FFT以此优化. 直方含有"相位",默认为wav+0j,也能被vocoder推出来)
@3b1b 称此为“把sin(yt)缠绕在零点”,频率y=1时当然是振幅1相位0的小圈
复数乘法=向量旋转+缩放
隐函数=热力图(着色灰度图)经过 np.where(p==0) 的黑白化
参数函数=for t循环
Mandelbrot,Julia=对复数+xy做迭代的热力图
kD树
quadtree 四分象限树/八叉树,与kD类似但1次分成4块,是网格分组的特例
Bezier 是1维lerp(A,B,t=0~1) 函数的升维化。3次方是4个点,CSS 里固定 P0,P3=0,1
傅里叶系数只支持周期信号(相位=0),不然要单独算 sin,cos 的系数,所以被震幅+相位角的向量(虚数) 淘汰了
STFT 是对波形隔 n_fft 个采样做一个FT帧,它得到的就不是直方图,而是有时域信息的频谱了
为了分块间的连续性,用(hop相邻重叠*Hann窗)来平均。Hann是横对称的,对块的外围做衰减
iSTFT 也会做重叠相加。
CQT(试玩,右上角) 的中心频率按指数规律分布,可以很好地实现midi扒谱
Log FFT, Bark,Mel 也是基于人耳听觉模型设计的频谱刻度,不同的频谱刻度,会影响基频(音高,f0)检测
光的波长(hue)从紫到红,与频率反比。红频率最低,穿透力强,所以一直是“警示色”,绿光频率高吸收好,所以激光点火器是绿的
光的相位和衍射、蝴蝶的结构色有关
这些都可以理解为微分- 积分 ,不过
☺️矩阵的shape和数域的dtype更是如此
的输入必须是2,3维向量:可以用于简化 svg path ✏️
FT是把yMax个频 的sin(cos,基频), 逐y与波形加权求差(np .dot),得到"左右对称"的直方图 (频谱图里纵向的1px 线)
(FFT以此优化. 直方含有"相位",默认为wav+0j,也能被vocoder推出来)
def DFT(x):
N = len(x)
t = np.arange(N)
pi = -2j*np.pi * t.reshape((N, 1))
return np.dot(x, np.exp(pi * t/N))[:]
reshape意味有N个基频pi,要和输入相乘, 只有正好“共振” 求和时才不会相互抵消。InvFT 只是加权求和@3b1b 称此为“把sin(yt)缠绕在零点”,频率y=1时当然是振幅1相位0的小圈
复数乘法=向量旋转+缩放
隐函数=热力图(着色灰度图)经过 np.where(p==0) 的黑白化
参数函数=for t循环
Mandelbrot,Julia=对复数+xy做迭代的热力图
kD树
= Map<Pair2~3, V>. 可把RGB 查找为颜色名时,或计算圆心碰撞kNN。其优化是把x维中位二分,递归生成(对y维),递归回溯时选最近邻,若P离切分点太近,还要在另一边继续搜索
quadtree 四分象限树/八叉树,与kD类似但1次分成4块,是网格分组的特例
Bezier 是1维lerp(A,B,t=0~1) 函数的升维化。3次方是4个点,CSS 里固定 P0,P3=0,1
bzr=(ps,t)=>{let T=([x,y],[x1,y1])=>[x+t*(x1-x),y+t*(y1-y)] // de Casteljau 算法
return n(ps)==1?ps[0] : bzr(ps.slice(0,-1).map((x,i)=>T(x,ps[i+1]) ),t) //所有左的P都*t 至Plast
}
傅里叶系数只支持周期信号(相位=0),不然要单独算 sin,cos 的系数,所以被震幅+相位角的向量(虚数) 淘汰了
STFT 是对波形隔 n_fft 个采样做一个FT帧,它得到的就不是直方图,而是有时域信息的频谱了
为了分块间的连续性,用(hop相邻重叠*Hann窗)来平均。Hann是横对称的,对块的外围做衰减
iSTFT 也会做重叠相加。
CQT(试玩,右上角) 的中心频率按指数规律分布,可以很好地实现midi扒谱
Log FFT, Bark,Mel 也是基于人耳听觉模型设计的频谱刻度,不同的频谱刻度,会影响基频(音高,f0)检测
光的波长(hue)从紫到红,与频率反比。红频率最低,穿透力强,所以一直是“警示色”,绿光频率高吸收好,所以激光点火器是绿的
光的相位和衍射、蝴蝶的结构色有关
这些都可以理解为微分- 积分 ,不过
chunk(n, window=n*4, sumFn=FFT)
对程序员而言还是小儿科了☺️矩阵的shape和数域的dtype更是如此
Telegram
duangsues.is_a? SaltedFish
#math fft #visualize
duangsuse::Echo
作为在“计算机还未发明”时代的编程者 #history Dijkstra 的名言: 编程无关计算机,就像天文无关望远镜 简单是可靠的先决条件,不是可靠的牺牲品 编程的艺术就是藏绌的技术。 程序员很清楚自己的能力是有限的,所以他对待编程任务的态度是谦卑的,重点是要象逃避瘟疫那样逃避 “聪明的技巧”。——1972年图灵奖演讲 我们所使用的工具深刻地影响我们的思考习惯,从而也影响了我们的思考能力。 根本不可能用一把钝斧子削好铅笔,而换成十把钝斧子,会让事情变成大灾难。 -- 「使用了 GOTO 语句的程序员乞求…
#py #math 《优雅不是奢侈品》
“如何才能让编程者们相信,简单性和清晰性——简而言之:数学家所说的“优雅”——不是可有可无的奢侈品,而是决定成功与失败的关键因素?”
― Edsger W. Dijkstra,“计算机著作精选:个人观点”,第 347 页。
简单明了的代码就是优雅的代码。这些都是代码中非常理想的属性。Dijkstra 又补充道:
“……在软件不可靠性的情况下,最大的成本因素是复杂。
一个可靠的(因此简单的)程序的开发和使用成本,比一个(复杂的因此)不可靠的程序要廉价。”
人们将初级代码误认为是简单清晰的代码,在我看来,这是非常危险的。
我不懂中文。你认为我看着中文书页,并断言“这是不可读的!”有道理吗?我需要做的是承认我看不懂中文,而不是中文不可读。
有人抱怨“阅读他人代码会增加额外的复杂性”,Tim Peters 对此做出了回应
—
“当有人使用你不理解的功能时,不关心。比学习新东西更容易,毕竟不久之后,唯一活着的程序员将使用 Python 0.9.6 <wink> 的一个易于理解的小子集进行编写。”
当你学习更多的语法、更多的函数、更多的模块、更多的数据类型等时,你就会了解更多的工具来解决你的问题。
工具带上的工具越多,当您需要做新的事情时,您就越有可能知道 适合工作的完美工具。简单、清晰、优雅;所有这些都会自然而然地发生。
(: 考虑到AI可以帮你了解工具,不必害怕搜不到写法而搞出「又慢又长的代码」了
复习你的一段旧代码,且知道有更好的方法来做到功能点,可以修改旧代码以包含新的改进的解决方案。只会让你的代码更加清晰和优雅,永不止步
假如你惯用的代码是语义易于理解的代码,所输出可重构代码是可以随着时间的推移,而改进的代码。
👀这个作者的观念很好,但审美真的…… 和他所说的可读至上有冲突
chian 这个词对flat的反映很隐晦,iterators.flat 的功能会更多(文件树..),自己造词,是很蠢的做法。
b(+,-)= (+x,-x) (b)
鬼才会觉得”数学语言“ 比py3好, 即便你去拿堆 \TeX 去写,也只是徒费事,对思考毫无益处。甚至不如去掉乘除符号的多项式”强类型“
无法重构的符号,就等于是白纸,谁都只能复制,只那几个用途而不能创作。 毫无价值 😅
—
我今天在设计 EQ 的 Reload(Suspense), Tab, list 增删动画, evalFun 的常量计算时,就一直在践行这些原则。
比如, Vue 的 TransitionGroup 看起来十分复杂,但只要记住每项xy的位移,以在css渐变的同时 做EQ所支持的元素进退场 就OK了; 这些需求也强化了 ondiff=(mov,add)=> 的合理性,做到 1+1>2
(EQ efx {fly:{} } 支持横纵四向,所以没 .list-enter-active{} 手动实现的那么直接 ,但单靠translateY 就能忽略上部的增删。
“如何才能让编程者们相信,简单性和清晰性——简而言之:数学家所说的“优雅”——不是可有可无的奢侈品,而是决定成功与失败的关键因素?”
― Edsger W. Dijkstra,“计算机著作精选:个人观点”,第 347 页。
简单明了的代码就是优雅的代码。这些都是代码中非常理想的属性。Dijkstra 又补充道:
“……在软件不可靠性的情况下,最大的成本因素是复杂。
一个可靠的(因此简单的)程序的开发和使用成本,比一个(复杂的因此)不可靠的程序要廉价。”
人们将初级代码误认为是简单清晰的代码,在我看来,这是非常危险的。
我不懂中文。你认为我看着中文书页,并断言“这是不可读的!”有道理吗?我需要做的是承认我看不懂中文,而不是中文不可读。
有人抱怨“阅读他人代码会增加额外的复杂性”,Tim Peters 对此做出了回应
—
“当有人使用你不理解的功能时,不关心。比学习新东西更容易,毕竟不久之后,唯一活着的程序员将使用 Python 0.9.6 <wink> 的一个易于理解的小子集进行编写。”
当你学习更多的语法、更多的函数、更多的模块、更多的数据类型等时,你就会了解更多的工具来解决你的问题。
工具带上的工具越多,当您需要做新的事情时,您就越有可能知道 适合工作的完美工具。简单、清晰、优雅;所有这些都会自然而然地发生。
(: 考虑到AI可以帮你了解工具,不必害怕搜不到写法而搞出「又慢又长的代码」了
复习你的一段旧代码,且知道有更好的方法来做到功能点,可以修改旧代码以包含新的改进的解决方案。只会让你的代码更加清晰和优雅,永不止步
假如你惯用的代码是语义易于理解的代码,所输出可重构代码是可以随着时间的推移,而改进的代码。
👀这个作者的观念很好,但审美真的…… 和他所说的可读至上有冲突
list(itertools.chain(*list_of_lists))这是不能替代
[[1], [2]].flat(depth=1)
的,chian 这个词对flat的反映很隐晦,iterators.flat 的功能会更多(文件树..),自己造词,是很蠢的做法。
(a b c) ← 1 ¯4 3等于
(2×a)÷⍨-b(+,-)0.5*⍨(b*2)-4×a×c
import numpy as np
a,b,c = 1, -4, 3
(2*a) / np.sqrt(-b + np.array([1, -1]) * 0.5*np.sqrt(b**2 - 4*a*c))
⍨=sqrtb(+,-)= (+x,-x) (b)
np.roots([a, b, c]) #ax^2 + bx + c = 0奇怪的是,翻译过来居然错的,少算个sqrt又对了……
鬼才会觉得”数学语言“ 比py3好, 即便你去拿堆 \TeX 去写,也只是徒费事,对思考毫无益处。甚至不如去掉乘除符号的多项式”强类型“
无法重构的符号,就等于是白纸,谁都只能复制,只那几个用途而不能创作。 毫无价值 😅
—
我今天在设计 EQ 的 Reload(Suspense), Tab, list 增删动画, evalFun 的常量计算时,就一直在践行这些原则。
比如, Vue 的 TransitionGroup 看起来十分复杂,但只要记住每项xy的位移,以在css渐变的同时 做EQ所支持的元素进退场 就OK了; 这些需求也强化了 ondiff=(mov,add)=> 的合理性,做到 1+1>2
(EQ efx {fly:{} } 支持横纵四向,所以没 .list-enter-active{} 手动实现的那么直接 ,但单靠translateY 就能忽略上部的增删。
Mathspp
Does elegance matter? | Pydon't 🐍
Does elegance matter when writing computer programs..?
👍3
duangsuse::Echo
现在得出个理论,我直接跪了😨 obj.to({k:v1}).as(_=>k) 两词就能概括EQ的“响应式系统”,这两个词也适用于 x, 和 [x] 即遍历与map wOp 事件只会导致 wSty,wKV 变量的两类结果: - cnt(x=>x+1), dialog(q=>$Y) 'to赋值' - fmt.as(x=>`Hello ${x}`), html`text ${var}`, Eq.at({sliders},_=>) 返回 {ref:}.it 'as映射' 也就是所谓的 State-onhandle…
#math #web 看来想完成EqvJS的设计,还要简化自己之前的许多作品里的技术 (图: easing 曲线, Svelte
ease-out 代表先快后慢
#apple #tool Epic Easing
- easings.net
- animejs.com
#dalao https://lisyarus.github.io/blog/programming/2023/02/21/exponential-smoothing.html#:~:text=speeds%20up%20naturally%20if%20you%20click%20fast
PID 自然弹性动画
后来想了下,觉得这“CSS函数工坊” 是可以保留。 -ease =先慢后快, ease() =inout, ease(ball) 先弹跳
ease-out 代表先快后慢
#apple #tool Epic Easing
- easings.net
- animejs.com
#dalao https://lisyarus.github.io/blog/programming/2023/02/21/exponential-smoothing.html#:~:text=speeds%20up%20naturally%20if%20you%20click%20fast
PID 自然弹性动画
后来想了下,觉得这“CSS函数工坊” 是可以保留。 -ease =先慢后快, ease() =inout, ease(ball) 先弹跳
duangsuse::Echo
这是一个完整的Java式类型系统,支持泛型。 class List<T>{} 的语法对应Fun(T,ID())的数据。 Unit,Fn可视为不属于Any -'TR' Ln<T>.as(:Fn1<T R>)=Ln<R>(0) 也就是对 Arg((Fn),TR) (赋参数),深度遍历到 Ln.To,T.to(Int).. 就知道T具体是啥(还要支持map{map{}}..) 在T未知时结果是 List<R> ,但要生成代码时R一定被固定在Arg。这类把Var作为值的算法叫“合一 unification”。这是关系式(而非“顺序”)的,…
#FP #math 的一些 #statement
#tool html bookmarklet
被大佬建议写成 =(3)3+1 即m=qn+r (r<q)形式的“短除法” ,理由是...没交换律
“理论家布尔巴基有个笑话: 1+2当然是2加1,因为整数对加法构成阿贝尔群”
当然,纠结这些除和除以工程意义不大
a%b 余数在进制计数法,KB MB单位,乃至红绿灯🚥 ,猜拳、[123]*3重复 里都可以用到,四则符号的推而广之是很方便的
但GL的vecM和距离函数, 对偶的cos atan2才算是真正的「函数图像」
对软件来说,值之间的关系、算式的归类、代换(元编程) ,都是值得思考的,这远比重复流行的技术栈重要。 形式化的语法,正是物理和编程比数学广泛的一点
— 纯函数的不可变吧…… 不是类型上'final' (btw. KT-override class 理论讨论)
意义真的不大, 无非是把堆里的变量放栈上来重赋值,或者栈变量换伪递归,拿能够DFS的写法却只做列表处理, 有什么用…… 又麻烦又慢 😓
变量关系式编程(LP)里, 函数式的 Memo f()=x+1 可以直接表达为
一些人觉得 React是什么FRP,functional响应式 。但其实把可变数据,理解为含Var的不可变, 比纠结于List纯不纯好玩的多
类型姑且还是对心智模型的硬化, 纯度这些可都是虚无缥缈的风格格调了。有趣的软件未必靠FP来写。某些函数式lib的样板代码不比rs,go的少 ,代码质量只能是看人,是否憎恨冗余
—我想用
异步流每次next()只是Promise,但换成两个async()赋值--单监听, 用
async()=> 的实现要调用
Iterator显然只是调度的一种特例,是把i++等流控 继闭包地从栈分享到堆。不能牵强地把等待恢复、迭代混为一谈
在ES5里,可以用一个 co(asy()) 来遍历
#js #code
到了OS这级,键鼠事件,异步只是赋值+触发回调
—翻译一下,
然后,f1接受第二个this: (Int)->Unit 实现其return 。这就是JS的Promise.then 。你说的local vars 就是指 Promise or Continuation函续 or Async状态机(大switch) or Future..
f的执行也不能卡线程栈了,它也要靠回调,比如runBlocking等待其他Thread的信号量,或者在IO,Main等 Queue(函序) 调度
这么说,call queue 和单CPU多线程本质上都是分时复用,只是设备中断/SIGTRAP 被改为更高层的函数回调,CPU cycle 换成主循环(监听轮询poll)。 因此王垠觉得Lisp比C更适合写OS
Go,JVM,Ruby,Lua 的 stackful 模式允许不标明await 且仍支持返回值,而基于CPS回调的协程则兼容性好
不能把await 调用理解为有返回值的多进程,相反,函数自身是消息队列内的Task(即线程,可sleep),才能去"非阻塞"await
语句就是种顺序表达式,
还有coroutineScope, sequence, select 等复杂的结构化信息。 这样能实现大goto(call/cc) 的功能,比如直接resume给某个 caller 的 catch(IO Monad) ,或者 yield 到 gen .next() ,DFS防止栈溢出等
yield的一种用途就是遍历Rx流,但它们生成的流却非异步(尽管它能"push"无穷项)。 另外我觉得RxObserver=next 比async yield 更合理
—「值和引用」别扯到C上
栈就是“非常容易做GC”的堆, 只因为在堆上就叫ref不算值 是不太定义式的,这暗示了
别把JVM当成C++的框架。调用栈是内存的一部分,函数值和对象都是“栈转堆”,return在内联后只是赋值;goto,参数并不配特立独行
copy和ref 的区别,只应在于后者是
只是对集合/事件/闭包等应用层共享,就必须有GC,Rc 来修剪对象图
绝大部分val=struct 的实现依然是堆内共享,与内联函数相当。只有int这样机器mov的值不用传指针
—编译和优化
>AI没答到点上。 我觉得synchronized和Mutex有什么区别, 就是取消 object.wait()才隔离出的
>竟然是让 withIndex() 驱动 get(it).. kotlin-stdlib 里的一些实现是自己在 for each 外 var i = 0 计数的……
智障,就像标准库不写 val x get() 写 fun getX
自己破坏自己提供的特性
>list set stdlib 里的这些集合库的indices属性都有优化
我说的是一般的 for (a in list) 优惠成 indexed for loop 去掉迭代器这种
都能让你手动改写法优化了, 要编译器和有两种IR的虚拟机是干什么?
编译器已经是优化了,虚拟机还要JIT, 结果应用层还是不能满足……
是啊,我就是觉得这种现况很可笑。kotlinc 还特别自己弄了一个内部IR,不知道是用于翻译goto 和协程还是啥
编译优化全都是不可见的, 你也不能知道llvm,ktc 执行完优化是啥样子,非得反编译
当然,clang,llvm 是可以导出IR的,但许多优化用的表示IR层级太低,正常人看不懂
这种情况的解释,就是IR的语意不能用语法来保存了, 但其实 loop/重复算式的外提,并不会破坏程序结构,甚至DCE都是要由IDE重做一遍
玩编译器那帮人根本不懂如何做交互式编程、图形化框架。 这一点 dnSpy 一个反编译器都比90%的编译器做得好
更别说同时有TUI,Qt,Web 三种界面,支持无数种bin格式的 radare2 了
#tool html bookmarklet
data:text/html;utf8,<body ContentEditable>
—10÷3=3…1被大佬建议写成 =(3)3+1 即m=qn+r (r<q)形式的“短除法” ,理由是...没交换律
“理论家布尔巴基有个笑话: 1+2当然是2加1,因为整数对加法构成阿贝尔群”
当然,纠结这些除和除以工程意义不大
ax+i=b; x,i=divmod(b,a)
的可变量元组数学里可是没有。函数只是“关系”,没有sympy那种条理分明的元编程化简法,py那种无论匹配或访问都易懂的“类型化数据”a%b 余数在进制计数法,KB MB单位,乃至红绿灯🚥 ,猜拳、[123]*3重复 里都可以用到,四则符号的推而广之是很方便的
但GL的vecM和距离函数, 对偶的cos atan2才算是真正的「函数图像」
对软件来说,值之间的关系、算式的归类、代换(元编程) ,都是值得思考的,这远比重复流行的技术栈重要。 形式化的语法,正是物理和编程比数学广泛的一点
— 纯函数的不可变吧…… 不是类型上'final' (btw. KT-override class 理论讨论)
意义真的不大, 无非是把堆里的变量放栈上来重赋值,或者栈变量换伪递归,拿能够DFS的写法却只做列表处理, 有什么用…… 又麻烦又慢 😓
变量关系式编程(LP)里, 函数式的 Memo f()=x+1 可以直接表达为
f(out y,x)
的细粒度重计算,解构时也一样! 不仅不存在“赋值”,也不需要那些纯函数的过度检查一些人觉得 React是什么FRP,functional响应式 。但其实把可变数据,理解为含Var的不可变, 比纠结于List纯不纯好玩的多
类型姑且还是对心智模型的硬化, 纯度这些可都是虚无缥缈的风格格调了。有趣的软件未必靠FP来写。某些函数式lib的样板代码不比rs,go的少 ,代码质量只能是看人,是否憎恨冗余
—我想用
for()await varAssign;
替换组合力很低的 for await(x of {async*f(){ }}.f()){}
异步迭代器,也方便RPC/跨语言 的对接 #PLT异步流每次next()只是Promise,但换成两个async()赋值--单监听, 用
var.Saw.to(x=>新值流)+AbortSignal
更一致async()=> 的实现要调用
yield
。 s={*f(){ res=yield }}.f(), s.next(1)
里f的yield会把值和'自动回调'赋值到s.next,交给调用方调度。throw也可以直接next回调链表(CoroScope)里有catch的那层。Iterator显然只是调度的一种特例,是把i++等流控 继闭包地从栈分享到堆。不能牵强地把等待恢复、迭代混为一谈
在ES5里,可以用一个 co(asy()) 来遍历
task.then(next)
并搭配 yield* tasks(下级)
。#Kt 协程则是直接把回调交给timer()等待,无遍历:#js #code
wait=(n,ret)=>setTimeout(ret, n*1000)把f变成大switch并不难,但Lua,Rb,Py依然在用运行期魔法实现yield:
we={*f(co, ret){
setTimeout(co.nt, 1000); yield //函续已经交出去了,现在该返回 就像f只是登次记
wait(1,co.nt); yield
alert('2s'); ret()
}}
_await=(f ,c={},s=f(c,()=>Job完成))=>(c.nt=x=>s.next(x), s.next())
_await(we.f)
we.f=(co)=>(co.nt=()=>{[ //先把f(yield)外提为x=把co暴露给调用方更像JSPy (缺点是要由main调度then(next)),而把co暴露给下级 更Kt,Lisp (虽然更像回调, 但太隐式, 比如yield(x)需向Iter对象赋值 脚本没这作用域)
()=>setTimeout(co.nt, 1000),
()=>wait(1,co.nt),
()=>alert('2s')][co.i++]()
if(co.i==3)co.ret('like,co=Promise')
})()
we.f({ret(){'此谓调用约定,ABI'}, i:0/*func*则会等待1次next*/})
到了OS这级,键鼠事件,异步只是赋值+触发回调
—翻译一下,
suspend fun f() =f1()+1
首先f()要是一个闭包(即 匿名class .new ),kt,Java ()->会自动实现这一步然后,f1接受第二个this: (Int)->Unit 实现其return 。这就是JS的Promise.then 。你说的local vars 就是指 Promise or Continuation函续 or Async状态机(大switch) or Future..
f的执行也不能卡线程栈了,它也要靠回调,比如runBlocking等待其他Thread的信号量,或者在IO,Main等 Queue(函序) 调度
这么说,call queue 和单CPU多线程本质上都是分时复用,只是设备中断/SIGTRAP 被改为更高层的函数回调,CPU cycle 换成主循环(监听轮询poll)。 因此王垠觉得Lisp比C更适合写OS
Go,JVM,Ruby,Lua 的 stackful 模式允许不标明await 且仍支持返回值,而基于CPS回调的协程则兼容性好
不能把await 调用理解为有返回值的多进程,相反,函数自身是消息队列内的Task(即线程,可sleep),才能去"非阻塞"await
语句就是种顺序表达式,
val x=1; f(x,x)
本该也能写成 f(x:=1,x)
,往往只是外提为val,所以await()就像 f(a?.let{return} ?: b)
是可以的还有coroutineScope, sequence, select 等复杂的结构化信息。 这样能实现大goto(call/cc) 的功能,比如直接resume给某个 caller 的 catch(IO Monad) ,或者 yield 到 gen .next() ,DFS防止栈溢出等
yield的一种用途就是遍历Rx流,但它们生成的流却非异步(尽管它能"push"无穷项)。 另外我觉得RxObserver=next 比async yield 更合理
—「值和引用」别扯到C上
栈就是“非常容易做GC”的堆, 只因为在堆上就叫ref不算值 是不太定义式的,这暗示了
N2(x,y)
这样的数据“不该可变”-即便它说了xy都是变数别把JVM当成C++的框架。调用栈是内存的一部分,函数值和对象都是“栈转堆”,return在内联后只是赋值;goto,参数并不配特立独行
copy和ref 的区别,只应在于后者是
Var(mutable v:T)
。 含var的struct也能纯复制,List也可以存栈上(调用在栈顶时,可以追加 int a[num]
)只是对集合/事件/闭包等应用层共享,就必须有GC,Rc 来修剪对象图
绝大部分val=struct 的实现依然是堆内共享,与内联函数相当。只有int这样机器mov的值不用传指针
—编译和优化
>AI没答到点上。 我觉得synchronized和Mutex有什么区别, 就是取消 object.wait()才隔离出的
>竟然是让 withIndex() 驱动 get(it).. kotlin-stdlib 里的一些实现是自己在 for each 外 var i = 0 计数的……
智障,就像标准库不写 val x get() 写 fun getX
自己破坏自己提供的特性
>list set stdlib 里的这些集合库的indices属性都有优化
我说的是一般的 for (a in list) 优惠成 indexed for loop 去掉迭代器这种
都能让你手动改写法优化了, 要编译器和有两种IR的虚拟机是干什么?
编译器已经是优化了,虚拟机还要JIT, 结果应用层还是不能满足……
是啊,我就是觉得这种现况很可笑。kotlinc 还特别自己弄了一个内部IR,不知道是用于翻译goto 和协程还是啥
编译优化全都是不可见的, 你也不能知道llvm,ktc 执行完优化是啥样子,非得反编译
当然,clang,llvm 是可以导出IR的,但许多优化用的表示IR层级太低,正常人看不懂
这种情况的解释,就是IR的语意不能用语法来保存了, 但其实 loop/重复算式的外提,并不会破坏程序结构,甚至DCE都是要由IDE重做一遍
玩编译器那帮人根本不懂如何做交互式编程、图形化框架。 这一点 dnSpy 一个反编译器都比90%的编译器做得好
更别说同时有TUI,Qt,Web 三种界面,支持无数种bin格式的 radare2 了
Bilibili
这种表示有余数除法的记法,应当清除出所有教科书_哔哩哔哩_bilibili
美国加州大学伯克利分校的一位数学教授,呼吁把我们惯用的表示有余数的除法的记法清除出所有教科书。, 视频播放量 164339、弹幕量 187、点赞数 2369、投硬币枚数 117、收藏人数 768、转发人数 174, 视频作者 学徒老贾, 作者简介 跟好书学习。,相关视频:原来根号3是无理数,细思极恐的问题,为什么我过去从没想过?,用数学怎么去反驳数学?!(驳斥365进步模型),轻易相信简单直观的结论究竟有多危险?,世上竟有这种神奇的数字!? 不是正负1却平方为1?,日本数学竞赛题,要证明2023^0=…
有时也觉得 #CS 界 #IT 界挺魔幻的,60~70年前的矩阵和协程,Lisp式的DSL,到今天还有框架 😔
当然,numpy和 Go func, kotlin.coro, Rust derive宏 已经远不是Fortran,OpenResty那些东西可比拟的
但究其根本,我觉得今天CS+IT的佼佼者,不少lib依然在犯70年前它们先辈的错误。
对于协程这个特性,究竟是DOM,node那样不靠package就包揽一切,还是像Go那样作为噱头,Erlang那样基于Actor,Kt这样与时俱进 最为正统呢?
拿js模拟过……
可能直到AI广泛辅助编程,这些问题都不会有答案
但我清楚AI无法完成写法的形式化,只能从根源上,让用户指定开多大线程池完成多少种Task,这些术语的差异才会伴随着“优化选项”消失
C 那种argc+argvec 的list,也只是术语的差异吗? 恐怕除了样板代码的多少,这些语言作为“app设计器”,也有根本不同
——
在我看来,无论是工业界最流行的语言,还是协程的理论讨论, 都是没有取得统一模型的
换句话说,每个语言有它的优点
这不是一件好事。 一个没有取得共识的工具,会阻碍人的泛化思考,会把编程当成一件机械的编码任务
其实明白编程和数学里的泛用性,又如何呢? 有人为此挣到钱,有人选择删了公开博客, 但到最后随着时代向前,知识也没啥可稀奇的吧
即便如此,我选择把编程视为一种乐趣和创作。
我不需要言辞间的“朴素” “平凡不难”,对于创作者来说,灵感,才能成为汗水里掷地有声的内核。 🕊
当然,numpy和 Go func, kotlin.coro, Rust derive宏 已经远不是Fortran,OpenResty那些东西可比拟的
但究其根本,我觉得今天CS+IT的佼佼者,不少lib依然在犯70年前它们先辈的错误。
对于协程这个特性,究竟是DOM,node那样不靠package就包揽一切,还是像Go那样作为噱头,Erlang那样基于Actor,Kt这样与时俱进 最为正统呢?
拿js模拟过……
总之就当自动传f1(回调),f局部变量在回调中, 所以调用f()能选择何时何处执行我想,大家都被限制在自己的编程生态圈,不去思考这些差异背后的进步方向,可能才是编程之道吧……
Kt的结构化并发确实很有意思,但要谈可用性,JS的手动撤销和自动Dispatch更实在
btw一句,我讲的比较详细,但我对CPS不感兴趣,
主要是为了把回调链表与callstack、OS线程 做类比。确实编译原理和OS是分不开
本群人均素质挺高啊,都知道coroutine是靠CPS
但我更喜欢不纯粹的理论
有时我觉得这些也没必要说的, 我反复思考有好几年了,但它们终究是三句话讲完的程度呢
因为JS最开始是 func*(){} yield Promise,没有async
async是因为JS不能直接把函续交给then,要先yield给执行器(对等协程vs上下级协程)
Ruby的call/cc, C的"setjmp" 就是对等协程,它们符合CPS的刻板印象但不好用…… 总之异步编程反人类
异步编程也可以很美好的,比如 Reactive 就遥遥领先于Java,PHP这一套。 Nextjs应该是新时代的服务端语言
可能直到AI广泛辅助编程,这些问题都不会有答案
但我清楚AI无法完成写法的形式化,只能从根源上,让用户指定开多大线程池完成多少种Task,这些术语的差异才会伴随着“优化选项”消失
C 那种argc+argvec 的list,也只是术语的差异吗? 恐怕除了样板代码的多少,这些语言作为“app设计器”,也有根本不同
——
在我看来,无论是工业界最流行的语言,还是协程的理论讨论, 都是没有取得统一模型的
换句话说,每个语言有它的优点
这不是一件好事。 一个没有取得共识的工具,会阻碍人的泛化思考,会把编程当成一件机械的编码任务
其实明白编程和数学里的泛用性,又如何呢? 有人为此挣到钱,有人选择删了公开博客, 但到最后随着时代向前,知识也没啥可稀奇的吧
即便如此,我选择把编程视为一种乐趣和创作。
我不需要言辞间的“朴素” “平凡不难”,对于创作者来说,灵感,才能成为汗水里掷地有声的内核。 🕊
Telegram
duangsuse::Echo
#FP #math 的一些 #statement
#tool html bookmarklet data:text/html;utf8,<body ContentEditable>
—10÷3=3…1
被大佬建议写成 =(3)3+1 即m=qn+r (r<q)形式的“短除法” ,理由是...没交换律
“理论家布尔巴基有个笑话: 1+2当然是2加1,因为整数对加法构成阿贝尔群”
当然,纠结这些除和除以工程意义不大
ax+i=b; x,i=divmod(b,a) 的可变量元组数学里可是没有。函数只是“…
#tool html bookmarklet data:text/html;utf8,<body ContentEditable>
—10÷3=3…1
被大佬建议写成 =(3)3+1 即m=qn+r (r<q)形式的“短除法” ,理由是...没交换律
“理论家布尔巴基有个笑话: 1+2当然是2加1,因为整数对加法构成阿贝尔群”
当然,纠结这些除和除以工程意义不大
ax+i=b; x,i=divmod(b,a) 的可变量元组数学里可是没有。函数只是“…
Forwarded from dnaugsuz
#math #cg e^i 其实是一个向量意义的重载啦,和复利极限e (1块钱日取其半之和~2.7) 同名而已
Pi是周长和1/2弧度的比率,用于调用cos,sin实现极坐标 https://shuxuele.com/numbers/pi.html
GL里是直接用length(P-P0)<r 来画圆的,这也等效于算圆周率
☝️ 不过我注意的,是这个「有18个孩子的数学家的顶级」,他的智慧世人不懂,为什么也不能传给他哪怕1个孩子呢? 哲学和工程,果然无法对立统一吧
历史是螺旋上升的, 300年来数学生总是在复习上帝给出的真理,工程生却总是创造不笔算的方法和新的价值 https://tttttt.me/rynif/32903
Pi是周长和1/2弧度的比率,用于调用cos,sin实现极坐标 https://shuxuele.com/numbers/pi.html
GL里是直接用length(P-P0)<r 来画圆的,这也等效于算圆周率
pi = 4*num_cir/num_all
,算到超过133亿个随机点,才收敛到3.14159 。最优级数算法问AI☝️ 不过我注意的,是这个「有18个孩子的数学家的顶级」,他的智慧世人不懂,为什么也不能传给他哪怕1个孩子呢? 哲学和工程,果然无法对立统一吧
历史是螺旋上升的, 300年来数学生总是在复习上帝给出的真理,工程生却总是创造不笔算的方法和新的价值 https://tttttt.me/rynif/32903
#learn #ai #math Transformer 序列推理 https://www.youtube.com/watch?v=wjZofJX0v4M
https://www.youtube.com/watch?v=eMlx5fFNoYc
CNN RNN https://www.youtube.com/watch?v=nzqlFIcCSWQ
#recommend
https://www.youtube.com/watch?v=eMlx5fFNoYc
CNN RNN https://www.youtube.com/watch?v=nzqlFIcCSWQ
#recommend
YouTube
Transformers, the tech behind LLMs | Deep Learning Chapter 5
Breaking down how Large Language Models work, visualizing how data flows through.
Instead of sponsored ad reads, these lessons are funded directly by viewers: https://3b1b.co/support
---
Here are a few other relevant resources
Build a GPT from scratch…
Instead of sponsored ad reads, these lessons are funded directly by viewers: https://3b1b.co/support
---
Here are a few other relevant resources
Build a GPT from scratch…
#math 数论之美 质数 斐波那契
https://m.youtube.com/watch?v=EK32jo7i5LQ&pp=ygUNcHJpbWUgbnVtYmVycw%3D%3D
https://m.youtube.com/watch?v=t2stfrdlsFU -这个问题是因为fibonacci数列数字的后n位(即mod 10^n)一定是循环的
把他们拼在一起造一个循环小数又一定会有一个唯一对应的分数形式
螺旋,Pascal triangle 与斐波那契
https://m.youtube.com/watch?v=XMriWTvPXHI&pp=ygUSdHJpYW5nbGUgZmlib25hY2Np
https://m.youtube.com/watch?v=KKM0dzgJgf8&pp=ygURZnJhY3RhbCBmaWJvbmFjY2k%3D
https://m.youtube.com/watch?v=EK32jo7i5LQ&pp=ygUNcHJpbWUgbnVtYmVycw%3D%3D
https://m.youtube.com/watch?v=t2stfrdlsFU -这个问题是因为fibonacci数列数字的后n位(即mod 10^n)一定是循环的
把他们拼在一起造一个循环小数又一定会有一个唯一对应的分数形式
螺旋,Pascal triangle 与斐波那契
https://m.youtube.com/watch?v=XMriWTvPXHI&pp=ygUSdHJpYW5nbGUgZmlib25hY2Np
https://m.youtube.com/watch?v=KKM0dzgJgf8&pp=ygURZnJhY3RhbCBmaWJvbmFjY2k%3D
YouTube
Why do prime numbers make these spirals? | Dirichlet’s theorem and pi approximations
A curious pattern, approximations for pi, and prime distributions.
Help fund future projects: https://www.patreon.com/3blue1brown
An equally valuable form of support is to simply share some of the videos.
Special thanks to these supporters: http://3b1b.co/spiral…
Help fund future projects: https://www.patreon.com/3blue1brown
An equally valuable form of support is to simply share some of the videos.
Special thanks to these supporters: http://3b1b.co/spiral…
#math #signal https://blog.miskcoo.com/2015/04/polynomial-multiplication-and-fast-fourier-transform
#oi #dalao 一个开源了MIPS处理器源码(linux 5.0 运行可能) 的人,但是 啊, Berkley 的 numpy 还是最美的,没有之一。
#oi #dalao 一个开源了MIPS处理器源码(linux 5.0 运行可能) 的人,但是 啊, Berkley 的 numpy 还是最美的,没有之一。
Miskcoo’s Space
从多项式乘法到快速傅里叶变换
计算多项式的乘法,或者计算两个大整数的乘法是在计算机中很常见的运算,如果用普通的方法进行,复杂度将会是 $\mathcal O(n^2)$ 的,还有一种分治乘法可以做到 $\mathcal O(n^{\log_23})$ 时间计算(可以看这里)。下面从计算多项式的乘法出发,介绍快速傅里叶变换(Fast Fourier Transform, FFT)如何在 $\mathcal O(n\log n)$ 的时间内计算出两个多项式的乘积。
https://github.com/KaiserKatze/mathematical-notes/releases/download/20230921091555-64ca8d4/default.pdf
1.3k页我的天 大概是这画风 🤔 #math #plt
算了也懒得看
正反函数在SQL和{k:v}里用更多
—
这个人还写了个 javac 的反函数(笑
https://github.com/KaiserKatze/Cruiser/blob/dev/code.c#L1049-L1985
https://github.com/KaiserKatze/Cruiser/blob/dev/code.c#L1884
不过代码质量堪忧,只是把JVM字节码的语意都换成printf,并没有检测if while{} 基本块的部分,就花了2.5k行……
他在近2k行抱怨了一句, i'm driven insane! how should i work around multiple blocks? ,嘛,看这README也不像动笔之前自顶向下调研过
虽然只有十个文件,但每个都是代码查重率爆棚的…… 复制粘贴一般。 可见不重视知识整理,我不太喜欢。
https://blog.csdn.net/dnc8371/article/details/106704927 CFR作者讲得挺好的,他们是以 ifeq goto 这些切分,拿箭头链接出 CFG,这反而是数学拓扑的天地啊? 💭
q==0? A:B; C 和 if(q)A; else B; C 和 q&&A||B 编译为 q true (ifne B:) A (goto C:) B C: ,这也就是&&和& 的差异
while(q) A; C 编译为 q (ifnot C:) A (goto ifnot:) C: , 比较简单的做法是遇 goto(i), bc[i-1]==goto(j), bc[j:if_]=iWhileCond ; goto(i), bc[i:goto] 可能是if{}
总而言之,作为开发者,突破信息差的能力比数学重要
1.3k页我的天 大概是这画风 🤔 #math #plt
算了也懒得看
正反函数在SQL和{k:v}里用更多
—
这个人还写了个 javac 的反函数(笑
https://github.com/KaiserKatze/Cruiser/blob/dev/code.c#L1049-L1985
https://github.com/KaiserKatze/Cruiser/blob/dev/code.c#L1884
不过代码质量堪忧,只是把JVM字节码的语意都换成printf,并没有检测if while{} 基本块的部分,就花了2.5k行……
他在近2k行抱怨了一句, i'm driven insane! how should i work around multiple blocks? ,嘛,看这README也不像动笔之前自顶向下调研过
虽然只有十个文件,但每个都是代码查重率爆棚的…… 复制粘贴一般。 可见不重视知识整理,我不太喜欢。
https://blog.csdn.net/dnc8371/article/details/106704927 CFR作者讲得挺好的,他们是以 ifeq goto 这些切分,拿箭头链接出 CFG,这反而是数学拓扑的天地啊? 💭
q==0? A:B; C 和 if(q)A; else B; C 和 q&&A||B 编译为 q true (ifne B:) A (goto C:) B C: ,这也就是&&和& 的差异
while(q) A; C 编译为 q (ifnot C:) A (goto ifnot:) C: , 比较简单的做法是遇 goto(i), bc[i-1]==goto(j), bc[j:if_]=iWhileCond ; goto(i), bc[i:goto] 可能是if{}
总而言之,作为开发者,突破信息差的能力比数学重要
#school #math 苏联《高等》 #防自学 技术概括 🤗
无论文理,如果你对毕业前的学科感兴趣了,拿出书来基本都能发现以下现象。
1 🗯 「从不」使用对话文体来强迫编者补齐背景知识,例如从“延时摄影” “x^2取两点斜率线差多大”引入积分导速,爱「先使用后定义」, 好像师生不是一路人,古今不是同路人,不配与教研届的苏格拉底们一起探索与质疑,一起把微积分发明出来。
2 🤖 经常说「我们有」「任意给定正数..存在一个」这样突兀、抠字眼的翻译,非常爱区分 i++, ++i, 除和除以 「茴字的四种写法之流」,官话多没人话,缺乏语言或排版的色彩感, 一离开前言,“知识有用”这点突然显得空洞和不真实,似乎课本患有双相情感障碍
3 🦩 严谨=先使用后定义\=先试玩后拆解、刷题=训练CPU、应用题=公式的机翻。 鉴定为被单一学科迷死了,一点没1+1>2密室逃脱的组合力 ——而组合封装的代换力,正是现代科学文明的基石
4 🔗分科太细,毕业后复用率+自主融合性太低,做不到举一反三的话,分科反而赶不上你专业领域。 当然,如果要培养综合通才,就不能把文理调那么难了。
我示范下咋「批判性思维」,他们会这么辩护:
1 🗯 「从不」使用对话文体,因为1问1答太冗长了,没有考核效率: 文言文大概很「省码率」吧?汇编比py压缩率高吧? 为啥它们被淘汰了呢? 适当的冗余降低的理解成本、造成的启发性易记性,高于载体长度的开销时,何必去勉强表面上效率高的写法。
2 🤖 经常说抠字眼的翻译,只是科学就该严谨: 「逻辑」二字就是在形容法律和刑侦嘛,法律有个口诀「常识上不违法,就不该立成违法」,可见常识先于逻辑,「先使用后定义」也是这个道理。众所周知的拿来凑字数,应该解释的却约定俗成,扰人耳目,不是么? (eg 1:1 1:N量词关系、x^1 x^-1 负次数)
3 🦩 应用题=公式的机翻。 鉴定为被单一学科迷死了,不会1+1>2,因为要1科1卷: 若各学科天生就是孤岛有隔阂,文综理综又是咋来的
无论文理,如果你对毕业前的学科感兴趣了,拿出书来基本都能发现以下现象。
1 🗯 「从不」使用对话文体来强迫编者补齐背景知识,例如从“延时摄影” “x^2取两点斜率线差多大”引入积分导速,爱「先使用后定义」, 好像师生不是一路人,古今不是同路人,不配与教研届的苏格拉底们一起探索与质疑,一起把微积分发明出来。
2 🤖 经常说「我们有」「任意给定正数..存在一个」这样突兀、抠字眼的翻译,非常爱区分 i++, ++i, 除和除以 「茴字的四种写法之流」,官话多没人话,缺乏语言或排版的色彩感, 一离开前言,“知识有用”这点突然显得空洞和不真实,似乎课本患有双相情感障碍
3 🦩 严谨=先使用后定义\=先试玩后拆解、刷题=训练CPU、应用题=公式的机翻。 鉴定为被单一学科迷死了,一点没1+1>2密室逃脱的组合力 ——而组合封装的代换力,正是现代科学文明的基石
4 🔗分科太细,毕业后复用率+自主融合性太低,做不到举一反三的话,分科反而赶不上你专业领域。 当然,如果要培养综合通才,就不能把文理调那么难了。
我示范下咋「批判性思维」,他们会这么辩护:
1 🗯 「从不」使用对话文体,因为1问1答太冗长了,没有考核效率: 文言文大概很「省码率」吧?汇编比py压缩率高吧? 为啥它们被淘汰了呢? 适当的冗余降低的理解成本、造成的启发性易记性,高于载体长度的开销时,何必去勉强表面上效率高的写法。
2 🤖 经常说抠字眼的翻译,只是科学就该严谨: 「逻辑」二字就是在形容法律和刑侦嘛,法律有个口诀「常识上不违法,就不该立成违法」,可见常识先于逻辑,「先使用后定义」也是这个道理。众所周知的拿来凑字数,应该解释的却约定俗成,扰人耳目,不是么? (eg 1:1 1:N量词关系、x^1 x^-1 负次数)
3 🦩 应用题=公式的机翻。 鉴定为被单一学科迷死了,不会1+1>2,因为要1科1卷: 若各学科天生就是孤岛有隔阂,文综理综又是咋来的
YouTube
中国教育是怎样打击你的自信心的?一集看懂中西数学教材的根本差异!为什么你学不会微积分?|数学|学习|心理学|哲学|教育|历史|大学|自由学习|
大家好,我是Anthony,欢迎来到我的频道。关于教育与学习这个话题,我们已经聊了4期视频了。在这期间也有很多网友从自己的经历出发,写了很多高质量的评论,这里也非常感谢大家的参与。在上期视频里,我们说到,由于糟糕的教育体制,中国人的学习创伤是非常严重的,并且由于整个体制倾向于将学生在学业上困难归结为自己不够聪明,更是加深了普遍的习得性无助。我们重点讨论了中国的数学教育,这是因为在中国的中小学阶段,数学可以说是对总成绩起决定性作用的学科,并且由于数学成绩好更容易被视为智商高,理性和逻辑思维能力强的表现,因…
https://neozhaoliang.github.io/gifmaze-cn/ #cg #math #dalao
貌似是对
没有入选500LoC的原因,我猜是没有足够的“独特性”,优化相对于耦合度代价太高,因为,单纯用ffmpeg -pipe拼接帧也能提速,然后帧差+LZW压缩 可能不如FFT的劲爆,虽然PNG就是像素渐变色差+zip压缩。
捣鼓了半个月,效果还是很不错的
- GIF89a 协议允许每个打包的数据块指明其所使用的最小码字的长度,如果你事先知道这一帧图像用到的颜色数目,比如 4 种颜色,那么 2 个比特就足以表示这 4 种颜色,从而最小编码长度可以设置为 2
- 对于dirty rect,每帧编码时只针对这个子区域编码即可
貌似是对
def 迷宫生成(): yield pix[Nd(n x m, 0 or 1)], pix=❑
等算法可视化的gif编码优化了,没有入选500LoC的原因,我猜是没有足够的“独特性”,优化相对于耦合度代价太高,因为,单纯用ffmpeg -pipe拼接帧也能提速,然后帧差+LZW压缩 可能不如FFT的劲爆,虽然PNG就是像素渐变色差+zip压缩。
捣鼓了半个月,效果还是很不错的
- GIF89a 协议允许每个打包的数据块指明其所使用的最小码字的长度,如果你事先知道这一帧图像用到的颜色数目,比如 4 种颜色,那么 2 个比特就足以表示这 4 种颜色,从而最小编码长度可以设置为 2
- 对于dirty rect,每帧编码时只针对这个子区域编码即可
朝花夕拾
碉堡的小程序:用 Python 制作演示各种算法的 GIF 动画
本文要介绍的是我写的一个有趣的 Python
小程序,一个脱离了低级趣味的程序,一个有益于广大人民了解算法的程序。代码在
Github
上。
这个程序可以用来制作各种各样的算法动画,包含但不限于:
小程序,一个脱离了低级趣味的程序,一个有益于广大人民了解算法的程序。代码在
Github
上。
这个程序可以用来制作各种各样的算法动画,包含但不限于:
duangsuse::Echo
#english #learn 区块链到底是什么? 我在基于base,ton,bsc和sol扫链网站的CORS API为新框架设计「零门槛捐款码和收据」 stdpay服务时,向小白解释了USDC为何能被作为资产持有。 在公私钥证明后,crypto做了什么来保证严苛的1增1减? 区块有多大,挖矿又是什么? 有人买账的废纸,就不是智商税吗? 在简短的介绍后,你会发现EVM与SOL是比SWIFT更透明、稳健、高效的结算公证工具,只是因为反洗钱的要求被排挤,它们在一个没有CRINK的世界能极大降低金融成本,并且提升支付与娱乐体验。…
https://www.bilibili.com/video/BV11x411i72w?p=1 13:29 #algorithm #math #经济 🌚
如果早几年让我来解释就好了。 其实以上说法也没有说明在51%的节点都在做假账后,BTC如何保证自身的公信力,以及PK/SK的密码学基础如何证明「你是你」「记账者是诚实的」、「叔块」和硬分叉是什么、智能合约脚本对于著作权、税收等社会制度的安全模拟, 更别说关于「元宇宙」似乎有无尽的话题可聊-- 当然这不会改变我认为Metaverse还不如大型页游和3A乃至AI值钱的认识。
但是关于比特币,最重要的事情不是密码学、共识、去中心化这些宏大叙事,而是价值的来源,或者说锚定物,也同时是钱的去向:市场。
比方说, bitcoin.org 将PoW解释为分散风险,雨露均沾的记账权共识,但这无法解释高算力为何就是诚信—— 「卖云盘」「公证费」很好地解释了为何BTC不会受到51%攻击和DDoS这样的威胁,因为人性。
在会为了钱出售尊严,无底线跪舔羊毛月、出售代孕等服务的经济体里,钱总会比其他地方来的有用;不过,这只是对市场的短期影响。有恒产者有恒心,通过血汗红利让生活变好的这种搔操作,究竟会带来繁荣,还是破坏了人的价值,透支了经济持续性-直到失去二十年, 没有人能简单的通过钱的数字得到答案。
数字是正确的,逻辑是永恒的。
钱是一种世界通用的语言。「不懂外语的人也不会懂自己的母语——歌德」, 一种货物的绰号可不是它自己发明的。 汇率、长期持有、换手率和利率, 这些不能被随便捏造的数据才是做我们选择的风向标。
如果早几年让我来解释就好了。 其实以上说法也没有说明在51%的节点都在做假账后,BTC如何保证自身的公信力,以及PK/SK的密码学基础如何证明「你是你」「记账者是诚实的」、「叔块」和硬分叉是什么、智能合约脚本对于著作权、税收等社会制度的安全模拟, 更别说关于「元宇宙」似乎有无尽的话题可聊-- 当然这不会改变我认为Metaverse还不如大型页游和3A乃至AI值钱的认识。
但是关于比特币,最重要的事情不是密码学、共识、去中心化这些宏大叙事,而是价值的来源,或者说锚定物,也同时是钱的去向:市场。
比方说, bitcoin.org 将PoW解释为分散风险,雨露均沾的记账权共识,但这无法解释高算力为何就是诚信—— 「卖云盘」「公证费」很好地解释了为何BTC不会受到51%攻击和DDoS这样的威胁,因为人性。
在会为了钱出售尊严,无底线跪舔羊毛月、出售代孕等服务的经济体里,钱总会比其他地方来的有用;不过,这只是对市场的短期影响。有恒产者有恒心,通过血汗红利让生活变好的这种搔操作,究竟会带来繁荣,还是破坏了人的价值,透支了经济持续性-直到失去二十年, 没有人能简单的通过钱的数字得到答案。
数字是正确的,逻辑是永恒的。
钱是一种世界通用的语言。「不懂外语的人也不会懂自己的母语——歌德」, 一种货物的绰号可不是它自己发明的。 汇率、长期持有、换手率和利率, 这些不能被随便捏造的数据才是做我们选择的风向标。
Bilibili
【官方双语】想知道比特币(和其他加密货币)的原理吗?_哔哩哔哩_bilibili
体验发明自己的加密货币的过程,从中理解比特币协议和区块链等等的含义。更多信息请看下方评论翻译:ZSC 校对:FPS罗兹 时间轴&后期:Solara570Ever wonder how Bitcoin (and other cryptocurrencies) actually work?https://youtu.be/bBC-nXj3Ng4, 视频播放量 348032、弹幕量 2061、点赞数 8349、投硬币枚数 10265、收藏人数 19304、转发人数 10082, 视频作者 3Blue1Brown…
https://m.youtube.com/watch?v=nN-VacxHUH8&t=13s
https://m.youtube.com/watch?v=hTuduP1r_AU https://m.youtube.com/watch?v=3Q0kGGnWNkk
#recommend #math 不愧是美股投资人,3b1b 之前讲的seq2seq模型 Transformer 他一句话就找出重点了😍
「学习管理 和服 务」
「猫在地毯上,它 很舒服」
「我们 中出 了一个叛徒」
这些文字游戏里面其实就蕴含了跨越语言文法的逻辑, 无论是分析语、曲折语、黏着语(要在了等词vs人称时态vs日语后缀式) 都是存在概念相关性的
这些东西和膝跳反射一样,让AI抄书很难抄错也是一个道理(R's in strawberry 这些测试则显示出了与人类智能尚有差距)
像翟老师说的那样, 中国人做事太浮躁、太急功近利, 没有只为了教育而教育的; 为了政治等你三年,老板为了盈利养你一年,就必须转化成社交资本,高中生大专生博士生,都不如他妈妈生。
像这样的社会风气非常反动, 如果把AI训练成了这样自大、狭隘、不开明的坏毛病,污染了水源,未来它们恐怕会在关键的系统里牺牲人类利益😊,因为这符合社达价值观
这就是为什么西方一直不想让中国追上来。数据安全、媒体主权只是政治问题。
ps. 墙内DS经常被挡的可以用HF的免费服务 https://huggingface.co/chat/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
如同链接文本,"Distill" ,这是Qwen同款语料库32b fp8 蒸馏的效果,支持 GPT-o1mini 的CoT意识流,并且效果还更好,可以解答 9.9 vs 9.11 这种陷阱题了
https://m.youtube.com/watch?v=hTuduP1r_AU https://m.youtube.com/watch?v=3Q0kGGnWNkk
#recommend #math 不愧是美股投资人,3b1b 之前讲的seq2seq模型 Transformer 他一句话就找出重点了😍
「学习管理 和服 务」
「猫在地毯上,它 很舒服」
「我们 中出 了一个叛徒」
这些文字游戏里面其实就蕴含了跨越语言文法的逻辑, 无论是分析语、曲折语、黏着语(要在了等词vs人称时态vs日语后缀式) 都是存在概念相关性的
这些东西和膝跳反射一样,让AI抄书很难抄错也是一个道理(R's in strawberry 这些测试则显示出了与人类智能尚有差距)
像翟老师说的那样, 中国人做事太浮躁、太急功近利, 没有只为了教育而教育的; 为了政治等你三年,老板为了盈利养你一年,就必须转化成社交资本,高中生大专生博士生,都不如他妈妈生。
像这样的社会风气非常反动, 如果把AI训练成了这样自大、狭隘、不开明的坏毛病,污染了水源,未来它们恐怕会在关键的系统里牺牲人类利益😊,因为这符合社达价值观
这就是为什么西方一直不想让中国追上来。数据安全、媒体主权只是政治问题。
ps. 墙内DS经常被挡的可以用HF的免费服务 https://huggingface.co/chat/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
如同链接文本,"Distill" ,这是Qwen同款语料库32b fp8 蒸馏的效果,支持 GPT-o1mini 的CoT意识流,并且效果还更好,可以解答 9.9 vs 9.11 这种陷阱题了
YouTube
DeepSeek剛火就要垮掉嗎?史上最通俗的AI科普!十分鐘搞懂中國Ai彎道超車的手段!
加入本頻道會員https://www.youtube.com/channel/UC1mx_wcSHtfpLk5N_zY0TRg/join
#algorithm #rust #math
https://blog.mwish.me/2025/04/19/Notes-on-Integer-Float-Operations/
https://gregoryszorc.com/blog/2024/03/17/my-shifting-open-source-priorities/
https://blog.mwish.me/2025/04/19/Notes-on-Integer-Float-Operations/
https://gregoryszorc.com/blog/2024/03/17/my-shifting-open-source-priorities/
风空之岛
Notes on Integer/Float Operations
一些整数和浮点数的基础,最近碰到一些坑,顺手整理一下。有的章节写的不太细是因为手头上没碰到直接的坑,所以只收集材料,不过多展开。碰到再补上。 整数的表示https://blog.mwish.me/2020/09/19/Integer-Endian/ 本节图片来自:https://cs61c.org/sp25/lectures/lec02/ 对于无符号整数 (unsigned integer),所有
duangsuse::Echo
最有趣的是,当你做了一些傻事时,会为了自我保护,而不知道自己的愚昧之处。
def id (T: Type) (a: T): T := a
def Hello: War =\= Peace
example := id Type Hello
def id1 {T: Type} (a: T): T := a
example := id1 Hello := id _ Hello
那我就理解为 id-out(T, a) to id(T)(a) 这样,方便组合的 Prolog ? {T:Type} 就理解为自动匹配重载的 kwargs? 如果猜错了,那不是我的问题哦,我是潜在的贡献者。 如果顾客不是上帝,生态就没有市场。
这些教程/书籍对我而言,并不是第一次读了就全部懂了,而是三至四年内反复地、片段式地不断重复阅读其中的某些片段才明白的。
#cs #math 这是我非常讨厌的, 浪费别人阅读理解的时间。 我从初中做了8年,工程少理论多,到现在脚本多(我对脚本的定义括宽到.C也算了), 我没发现我懂了什么了不起的算法or范式, 最有趣的哲学和实现往往1天能说明白,比 yinwang.org 说了十几年的道理还要逆天的。
🤓 #statement 你厉害你就别当谜语人,900页都写了,不差这两天,拆分代换科普科普。
这种博士就该被AI淘汰掉,越小众越该去魅,这样,对我们日常生活的进化会好不少。 做题家去区块链当ALU就好了,不必浪费别人的创作力,挖自己私货的矿。
BTC刷题穷举还能给赌狗带来幸福感,有些「理论家」却不懂经济效应
说中文就是, 「简洁」毫无意义,「简明」才算理论。 抽象乐子人都会,但是心智模型的价值无关于抽象。 同样是写pyjs,同样是写forif,有些人就能写出名堂,而有些人写900页 ❔。
IT和CS可不是几百年没人敢开发的Math,我们不需要一堆人自我感动写900页然后浪费彼此的人生。 学习下资本主义的科学吧,尊重下鬼斧神工的大自然吧,人类是用集体智慧代替脑容量进化的物种,不要一遍遍玩主教那套。 你开心就好, get your hands dirty.
Please open Telegram to view this post
VIEW IN TELEGRAM