2013年05月11日

I ran over this some time:

http://faculty.washington.edu/sidles/mma_svd_failure_example/

It was quite old so I ran it in Mathematica 9.0, result:
all are valid, but this warning for SVDcfail_20.m
SingularValueDecomposition::cflsvd: Machine-precision algorithm failed to converge. Arbitrary-precision algorithm is called, which is slower but more accurate.

2013年05月05日

原文在http://blog.csdn.net/zhuliting/article/details/6009672 ,但是程序结果都错了,dot 与 cross也不对。改正如下

#include <smmintrin.h>

#include<cstdio>

/*

* Copyright: LGPL.

*/

// These four from:

// http://stackoverflow.com/questions/4360920/whats-the-most-efficient-way-to-load-and-extract-32-bit-integer-values-from-a-1

inline int get_x(const __m128i& vec){return _mm_cvtsi128_si32 (vec);}

inline int get_y(const __m128i& vec){return _mm_cvtsi128_si32 (_mm_shuffle_epi32(vec,0×55));}

inline int get_z(const __m128i& vec){return _mm_cvtsi128_si32 (_mm_shuffle_epi32(vec,0xAA));}

inline int get_w(const __m128i& vec){return _mm_cvtsi128_si32 (_mm_shuffle_epi32(vec,0xFF));}

void show(const __m128& temp) {

// low to high

printf(“{“);

int v = get_x(reinterpret_cast<__m128i>(temp));

printf(“%f, “, *reinterpret_cast<float*>(&v));

v = get_y(reinterpret_cast<__m128i>(temp));

printf(“%f, “, *reinterpret_cast<float*>(&v));

v = get_z(reinterpret_cast<__m128i>(temp));

printf(“%f, “, *reinterpret_cast<float*>(&v));

v = get_w(reinterpret_cast<__m128i>(temp));

printf(“%f, “, *reinterpret_cast<float*>(&v));

printf(“}\n”);

}

/* cross */

__m128 _mm_cross_ps ( __m128 a , __m128 b) {

__m128 ea, eb, fa, fb;

// set to a[1][2][0][3] , b[2][0][1][3]

ea = _mm_shuffle_ps ( a , a , _MM_SHUFFLE ( 3 , 0 , 2 , 1 ) );

eb = _mm_shuffle_ps ( b , b , _MM_SHUFFLE ( 3 , 1 , 0 , 2 ) );

// multiply

__m128 xa = _mm_mul_ps ( ea , eb );

// set to a[2][0][1][3] , b[1][2][0][3]

fa = _mm_shuffle_ps ( a , a , _MM_SHUFFLE ( 3 , 1 , 0 , 2 ) );

fb = _mm_shuffle_ps ( b , b , _MM_SHUFFLE ( 3 , 0 , 2 , 1 ) );

// multiply

__m128 xb = _mm_mul_ps ( fa , fb );

// subtract

return _mm_sub_ps ( xa , xb );

}

/* x[0] * x[1] + y[0] * y[1] + z[0] * z[1] */

__m128 _mm_dot_ps ( __m128 x , __m128 y ) {

__m128 s , r ;

s = _mm_mul_ps ( x , y );

r = _mm_add_ps ( s , _mm_movehl_ps ( s , s ) );

r = _mm_add_ss ( r , _mm_shuffle_ps ( r , r , 1 ) );

return r ;

}

int main() {

__m128 m1 = { 1.0f, 2.0f, 3.0f, 4.0f }; // low to high, marked as 0 1 2 3

__m128 m2 = { 5.0f, 6.0f, 7.0f, 8.0f };

// {7.000000, 8.000000, 3.000000, 4.000000, }

show(_mm_movehl_ps(m1, m2));

// immediates in _MM_SHUFFLE should be read reversely

// {3.000000, 4.000000, 5.000000, 6.000000, }

show(_mm_shuffle_ps(m1, m2, _MM_SHUFFLE (1, 0, 3, 2)));

// {-4.000000, 8.000000, -4.000000, 0.000000, }

show(_mm_cross_ps(m1, m2));

// {70.000000, 44.000000, 42.000000, 64.000000, }

show(_mm_dot_ps(m1, m2));

}

2012年12月18日

rdata<-read.table(file=’~/doc/hanhan_wordfreq.csv’,header=FALSE,sep=”,”)
qdata=t(rdata)
pca<-prcomp(qdata,retx=TRUE,center=TRUE,scale.=TRUE)
summary(pca)
biplot(pca)
hanhan_wordfreq

1492 1782 2155 31368 4399 4262 1133 8281 5855
214 242 274 3702 399 967 112 1002 789
122 183 242 4067 173 444 143 1415 533
261 219 300 5096 381 714 209 1242 768
128 168 241 2904 338 430 123 604 724
46 76 67 1049 138 196 34 201 150
41 48 122 2188 219 281 62 280 151
351 486 614 8747 879 2072 338 2633 1667
501 741 1525 15604 1197 2222 728 2784 2885
16 9 59 272 79 137 34 362 221
129 155 242 2369 498 297 92 622 830
49 48 21 608 83 53 12 103 167
25 32 19 223 110 42 8 88 129
96 253 166 4696 441 618 109 788 674
119 105 127 3408 248 498 68 342 455
143 148 91 1577 271 335 35 610 412
59 108 169 1903 372 236 106 72 220
56 75 95 1007 126 142 27 263 301
290 302 589 5673 724 622 235 1105 1024
78 50 59 280 206 85 61 313 287
2 8 0 368 5 18 6 1 2
57 36 66 489 145 108 31 172 148
28 39 38 662 162 35 25 73 115
3 5 3 160 13 18 0 3 10
0 7 0 73 3 3 0 28 3
30 18 16 322 28 34 5 156 101
2011年04月17日

最近好多同学考虑下一代了。优生优育相关知识书籍都很完善,但经常没能在适当的时候读到。此文作个引子,拾漏补缺用。很多事儿做到了是锦上添花,做不到也不是世界末日。

我们家闺女生时准八斤,海淀妇幼

背景知识
推荐《育儿百科。定本》。(除了一些人种差异,比如里面说孕妇不要吃花生,是因为日本花生过敏高发)
再去借几本早些年出的靠谱些的书(比如军队出版社出的,不花里胡哨的)


为加强营养,提倡喝牛奶,吃绿叶菜、鸡蛋、核桃、深海鱼(含DHA,带鱼、鳕鱼、三文鱼等,不能多吃,可能富集重金属)
据说木耳活血,孕期不能吃

远离猫狗,特别是流浪的。猫带有弓形虫,难查难治。狂犬疫苗孕妇慎用。

孕前

前几个月,封山育林
男女双方戒除烟酒,推掉应酬。女方提前几月吃叶酸(非处方药,很便宜)。现在又提倡男方也提前几月吃叶酸。
孕期因需求量增加,易缺微量元素,吃复合维生素比较省心。不要买商标或包装上带美国国旗的(他们也有国旗法)
女方提前把工位调整到远离辐射源、噪声源。复印机打印机产生臭氧等,需通风。CRT辐射较大,CRT侧面和背面由于未作防护,辐射可能高于正面。液晶好些。电风扇辐射频率低,一般认为无害。
孕妇不能挤公交,如果必须上班可在女方单位边租房。不上班女方容易焦虑。
给家里的桌角粘上婴儿防撞球(也防碰了肚子)
防辐射服有作为心理安慰的价值。辐射问题至少是被夸大了。
做仰卧起坐
一般小孩出生选择在9月前。不然小孩在家多呆半年一年,那个年龄段又特别调皮难带,在家麻烦。以此倒推怀孕时间。
海妇孕期每两周一次孕检。。。周六周日均可,早上早起先去医院挂号

怀孕
我们发现验孕试纸的效果比说明书要滞后一周。

孕早期
孕期女方容易烦躁。产后容易忧郁。要多作心理疏导。

孕早期是指怀孕后1个月—3个月内的一段时期,这一时期是“未来宝宝”重要组织、器官的分化期,此期对外界的不良刺激最为敏感,是胎儿畸形的高发期。
特别远离烟酒、汽车尾气、装修污染、室内化学污染(杀虫剂)。
孕妇呕吐时间长短不一。我们家多吃多吐,于是控制食量。过了三个月就好了。也有一直吐到生的。
孕妇想吃酸时,因为现在大多数酸梅不酸,我们是吃了一次酸菜(潜在含亚硝酸盐)。

孕时胃口奇怪,但除了呕吐严重的阶段(此时或可食用易消化流质),一定要保证营养,绝不能一瓶老干妈一碗白饭
辣椒素会引起胎儿躁动不安
煤气灶做东西有CO、SO2、明火热辐射,孕妇不宜接近。
早期吐的厉害时,因胃酸上涌伤害食道有烧灼感。可在想吐前喝点牛奶做保护,普通的就行。

洗澡水温不要高。我们家用电吹风会恶心(可能是噪音)
少抬胳膊,不举重物,莫急蹲起
B超查男女要拿B超对着小jj部位反复照,据说不好
禁sex

孕中期
负担渐重
开始对加减速敏感。乘车容易晕,过弯难受。下车会吐水。
要多溜弯锻炼。
睡觉爱踢腿的男士请自觉去沙发
听音乐可选班德瑞等轻音乐,淘宝上有dvd,听进行曲后果自负,古典音乐适合的不多。

孕晚期
这时因胎儿下至骨盆,食欲奇好。一定要控制饮食,特别是碳水化合物。水果特别是木瓜之类甜的要少吃。不然孕妇负担沉重,胎儿超重难以自然分娩。如果糖筛(妊娠期糖尿病)不过,还得做麻烦的糖耐量测试。
胎儿会打嗝,周期性特强,不算胎动
要多溜弯锻炼
胎儿体重最后几天呈加速增长,预估体重7斤,几天后生可能就8斤了。
禁sex

分娩
海淀妇幼病床奇缺,不论是否剖宫产三天必轰你出院。入院后一般没有单人病房,别人家小孩刚生影响休息。可以多去护士站转转磨磨,我们是我老婆中午去时正好赶上有出院。
海淀妇幼提倡自然生产和母乳。
我们家头盆不称,超预产期剖宫产。
一般都背镇痛泵(不背的话产后压宫的时候疼),推进手术室后麻醉师找男方签字。
孕妇推进手术室后在里面继续排队,在外面等时不要因时间长而胡思乱想。
剖完男方要去把老婆抬回病床
如果生两次,且两次都是剖宫产,将共用一刀口。剖宫产后疤痕子宫需恢复,两年不能生育。
新生儿小脚丫几百
有个第二代筛查(888元),我们也被坑了。注意宣讲人的衣服颜色与医生和护士的都不同
脐带血我们捐了(排他保存贵)。
听力筛查不过的很多,一般复查就过了
生后第二天打乙肝疫苗第一针,扎脚后跟

拍照记得关闪光
小孩爱抓自己,我们家一岁前脸上老有血道道。刚生时剪不了指甲可以戴小手套,但不要五指的不然可能压迫神经
三个月前宝宝不能和母亲同床睡,因此时宝宝若被衣服蒙上还没有自我解救的能力
抱刚生的小孩注意不要让TA脊柱颈椎吃劲
大点了提倡让小孩脸朝前的抱法,视野开阔

月子
我们家在家里养。用小床单挂在空调出风口前挡着防止风直吹。
满月前后被剃胎发的,百天和周岁时被拍照的严重骚扰
小孩一岁半前,卤门没合上,脑门的一撮头发不剃

提倡母乳喂养,除了安全营养等考虑,喝奶粉易上火易便秘
孕时要坚持作乳房按摩,快生时就能挤出点了。胸小、瘦人不一定没奶;反之不一定有奶。
生后尽早让宝宝嘬,剖宫产可以取侧卧位。我们家做乳腺疏通很有效。
白天上班的可以用挤奶器挤了放冰箱等。
喂奶的时候抹点剩奶到宝宝脸上可防奶癣皮肤好
夏天也记得给宝宝穿袜子,保暖且养成习惯
邦宝适的纸尿裤最差
刚生的宝宝不怕吵,如果不爱睡觉可能是家里空气不好。可以到外面兜兜风,颠颠就睡了。

宝宝坐小躺椅上肌肉放松,大便容易

2岁前
宝宝依次学会俯卧抬头、翻身、坐起(三翻六坐七滚八爬)。在宝宝学站起要教会他爬,锻炼四肢协调(一旦会走就不乐意爬了)。太早站走负担重摔的多。

宝宝半夜起来想玩千万不能纵容,一次就会养成习惯,以后就成负担。
晚上睡觉用安慰奶嘴小心牙变形

微量元素检验结果波动大。

如果大人有龋齿,喂食时不要接触勺子,包括舔勺底。试温度可以将奶滴手背或者将饭悬空倒入嘴

墨菲定律:一旦宝宝不穿纸尿裤,TA就会尿尿
宝宝刚睡醒时容易把出尿来

宝宝稍大,就可以开始逗着玩了(当然不是抛来抛去)。宝宝一般都爱玩躲猫猫和挠痒痒
不同年龄段有以下游戏
1. 捡豆子(黄豆、绿豆),开始时要死盯着防止吃下去;再大点可以放小碗里用小勺子扒拉
2. 衣叉(我们家宝宝的最爱)
3. 拔草
4. 看儿歌的画,听儿歌
相比之下,买的那种整套的玩具耐玩的不多,有的太闪太亮太吵不好,可贴纸片衰减下
商家为了免责,将玩具的最低适用年龄标的偏高,有的楞标一“含细小零件”
这几样还行
5. 音乐小鼓
6. 发声挂图
7. 小小推车
8. 带乳突的球
9. 成套婴儿摇铃、拨浪鼓
10. 毛毛熊

小孩发烧不能捂不能冻,参见松鼠会文《当医生的宝宝遭遇感冒》

有几样有惊无险的病:幼儿急疹、秋季腹泻(先吐后烧再拉)

小孩不能看电视等电子视频(比如动画片、广告等强刺激的。长镜头的DV应没问题),否则影响上学后认知能力发展。

http://news.bbc.co.uk/2/hi/3603235.stm

http://pediatrics.aappublications.org/cgi/content/abstract/113/4/708

一般三岁正式入幼儿园,此前要上亲子班,要提前至少一年注册。

牛人的说法是可以接受的,牛人决定论是不行的,比英雄史观还糟。英雄史观是以成败论英雄。如果连成败都未定,就以牛人决定论来决定自己,那就真无成功之望了。

“连什么都不知道”是粗暴的攻击。以前缺乏通讯的时代,讲究大量占有材料,比如“博览群书”、“学富五车”,有各种各样的知识大赛。现在来说,知识,特别是确定性的知识,只在指尖。学习的过程不是把很多东西存到脑子里,而更多的是建立联系,发现新知。

两耳不闻窗外事是一种逃避,声声入耳是另一种。

想问题时想上中下三策:首先,最简单的最保守的作下策,可以作一些基础的检验;然后天马的想一个上策;最后设法调和两者想一个中策

2010年11月15日

Ohio课件

Instance-wise analysis and transformation (thanks to dependency polyhedral) allows the polyhedral model to unify additional transformations (such as index set splitting, loop peeling, tiling, loop fusion or fission, and transformation of imperfectly nested loops) with those already unified by the unimodular framework (such as loop interchange, skewing, and reversal of perfectly nested loops).

Given an affine objective function, optimization becomes scheduling (linear programming).

LLVM Polly

This book helps:  Decision procedures: an algorithmic point of view

2010年11月05日

(原方法不对)

其实是说对于出现的一行待选字,光标应该默认指向中间那个字,而不是一端,这样用左右键移动选择时可以加快一倍(如果是数字选择那么按键就无所谓了,但还是能减少眼球移动的)。

至于上下键则不受此影响。(但如果待选字有三排以上(这个完全可以有),那么当前行也应该是中间那行(row))

2010年10月27日

为了理解Haskell的库设计,可读:Algebra Of Programming (Bird, De Moor)

为了了解惰性求值(lazy evaluation)和fix函数(Control.Monad.Fix)实现,可读 Implementing functional languages: a tutorial

Tags: ,.
2010年10月26日

O’Caml 语言有广泛的应用,为微软新语言F#之母。

初级介绍

Intro Manual Book

中级介绍

INRIA

常见操作

官网 (手册等)

自动包管理

O’Caml HUMP

Tags: .
2010年09月08日

create your own China map