有人知道这种行为的文档吗?
import numpy as np
A = np.random.uniform(0,1,(10,5))
w = np.ones(5)
Aw = A*w
Sym1 = Aw.dot(Aw.T)
Sym2 = (A*w).dot((A*w).T)
diff = Sym1 - Sym2
Run Code Online (Sandbox Code Playgroud)
diff.max()接近机器精度非零,例如4.4e-16.
这(与0的差异)通常很好......在有限精度的世界里,我们不应该感到惊讶.
此外,我猜想numpy对于对称产品很聪明,可以节省触发器并确保对称输出......
但我处理混乱的系统,这种小的差异在调试时很快变得明显.所以我想确切地知道发生了什么.
python floating-point numpy linear-algebra floating-accuracy
当我通过supertab遍历完成备选列表(即通过按下激活<TAB>
)时,选择从列表的末尾开始,并在反复按<TAB>
或时向上循环<C-n>
.按下<S-TAB>
或<C-p>
循环向下.
当vim内置(?)激活自动完成时,会发生相反的行为,我觉得更方便<C-x><C-n>
.然后<C-n>
向下和<C-p>
向上循环.
我对vim知之甚少.我怎样才能解决这个问题?
我正在尝试为我的.tex
文件应用以下设置:
set scroll=4
Run Code Online (Sandbox Code Playgroud)
我把它放在我~/.vimrc
和我的~/.vim/ftplugin/tex.vim
文件中.对于一般文件,这工作正常.对于.tex
文件,将应用这些文件中的所有其他设置.但不是滚动设置.
注意:我安装了乳胶套件,这是我怀疑覆盖设置.
当我输入
:verbose set scroll
Run Code Online (Sandbox Code Playgroud)
我明白了:
scroll=22
Last set from ~/.vim/ftplugin/tex.vim
Run Code Online (Sandbox Code Playgroud)
注意:22是gvim窗口高度(行数)的一半.
如果我~/.vim/ftplugin/tex.vim
在编辑时获取文件,则滚动设置应用正常,但我希望它在启动时与其他设置一起应用.
谢谢
谢谢你的好建议.但它还没有奏效.我看了看,scriptnames
这是输出:
62: /home/patrick/.vim/after/ftplugin/tex.vim
63: /home/patrick/.vim/indent/tex.vim
64: /usr/share/vim/vim72/syntax/bib.vim
65: /home/patrick/.vim/ftplugin/bib_latexSuite.vim
66: /home/patrick/.vim/after/ftplugin/bib.vim
67: /usr/share/vim/vim72/indent/bib.vim
68: /home/patrick/.vim/nerdtree_plugin/exec_menuitem.vim
69: /home/patrick/.vim/nerdtree_plugin/fs_menu.vim
Run Code Online (Sandbox Code Playgroud)
如您所见,我还在after/ftplugin
目录中添加了一个bib.vim文件,因为我在启动时加载了4个选项卡,其中一个是bib文件.但是,它仍然无效.
好吧,我仍然遇到同样的问题,但有更多的信息.我现在正在运行vim的Windows版本.再次vim声称滚动最后设置~/.vimrc
.但是无论何时都会被覆盖
因此,我不再相信这与乳胶套件或调用设置的顺序有关.
关于StackOverflow的第一个问题......
有没有人知道通过CodeBlocks查看语言的参考/文档手册的方法?专门针对C/C++.
示例:
假设我要查找strncpy()的引用.在一个非常古老的Borland系统(我们在学校使用)中,我会写下这个单词并在其上单击鼠标,从而将其作为参考.如果可以以某种方式浏览手册,那也很好.
我是否完全忽略了这一点(也在搜索谷歌),还是缺少了?如果它丢失了,那么在没有在线的情况下搜索C和/或参考手册的最快方法是什么?
问候!
这个错误是由于Matlab太聪明了.
我有类似的东西
for k=1:N
stats = subfun(E,k,stats);
end
Run Code Online (Sandbox Code Playgroud)
其中stats
是一个1xN
阵列,N=5000
比方说,和subfun
计算stats(k)
从E
,并且它填充到统计
function stats = subfun(E,k,stats)
s = mean(E);
stats(k) = s;
end
Run Code Online (Sandbox Code Playgroud)
当然,来回传递大数组会有一些开销,只是为了填充其中一个元素.然而,在我的情况下,开销是可以忽略的,我更喜欢这个代码而不是
for k=1:N
s = subfun(E,k);
stats(k) = s;
end
Run Code Online (Sandbox Code Playgroud)
我的偏好是因为我实际上有更多的任务而不仅仅是stats
.此外,一些任务实际上更复杂.
如上所述,开销可以忽略不计.但是,如果我做一些微不足道的事情,比如这个无关紧要的if语句
for k=1:N
i = k;
if i>=1
stats = subfun(E,i,stats);
end
end
Run Code Online (Sandbox Code Playgroud)
然后,在subfun内发生的任务突然变为"永远"(它比N线性地增加得快得多).这是任务,而不是永远的计算.事实上,它甚至比以下荒谬更糟糕subfun
function stats = subfun(E,k,stats)
s = calculation_on_E(E);
clear stats
stats(k) = s;
end
Run Code Online (Sandbox Code Playgroud)
这需要每次重新分配统计数据.
有没有人知道为什么会这样?
这对我来说似乎是个错误.似乎有必要rng()
在Matlab中调用两次以获得所需的种子.考虑以下实验:
>> sd = rng(3) % THIS DOES NOT WORK
sd =
Type: 'twister'
Seed: 0
State: [625x1 uint32]
>> sd = rng(3) % BUT NOW IT DOES
sd =
Type: 'twister'
Seed: 3
State: [625x1 uint32]
>> sd = rng(3) % AND AGAIN, TO CONFIRM
sd =
Type: 'twister'
Seed: 3
State: [625x1 uint32]
>> sd = rng('shuffle') % BUT THIS FAILS
sd =
Type: 'twister'
Seed: 3
State: [625x1 uint32]
>> sd = rng('shuffle') % BUT …
Run Code Online (Sandbox Code Playgroud) 我试图摆脱vim中令人讨厌的键盘映射,即
\c
Run Code Online (Sandbox Code Playgroud)
映射仅为latex文件加载,因此它应该与latex-suite相关.这很烦人,因为如果\cite
没有这个键映射会破坏一切,它就无法打字.我可以通过输入以下内容"手动"取消映射:
:unmap! \c
Run Code Online (Sandbox Code Playgroud)
但是当我把它放到我的~/.vimrc
文件中时,这不起作用,因为它说没有这样的键映射.我想这是因为keymap是在加载之后加载的.vimrc
,虽然我不确定.
我已经尝试locate
在bash中找到我的系统上的所有文件,这些文件在其文件名中都有"vim",然后grep keyword $filename
查找对应该相关的关键字的所有引用.
我搜索的关键字是"繁体",因为这就是调用映射的内容(这是我:map!
在vim普通模式下输入的内容).它找到一些包含"Traditional"但没有任何内容的条目\c
,除了在文件中:
~/.gnome2/gvim-sA9LOO-session.vim
Run Code Online (Sandbox Code Playgroud)
但据我所知,启动时vim不会使用此文件.
有人知道任何修复?
vim ×3
matlab ×2
c ×1
c++ ×1
codeblocks ×1
keymapping ×1
linux ×1
numpy ×1
performance ×1
python ×1
random ×1
vim-plugin ×1