Text
发哨子的人
注:原文2020年03月10日发表在微信公众号人物(renwumag1980)及微博
2019年12月30日,艾医生曾拿到过一份不明肺炎病人的病毒检测报告,她用红色圈出「SARS冠状病毒」字样,当大学同学问起时,她将这份报告拍下来传给了这位同是医生的同学。当晚,这份报告传遍了武汉的医生圈,转发这份报告的人就包括那8位被警方训诫的医生。
这给艾医生带来了麻烦,作为传播的源头,她被医院纪委约谈,遭受了「前所未有的、严厉的斥责」,称她是作为专业人士在造谣。
此前的一些报道,艾医生被称为「又一个被训诫的女医生浮出水面」,也有人将她称为「吹哨人」,艾医生纠正了这个说法,她说自己不是吹哨人,是那个「发哨子的人」。
这是《人物》3月刊封面《武汉医生》的第二篇报道。
文|龚菁琦
编辑|金石
摄影|尹夕远
/ 艾医生 /
接到武汉市中心医院急诊科主任艾医生同意采访的短信是3月1日凌晨5点,大约半小时后,3月1日凌晨5点32分,她的同事、甲状腺乳腺外科主任江学庆因感染新冠肺炎去世。两天后,该院眼科副主任梅仲明过世,他和李文亮是同一科室。
截止2020年3月9日,武汉市中心医院已有4位医护人员因感染新冠肺炎去世——疫情发生以来,这家离华南海鲜市场只几公里的医院成为了武汉市职工感染人数最多的医院之一,据媒体报道医院超过200人被感染,其中包括三个副院长和多名职能部门主任,多个科室主任目前正在用ECMO维持。
死亡的阴影笼罩着这家武汉市最大的三甲医院,有医生告诉《人物》,在医院的大群里,几乎没有人说话,只在私下默默悼念、讨论。
悲剧原本有机会避免。2019年12月30日,艾医生曾拿到过一份不明肺炎病人的病毒检测报告,她用红色圈出「SARS冠状病毒」字样,当大学同学问起时,她将这份报告拍下来传给了这位同是医生的同学。当晚,这份报告传遍了武汉的医生圈,转发这份报告的人就包括那8位被警方训诫的医生。
这给艾医生带来了麻烦,作为传播的源头,她被医院纪委约谈,遭受了「前所未有的、严厉的斥责」,称她是作为专业人士在造谣。
3月2日下午,艾医生在武汉市中心医院南京路院区接受了《人物》的专访。她一个人坐在急诊室办公室中,曾经一天接诊超过1500位患者的急诊科此时已恢复了安静,急诊大厅里只躺着一名流浪汉。
此前的一些报道,艾医生被称为「又一个被训诫的女医生浮出水面」,也有人将她称为「吹哨人」,艾医生纠正了这个说法,她说自己不是吹哨人,是那个「发哨子的人」。采访中,艾医生数次提起「后悔」这个词,她后悔当初被约谈后没有继续吹响哨声,特别是对于过世的同事,「早知道有今天,我管他批评不批评,『老子��到处说,是不是?」
关于武汉市中心医院和艾医生本人在过去的两个多月中到底经历了什么?以下,是艾医生的讲述——
前所未有的训斥
去年12月16日,我们南京路院区急诊科接诊了一位病人。莫名其妙高烧,一直用药都不好,体温动都不动一下。22号就转到了呼吸科,做了纤维支气管镜取了肺泡灌洗液,送去外面做高通量测序,后来口头报出来是冠状病毒。当时,具体管床的同事在我耳边嚼了几遍:艾主任,那个人报的是冠状病毒。后来我们才知道那个病人是在华南海鲜做事的。
紧接着12月27日,南京路院区又来了一个病人,是我们科一位医生的侄儿,40多岁,没有任何基础疾病,肺部一塌糊涂,血氧饱和只有90%,在下面其他医院已经治疗了将近10天左右都没有任何好转,病人收到了呼吸科监护室住院。同样做了纤维支气管镜取了肺泡灌洗液送去检测。
12月30日那天中午,我在同济医院工作的同学发了一张微信对话截图给我,截图上写着:「最近不要去华南啊,那里蛮多人高烧……」他问我是不是真的,当时,我正在电脑上看一个很典型的肺部感染患者的CT,我就把CT录了一段11秒钟的视频传给他,告诉他这是上午来我们急诊的一个病人,也是华南海鲜市场的。
当天下午4点刚过,同事给我看了一份报告,上面写的是:SARS冠状病毒、绿脓假单胞菌、46种口腔/呼吸道定植菌。我仔细看了很多遍报告,下面的注释写着:SARS冠状病毒是一种单股正链RNA病毒。该病毒主要传播方式为近距离飞沫传播或接触患者呼吸道分泌物,可引起的一种具有明显传染性,可累及多个脏器系统的特殊肺炎,也称非典型肺炎。
当时,我吓出了一身冷汗,这是一个很可怕的东西。病人收在呼吸科,按道理应该呼吸科上报这个情况,但是为了保险和重视起见,我还是立刻打电话上报给了医院公共卫生科和院感科。当时我们医院呼吸科主任正好从我门口过,他是参加过非典的人,我把他抓住,说,我们有个病人收到你们科室,发现了这个东西。他当时一看就说,那就麻烦了。我就知道这个事情麻烦了。
给医院打完电话,我也给我同学传了这份报告,特意在「SARS冠状病毒、绿脓假单胞菌、46种口腔/呼吸道定植菌」这一排字上画了个红圈,目的是提醒他注意、重视。我也把报告��在了科室医生群里面,提醒大家注意防范。
当天晚上,这个东西就传遍了,各处传的截屏都是我画红圈的那个照片,包括后来知道李文亮传在群里的也是那份。我心里当时就想可能坏事儿了。10点20,医院发来了信息,是转市卫健委的通知,大意就是关于不明原因肺炎,不要随意对外发布,避免引起群众恐慌,如果因为信息泄露引发恐慌,要追责。
我当时心里就很害怕,立刻把这条信息转给了我同学。过了大概一个小时,医院又来了一份通知,再次强调群内的相关消息不能外传。一天后,1月1日晚上11点46分,医院监察科科长给我发了条消息,让我第二天早上过去一下。
那一晚上我都没有睡着,很担忧,翻来覆去地想,但又觉得凡事总有两面性,即便造成不良影响,但提醒武汉的医务人员注意防范也不一定是个坏事。第二天早上8点多一点,还没有等我交完班,催我过去的电话就打来了。
之后的约谈,我遭受了前所未有的、非常严厉的斥责。
当时,谈话的领导说,「我们出去开会都抬不起头,某某某主任批评我们医院那个艾医生,作为武汉市中心医院急诊科主任,你是专业人士,怎么能够没有原则没有组织纪律造谣生事?」这是原话。让我回去跟科室的200多号人一个个地口头传达到位,不能发微信、短信传达,只能当面聊或者打电话,不许说关于这个肺炎的任何事情,「连自己的老公都不能说」……
我整个人一下子就懵了,他不是批评你这个人工作不努力,而是好像整个武汉市发展的大好局面被我一个人破坏了。我当时有一种很绝望的感觉,我是一个平时认认真真、勤勤恳恳工作的人,我觉得自己做的事情都是按规矩来的,都是有道理的,我犯了什么错?我看到了这个报告,我也上报医院了,我和我的同学,同行之间对于某一个病人的情况进行交流,没有透露病人的任何私人信息,就相当于是医学生之间讨论一个病案,当你作为一个临床的医生,已经知道在病人身上发现了一种很重要的病毒,别的医生问起,你怎么可能不说呢?这是你当医生的本能,对不对?我做错什么了?我做了一个医生、一个人正常应该做的事情,换作是任何人我觉得都会这么做。
我当时的情绪也很激动,说,这个事是我做的,跟其余人都没有关系,你们干脆把我抓去坐牢吧。我说我现在这个状态不适合在这个岗位上继续工作了,想要休息一段时间。领导没有同意,说这个时候正是考验我的时候。
当天晚上回��,我记得蛮清楚,进门后就跟我老公讲,我要是出了什么事情,你就好好地把孩子带大。因为我的二宝还很小,才1岁多。他当时觉得莫名其妙,我没有跟他说自己被训话的事,1月20号,钟南山说了人传人之后,我才跟他说那天发生了什么。那期间,我只是提醒家人不要去人多的地方,出门要戴口罩。
外围科室
很多人担心我也是那8个人之一被叫去训诫。实际上我没有被公安局训诫,后来有好朋友问我,你是不是吹哨人?我说我不是吹哨人,我是那个发哨子的人。
但那次约谈对我的打击很大,非常大。回来后我感觉整个人心都垮了,真的是强打着精神,认真做事,后来所有的人再来问我,我就不能回答了。
我能做的就是先让急诊科重视防护。我们急诊科200多人,从1月1号开始,我就叫大家加强防护,所有的人必须戴口罩、戴帽子、用手快消。记得有一天交班有个男护士没戴口罩,我马上就当场骂他「以后不戴口罩就不要来上班了」。
1月9号,我下班时看见预检台一个病人对着大家咳,从那天后,我就要求他们必须给来看病的病人发口罩,一人发一个,这个时候不要节约钱,当时外面在说没有人传人,我又要在这里强调戴口罩加强防护,都是很矛盾的。
那段时间确实很压抑,非常痛苦。有医生提出来要把隔离衣穿外头,医院里开会说不让,说隔离衣穿外头会造成恐慌。我就让科室的人把隔离服穿白大褂里面,这是不符合规范的,很荒谬的。
我们眼睁睁地看着病人越来越多,传播区域的半径越来越大,先是华南海鲜市场附近可能跟它有关系,然后就传传传,半径越来越大。很多是家庭传染的,最先的7个人当中就有妈妈给儿子送饭得的病。有诊所的老板得病,也是来打针的病人传给他的,都是重得不得了。我就知道肯定有人传人。如果没有人传人,华南海鲜市场1月1日就关闭了,怎么病人会越来越多呢?
很多时候我都在想,如果他们当时不那样训斥我,心平气和地问一下这件事情的来龙去脉,再请别的呼吸科专家一起沟通一下,也许局面会好一些,我至少可以在医院内部多交流一下。如果是1月1号大家都这样引起警惕,就不会有那么多悲剧了。
1月3号下午,在南京路院区,泌尿外科的医生们聚集在一起回顾老主任的工作历程,参会的胡卫峰医生今年43岁,现在正在抢救;1月8号下午,���京路院区22楼,江学庆主任还组织了武汉市甲乳患者康复联欢会;1月11号早上,科室跟我汇报急诊科抢救室护士胡紫薇感染,她应该是中心医院第一个被感染的护士,我第一时间给医务科科长打电话汇报,然后医院紧急开了会,会上指示把「两下肺感染,病毒性肺炎?」的报告改成「两肺散在感染」;1月16号最后一次周会上,一位副院长还在说:「大家都要有一点医学常识,某些高年资的医生不要自己把自己搞得吓死人的。」另一位领导上台继续说:「没有人传人,可防可治可控。」一天后,1月17号,江学庆住院,10天后插管、上ECMO。
中心医院的代价这么大,就是跟我们的医务人员没有信息透明化有关。你看倒下的人,急诊科和呼吸科的倒是没有那么重的,因为我们有防护意识,并且一生病就赶紧休息治疗。重的都是外围科室,李文亮是眼科的,江学庆是甲乳科的。
江学庆真的非常好的一个人,医术很高,全院的两个中国医师奖之一。而且我们还是邻居,我们一个单元,我住四十几楼,他住三十几楼,关系都很好,但是平时因为工作太忙,就只能开会、搞医院活动时候见见面。他是个工作狂,要么就在手术室,要么就在看门诊。谁也不会特意跑去跟他说,江主任,你要注意,戴口罩。他也没有时间和精力打听这些事,他肯定就大意了:「有什么关系?就是个肺炎。」这个是他们科室的人告诉我的。
如果这些医生都能够得到及时的提醒,或许就不会有这一天。所以,作为当事人的我非常后悔,早知道有今天,我管他批评不批评我,「老子」到处说,是不是?
虽然和李文亮同在一个医院,一直到去世之前我都不认得他,因为医院4000多号人太多了,平时也忙。他去世前的那天晚上,ICU的主任跟我打电话借急诊科的心脏按压器,说李文亮要抢救,我一听这个消息大吃一惊,李文亮这个事整个过程我不了解,但是他的病情跟他受训斥之后心情不好有没有关系?这我要打个问号,因为受训的感觉我感同身受。
后来,事情发展到这一步,证明李文亮是对的时候,他的心情我非常能理解,可能跟我的心情一样,不是激动、高兴,而是后悔,后悔当初就应该继续大声疾呼,应该在所有的人问我们的时候,继续说。很多很多次我都在想,如果时间能够倒回来该多好。
活着就是好的
在1月23日封城前一天的晚上,有相关部门的朋友打电话问我武汉市急诊病人的真实情况。我说你代表私人,还是代表公家。他说我代表私人。我说代表个人就告诉你真话,1月21号,我们急诊科接诊1523个病人,是往常最多时的3倍,其中发烧的有655个人。
那段时间急诊科的状况,经历过的人一辈子���忘不了,甚至会颠覆你的所有人生观。
如果说这是打仗,急诊科就在最前线。但当时的情况是,后面的病区已经饱和了,基本上一个病人都不收,ICU也坚决不收,说里面有干净的病人,一进去就污染了。病人不断地往急诊科涌,后面的路又不通,就全部堆在急诊科。病人来看病,一排队随便就是几个小时,我们也完全没法下班,发热门诊和急诊也都不分了,大厅里堆满了病人,抢救室输液室里到处都是病人。
还有的病人家属来了,说要一张床,我的爸爸在汽车里面不行了,因为那时候地下车库已封,他车子也堵着开不进来。我没办法,带着人和设备跑去汽车里去,一看,人已经死了,你说是什么感受,很难受很难受。这个人就死在汽车里,连下车的机会都没有。
还有一位老人,老伴刚在金银潭医院去世了,她的儿子、女儿都被感染了,在打针,照顾她的是女婿,一来我看她病得非常重,联系呼吸科给收进去住院,她女婿一看就是个有文化有素质的人,过来跟我说谢谢医生等等的,我心里一紧,说快去,根本耽误不了了。结果送去就去世了。一句谢谢虽然几秒钟,但也耽误了几秒。这句谢谢压得我很沉重。
还有很多人把自己的家人送到监护室的时候,就是他们见的最后一面,你永远见不着了。
我记得大年三十的早上我来交班,我说我们来照个相,纪念一下这个大年三十,还发了个朋友圈。那天,大家都没有说什么祝福,这种时候,活着就是好的。
以前,你如果有一点失误,比如没有及时打针,病人都可能还去闹,现在没人了,没有人跟你吵,没有人跟你闹了,所有人都被这种突然来的打击击垮了,搞蒙了。
病人死了,很少看到家属有很伤心地哭的,因为太多了,太多了。有些家属也不会说医生求求你救救我的家人,而是跟医生说,唉,那就快点解脱吧,已经到了这个地步。因为这时候每个人怕的都是自己被感染。
一天发热门诊门口的排队,要排5个小时。正排着一个女的倒下了,看她穿着皮衣,背着包包,穿着高跟鞋,应该是很讲究的一个中年女性,可是没有人敢上前去扶她,就在地上躺了很久。只得我去喊护士、医生来去扶她。
1月30号我早上来上班,一个白发老人的儿子32岁死了,他就盯着看医生给他开死亡证明。根本没有眼泪,怎么哭?没办法哭。看他的打扮,可能就是一个外来的打工的,没有任何渠道去反映。没有确诊,他的儿子,就变成了一张死亡证明。
这也是我想要去呼吁一下的。在急诊科死亡的病人都是���有诊断、没办法确诊的病例��等这个疫情过去之后,我希望能给他们一个交代,给他们的家庭一些安抚,我们的病人很可怜的,很可怜。
「幸运」
做了这么多年医生,我一直觉得没有什么困难能够打倒我,这也和我的经历、个性有关。
9岁那年我爸爸就胃癌去世了,那个时候我就想着长大了当个医生去救别人的命。后来高考的时候,我的志愿填的全部都是医学专业,最后考取了同济医学院。1997年我大学毕业,就到了中心医院,之前在心血管内科工作,2010年到急诊科当主任的。
我觉得急诊科就像我的一个孩子一样,我把它搞成这么大,搞得大家团结起来,做成这个局面不容易,所以很珍惜,非常珍惜这个集体。
前几天,我的一个护士发朋友圈说,好怀念以前忙碌的大急诊,那种忙跟这种忙完全是两个概念。
在这次疫情之前,心梗、脑梗、消化道出血、外伤等等这些才是我们急诊的范畴。那种忙是有成就感的忙,目的明确,针对各种类型的病人都有很通畅的流程,很成熟,下一步干什么,怎么做,出了问题找哪一个。而这一次是这么多危重病人没办法去处理,没办法收住院,而且我们医务人员还在这种风险之中,这种忙真的很无奈,很痛心。
有一天早上8点,我们科一个年轻医生跟我发微信,也是蛮有性格的,说我今天不来上班了,不舒服。因为我们这里都有规矩的,你不舒服要提前跟我说好安排,你到8点钟跟我说,我到哪里去找人。他在微信中对我发脾气,说大量的高度疑似病例被你领导的急诊科放回社会,我们这是作孽!我理解他是因为作为医生的良知,但我也急了,我说你可以去告我,如果你是急诊科主任,你该怎么办?
后来,这个医生休息了几天后,还是照样来工作。他不是说怕死怕累,而是遇到这种情况,一下子面对这么多病人感到很崩溃。
作为医生来说,特别是后面很多来支援的医生,根本心理上受不了,碰到这种情况懵了,有的医生、护士就哭。一个是哭别人,再一个也是哭自己,因为每个人都不知道什么时候就轮到自己感染。
大概在1月中下旬,医院的领导也陆陆续续地都病倒了,包括我们的门办主任,三位副院长。医务科科长的女儿也病了,他也在家里休息。所以基本上那一段时间是没有人管你,你就在那儿战斗吧,就是那种感觉。
我身边的人也开始一个接一个地倒掉。1月18日,早上8点半,我们倒的第一个医生,他说主任我中招了,不烧,只做了CT,肺部一大坨磨玻璃。不一会儿,隔离病房负责的一个责任护士,告诉我说他也倒了。晚上,我们的护士长也倒了。我当时非常真实的第一感觉是——幸运,因为倒得早,可以早点下战场。
这三个人我都密切接触过,我就是抱着必倒的信念每天在工作,结果一直没倒。全院的人都觉得我是个奇迹。我自己分析了一下,可能是因为我本身有哮喘,在用一些吸入性的激素,可能会抑制这些病毒在肺内沉积。
我总觉得我们做急诊的人都算是有情怀的人——在中国的医院,急诊科的地位在所有科室当中应该是比较低的,因为大家觉得急诊,无非就是个通道,把病人收进去就行了。这次抗疫中,这种忽视也一直都存在。
早期的时候,物资不够,有时候分给急诊科的防护服质量非常差,看到我们的护士竟然穿着这种衣服上班,我很生气,在周会群里面发脾气。后来还是好多主任把他们自己科室藏的衣服都给我了。
还有吃饭问题。病人多的时候管理混乱,他们根本想不到急诊科还差东西吃,很多科室下班了都有吃的喝的,摆一大排,我们这里什么都没有,发热门诊的微信群里,有医生抱怨,「我们急诊科只有纸尿裤……」我们在最前线战斗,结果是这样,有时候心里真的很气。
我们这个集体真的是很好,大家都是只有生病了才下火线。这次,我们急诊科有40多个人感染了。我把所有生病的人建了一个群,本来叫「急诊生病群」,护士长说不吉利,改成「急诊加油群」。就是生病的人也没有很悲伤、很绝望、很抱怨的心态,都是蛮积极的,就是大家互相帮助,共度难关那种心态。
这些孩子们、年轻人都非常好,就是跟着我受委屈了。我也希望这次疫情过后,国家能加大对急诊科的投入,在很多国家的医疗体系中,急诊专业都是非常受重视的。
不能达到的幸福
2月17号,我收到了一条微信,是那个同济医院的同学发给我的,他跟我说「对不起」,我说:幸好你传出去了,及时提醒了一部分人。他如果不传出去的话,可能就没有李文亮他们这8个人,知道的人可能就会更少。
这次,我们有三个女医生全家感染。两个女医生的公公、婆婆加老公感染,一个女医生的爸爸、妈妈、姐姐、老公,加她自己5个人感染。大家都觉得这么早就发现这个病毒,结果却是这样,造成这么大的损失,代价太惨重了。
这种代价体现在方方面面。除了去世的人,患病的人也在承受。
我们「急诊加油群」里,大家经常会交流身体状况,有人问心率总在120次/分,要不要紧?那肯定要紧,一动就心慌,这对他们终身都会有影响的,以后年纪大了会不会心衰?这都不好说。以后别人可以去爬山,出去旅游,他们可能就不行,那都是有可能的。
还有武汉。你说我们武汉是个多热闹的地方,现在一路上都是安安静静的,很多东西买不到,还搞得全国都来支援。前几天广西的一个医疗队的护士在工作的时候突然昏迷了,抢救,后来人心跳有了,但还是在昏迷。她如果不来的话,在家里可以过得好好的,也不会出这种意外。所以,我觉得我们欠大家的人情,真的是。
经历过这次的疫情,对医院里很多人的打击都非常大。我下面好几个医务人员都有了辞职的想法,包括一些骨干。大家之前对于这个职业的那些观念、常识都难免有点动摇——就是你这么努力工作到底对不对?就像江学庆一样,他工作太认真,太对病人好,每一年的过年过节都在做手术。今天有人发一个江学庆女儿写的微信,说她爸爸的时间全部给了病人。
我自己也有过无数次的念头,是不是也回到家做个家庭主妇?疫情之后,我基本上没回家,和我老公住在外面,我妹妹在家帮我照顾孩子。我的二宝都不认得我了,他看视频对我没感觉,我很失落,我生这个二胎不容易,出生的时候他有10斤,妊娠糖尿病我也得了,原本我还一直喂奶的,这一次也断了奶——做这个决定的时候,我有点难过,我老公就跟我说,他说人的一生能够遇到一件这样的事情,并且你不光是参与者,你还要带一个团队去打这场仗,那也是一件很有意义的事情,等将来一切都恢复正常以后大家再去回忆,也是一个很宝贵的经历。
2月21号早上领导和我谈话,其实我想问几个问题,比如有没有觉得那天批评我批评错了?我希望能够给我一个道歉。但是我不敢问。没有人在任何场合跟我说表示抱歉这句话。但我依然觉得,这次的事情更加说明了每个人还是要坚持自己独立的思想,因为要有人站出来说真话,必须要有人,这个世界必须要有不同的声音,是吧?
作为武汉人,我们哪一个不热爱自己的城市?我们现在回想起来以前过得那种最普通的生活,是多么奢侈的幸福。我现在觉得把宝宝抱着,陪他出去玩一下滑梯或者跟老公出去看个电影,在以前再平常都不过,到现在来说都是一种幸福,都是不能达到的幸福。
from https://ift.tt/2TGCPOd
1 note
·
View note
Text
【转】遗传算法解决最小生成树问题
这个算法好像上大学的时候很火,但是现在很少听到,用到? 转载内容,未经测试,不解释原理。
一共三个函数文件,GA.m 、fitness.m 、prufer.m
1。GA.m文件
%遗传算法,prufer编码解决最小生成树问题 clc
A=[inf,1,inf,inf,8,inf;1,inf,2,inf,4,5;inf,2,inf,3,6,7;inf,inf,3,inf,inf,10;8,4,6,inf,inf,9;inf,5,7,10,9,inf];
n=6;%基因数目,即生成树节点个数,基因集合为{1,2,…,n} N=10;%种群数目, pc=0.9;%交叉概率 pm=0.02;%变异概率 MaxDT=100; %产生初始种群 x=round(rand(N,n-2)*(n-1))+1; F=0;%种群适应值之和 p=zeros(1,N);%个体选中概率 f=zeros(1,N);%个体适应值 for i=1:N f(i)=fitness(A,x(i,:),n); F=F+f(i); end %轮转正比选择法 for i=1:N p(i)=(1-f(i)/F)/(N-1);%适应值越小,概率越大 end pp=zeros(1,N); for i=1:N for j=1:i pp(i)=pp(i)+p(j); end end for t=1:MaxDT for j=1:N %轮转N次 k=rand; pa=1; for i=2:N if pp(i-1)<=k&&k<pp(i) pa=i; end end k=rand; ma=1; for i=2:N if pp(i-1)<k&&k<p(i) ma=i; end end if rand k=round(rand*(n-4))+1;%切点 change1=x(pa,:); for i=k+1:n-2 change1(i)=x(ma,i); end cf=fitness(A,change1,n); if cf<fitness(A,x(pa,:),n) x(pa,:)=change1; f(pa)=cf; end end if rand k=round(rand*(n-3))+1;%基因变异数 %y=round(rand*(N-1))+1;%变异个体 change2=x(pa,:); for i=1:k z=round(rand*(n-3))+1;%变异基因 change2(z)=round(rand*(n-1))+1; cf2=fitness(A,change2,n); if cf2<fitness(A,x(pa,:),n) x(pa,:)=change2; f(pa)=cf2; end end end
end t [best,i]=min(f) ; best x(i,:) end
2。fitness.m 文件
function d=fitness(A,x,n) %A=[inf,1,inf,inf,8,inf;1,inf,2,inf,4,5;inf,2,inf,3,6,7;inf,inf,3,inf,inf,10;8,4,6,inf,inf,9;inf,5,7,10,9,inf]; %n=6; %x=[2,2,6,2]; %x=[0,0,0,0]; %x is a 1*n-2 matrix;prufer编码的生成树 %prufer解码 d=0; if x~=zeros(1,n-2) flag=zeros(1,n);%0表示节点i不在x中 for i=1:n-2 flag(x(i))=1; end nox=zeros(1,n); j=1; for i=1:n if flag(i)~=1 nox(j)=i; j=j+1; end end t=j-1;%nox的长度 add=0; i=1; for j=1:n-2 d=d+A(nox(i),x(j)); f=0;%f=0表示x(j)不再在x中 for k=j+1:n-2 if j~=n-2&&x(j)==x(k) f=1; end end if f==0 add=add+1; nox(t+add)=x(j); end i=i+1; end d=d+A(nox(i),nox(i+1)); else d=inf; end
%编程序中遇到的错误:1.对标记的使用弄糊涂,不到位。解决方法:由思路直接表示,不拐弯抹角。 %2.问题中循环最后一次的情况考虑清楚,此题中j=n-2时情况。解决方法:问题前后过程分析清楚。
3。 prufer.m文件
%x is a n-1*2 matrix 存储生成树 function R=prufer(A,x,n) %A=[inf,1,inf,inf,8,inf;1,inf,2,inf,4,5;inf,2,inf,3,6,7;inf,inf,3,inf,inf,10;8,4,6,inf,inf,9;inf,5,7,10,9,inf]; %x=[1,2;6,4;2,6;2,5;3,2];%完全正确的生成树 %x=[1,2;4,2;3,4;3,5;4,6];%有边不在树上的生成树 %x=[1,2;1,5;3,6;3,4;4,6];%有回路的生成树 %n=6; p=zeros(1,n-2); c=zeros(1,n);
for i=1:n-1 for j=1:2 c(x(i,j))=c(x(i,j))+1; end end flag=1;%1表示生成树边x(i,1),x(i,2)都在树A上且覆盖所有节点 for i=1:n%覆盖所有节点 if c(i)==0 flag=0; end end for i=1:n-1 if A(x(i,1),x(i,2))==inf flag=0; end end if flag~=0 for u=1:n-2 %c t=1; while c(t)~=1 t=t+1;%节点号最小的叶子节点 if t==n+1 break; end end %考虑最后t=n+1,即有回路的情况,由于生成树边已限制为n-1条,所以有回路必不联通 %没有回路必联通,此时要考虑生成树边是否都在树A上 if t~=n+1 for k=1:n-1 if x(k,1)==t p(u)=x(k,2); c(t)=0; c(p(u))=c(p(u))-1; elseif x(k,2)==t p(u)=x(k,1); c(t)=0; c(p(u))=c(p(u))-1; end end
else p=zeros(1,n-2); end end end R=p; %生成树三个要求1,覆盖所有节点;2,没有回路;3,所有节点都是联通的
from https://ift.tt/2TmiM7Y
0 notes
Text
蚁群优化求解TSP问题
在整理代码,一些没用的就放这里了。不做算法解释,没有经过测试,可能无法运行。
Ant colony optimization algorithms
%蚁周模型,解决TSP问题 function AS() %clc %初始化 format short; n=6; %n 城市数目 m=30; %m 蚂蚁数量 Nmax=100;%最大循环次数 %d(i,j) 城市i,j之间的距离,d is a n*n matrix d=[inf,1,inf,inf,8,inf;1,inf,8,inf,4,5;inf,8,inf,3,6,7;inf,inf,3,inf,inf,10;8,4,6,inf,inf,9;inf,5,7,10,9,inf]; y=zeros(n,n);%y(i,j)=1/d(i,j) 在TSP问题中,启发信息 for i=1:n for j=1:n y(i,j)=1/d(i,j); end end e=1;%信息启发因子 f=1;%期望启发因子 Q=20;% S=ones(n,n);%(i,j)路段初始化��始信息素 for i=1:n for j=1:n if d(i,j)==inf S(i,i)=0; end end end
S1=zeros(n,n);%(i,j)路段信息素增量 s=zeros(n,n,m);%s(i,j,k) 蚂蚁k在路径i,j上残留的信息素 notallowed=ones(m,n);%禁忌表,0表示已经访问过 a=zeros(m,n);%蚂蚁循环一次的路径 for k=1:m a(k,1)=1+round(rand*(n-1));%将蚂蚁随机放到n个城市上 end for k=1:m % 将初始城市放入禁忌表中 notallowed(k,a(k,1))=0; end
for N=1:Nmax %N 循环次数 t=2; L=zeros(1,m); while t<=n %重复直至禁忌表满为止 for k=1:m %计算蚂蚁k转移的概率 i=a(k,t-1); p=zeros(1,n);%p(j)蚂蚁k选择路径i,j的概率 for j=1:n if notallowed(k,j)~=0 u=(S(i,j)^e)*(y(i,j)^f); v=0; for w=1:n v=v+(S(i,w)^e)*(y(i,w)^f)*notallowed(k,w); end if v~=0 p(j)=u/v; end end end [pk,j]=max(p); notallowed(k,j)=0; L(k)=L(k)+d(i,j); a(k,t)=j; end t=t+1; end for k=1:m L(k)=L(k)+d(a(k,n),a(k,1)); end %一次循环结束,回到起始位置
%更新 for k=1:m for i=1:n-1 s(a(k,i),a(k,i+1),k)=Q/L(k); end s(a(k,n),a(k,1),k)=Q/L(k); end for i=1:n for j=1:n if d(i,j)~=inf for k=1:m S1(i,j)=S1(i,j)+s(i,j,k); end end end end for i=1:n for j=1:n if d(i,j)~=inf S(i,j)=(1-rand)*S(i,j)+S1(i,j); end end end for k=1:m %将禁忌表中除起始城市,全都置为未访问 for t=1:n if t~=a(k,1) notallowed(k,t)=1; end end end S1=zeros(n,n);%(i,j)路段信息素增量清零 s=zeros(n,n,m);%s(i,j,k) 蚂蚁k在路径i,j上残留的信息素清零
end %循环最大次数结束 [result,k]=min(L) a(k,:)
from https://ift.tt/2TpILLK
0 notes
Text
[转]中国的劝酒文化背后的逻辑是什么?
非常赞同这个答案
中国的劝酒文化背后的逻辑是什么? – 肥肥猫的回答 – 知乎 https://www.zhihu.com/question/28311266/answer/61603769
中国政界和商界的劝酒文化绝不仅仅只是个礼仪性的东西,而是有非常明确的实际功能的,具体而言��要实现两个目的:
1. 服从性测试 2. 诚意测试。
1. 服从性测试,指的是劝酒者通过观察你是否服从他要你继续饮酒的指令, 观察你能不能为了“场面”伤害自己身体,来判断你对其的服从程度。听着好像很扭曲,但其实这是一种最典型的权力的彰显方式。
尤其在掌权者自感权力并不稳固的时候,他往往需要周围人反复以各种“确权”的仪式让他确信自己权力在握,对方被逼喝酒的窘态,是权力持有者在酒桌上最佳的享受。
劝酒者为了实现这个目的可谓出尽八宝。有些劝酒者喜欢把利诱包装成威胁,“你不喝可不够朋友啊”,言下之意是喝了就是朋友;有些劝酒者喜欢把威胁包装成利诱,“这杯干了,这个合同就是你的了”,言下之意是不喝你就出局了。
有些人觉得这个逻辑很荒谬,但服从性测试恰恰必须荒谬。就比如“指鹿为马”就是典型的服从性测试:上级其实心里知道这不是马,下级也知道这不是马,上级知道下级知道这不是马,下级也知道上级知道自己知道这不是马,但是你还得说这是马。双方心知肚明,互飚演技给外人看罢了。
对显而易见的荒谬依然表示服从,才是服从性测试的核心意义。
同样,在酒桌上,你以为他真的不知道喝下去你会难受?不知道对身体有害?不知道你第二天会头疼欲裂? 劝酒者完全知道,太知道了。但这种伤害和痛苦恰恰是意义所在。如果没有后果,则无法测出“服从”的程度。就像帮会入会需要在手上划一刀,是在以最微量的自我伤害的形式,来展示服从的姿态。
在政界,这种测试是往往是一场宣誓效忠的仪式,提醒你上下关系要怎么摆;在商界,这种测试是给大家明确“到底是谁有求于谁”,看似平等互利的合作关系其实从来都不是平等的。
2. 诚意测试,指的是劝酒者时刻在观察被劝者是否能够放下心防和体面,向劝酒者及旁观者展现丑态。维系一段关系是需要付出代价的,醉酒就是这种代价。醉酒后的丑态是一种小剂量的抵押物,在人和人之间还不能完全信任,但又需要建立合作关系的时候,是某种意义上的credit enhancement。
所谓“喝到位”就是在说这个。如果一顿筵席散尽,你仍然表达清晰,步履稳健,会被认为“今天小王没喝到位”,言下之意你没有向我交付丑态作为抵押物,你仍然将你自己的体面、形象、自尊看得比我对你的信任更重要。
直到喝的疯言胡语,脱了上衣跳舞,吐完躺倒,劝酒者心目中的抵押品才算足额交付完毕。这期间观众越多越好,洋相越大越好,起哄者和围观者实质上都是抵押交付的见证人。
美国大学的兄弟会也是这样,入会的时候需要经历羞辱性的仪式,比如骷髅会据说需要当众手淫,其道理是一致的:一个时刻体面的人一定是抱着戒心的人,不值得信赖。只有抵押物给的“到位了”,咱们的合作关系和信赖程度才可能再上一个台阶。
这种酒桌文化是地地道道的中国特色,世界上嗜酒如命的国家有的是,比中国人贪杯的民族多了去了,但人家大多都是自己喝自己的,绝不会管到别人杯子里去。自己躲着不喝却想尽办法让别人多喝的,惟中国独此一家。这种酒桌文化也并不是什么“中国的古老传统”,而是最近几十年才兴起的东西。
至于这个传统的来源,评论里有人说是TG带来的下层军队文化的杂交物,理由是中国酒局对于高度蒸馏烧酒的偏好,和中国传统士大夫阶层偏好黄酒完全不同,我觉得有一定道理。中国的“商”许多是从“官”变来的,而中国的“官”又是从“军”脱胎而来的。而权力等级体系体现的最淋漓尽致的,必是军队无疑。
我们从熟人社会转为陌生人社会才几十年而已,而缺乏成熟的互信机制,才是这套看似荒谬的酒桌文化背后的真正逻辑。个人观察,喝软饮料长大的80,90后一代人现在已经沦陷。这套酒桌仪式是如此普及和具有感染力,以至于渗透到了这个国家的每一寸土地。这证明了其具有深厚的民众土壤和现实基础。 ———————————————— 更多分析,可以在微信里搜索我的公众号:肥肥猫的小酒馆
from https://ift.tt/2Fiy19X
0 notes
Text
【转】美是什么
人世间的美有千千万万种,温婉动人是美,杀伐果断也是美;窈窕身姿是美,肌肉发达也是美;青春活力是美,暮年白发也是美;庙堂之高是美,市井百态也是美…为什么我们只喜欢新鲜明媚娇俏甜蜜,而不肯承认人生之战中,更多勇毅狰狞暴烈之美?
愿各美其美,美人之美,美美与共,天下大同。
from https://ift.tt/2LW9prb
0 notes
Text
[翻译]GSL科学计算库(已烂尾10年)
已烂尾10年,勿念,仅作存档。
第一章:介绍
1 介绍
GNU科学函数库(GSL)是一个数值计算的程序集合。程序从零开始由C语言写出,并为C语言程序员提供一个应用程序接口(API),允许任何高级语言写的封装包。源代码允许在GNU General Public License下分发。
1.1GSL中的可用程序
程序库覆盖了数值计算中大范围的主题。程序可在以下领域用到,
复数
多项式的根
特殊函数
向量和矩阵
排列
组合
排序
基本线性代数子程序支持(BLAS Support)
线性代数
C语言基本线性代数子程序(CBLAS Library)
快速傅里叶变换
特征系统(Eigensystems)
随机数
求积分
随机分布
伪随机序列
直方图
统计学
蒙特卡洛积分
N元组(N-Tuples)
微分方程
模拟退火
数值微分
插值
级数加速度(Series Acceleration)
切比雪夫逼近
求根(Root-Finding)
离散汉克尔变换(Discrete Hankel Transforms)
最小二乘拟合
最小值(最优化?Minimization)
IEEE浮点精度(IEEE Floating-Point)
物理常数
小波
本指南中具体描述了这些程序的用法。每章提供函数的具体定义,并有示例程序和算法基于的参考文章。
可能程序已经基于可靠的公共域软件包,如FFTPACK和QUADPACK,GSL的开发者已用C语言在现代编码公约的基础上重新实现。
1.2GSL是自由软件
GNU科学函数库的子程序是自由软件;这意味着任何人可以免费的得到它,并可以重新分布它到其他自由程序中。程序库并不在公共域中,它有版权并有条件的分布。这些条件旨在允许想合作的人做任何事情。不允许您试图阻止其他人将从您这里获得的任何版本进行传播的行为。
特定的,我们希望确保您有权利分享副本程序,您被给予使用的GNU科学函数库,你可以收到它们的源代码或在您需要的时候获取它,你可以更改程序或将其中的一部分添加到新的开源程序中,你知道���可以做这些事情。
为确保每人都有这样的权利,我们必须禁止您剥夺别人的这些权利。例如,如果你分发任何使用GNU科学函数库的代码,您必须给收件人一切你拥有的权利。您必须确保他们也能收到或获得源代码,包括程序库和使用它的代码。并且您必须告诉他们自己的权利。这意味着程序库不能被重新分布在有版权的程序中。
同样,为了保护我们自己,我们必须确保每个人都了解GNU科学函数库没有保证书。如果这些程序被人修改并传播出去,我们希望它的接受者知道它们不是我们分发的。因此任何其他人出现的问题将不会反映在我们的声誉上。
涉及GNU科学函数库有关软件的准确分布条件是在GNU General Public License的基础上建立的(见[GNU General Public License],448页)进一步了解此授权可在GNU Projcet 网站关于GNU GPL的常见问题中得到 http://www.gnu.org/copyleft/gpl-faq.html
自由软件基金会还为商业用户经营许可证咨询服务(详细资料可从http://www.fsf.org/获得)
1.3 获得GSL
函数库的源代码可通过不同的��式获得,通过从朋友那里复制,购买cdrom或从网络上下载。一个有源代码的公共ftp列表可在GNU网站找到,http://www.gnu.org/software/gsl/
函数库的首选平台是GNU系统,这使得它能够利用GNU C编译器和GNU C程序库的额外的功能。不过,函数库是便携式的并可以在大多数系统下的C编译器中进行编译。预编译的函数库版本可从商业再分销商在网址列出的。
发布新版本,更新和其他有关活动由[email protected]邮件列表给出。订阅此低量清单,请发送邮件,格式如下:
Subject:subscribe
您将会收到一个答复,要求您回复,以确认您的订阅。
1.4 不做任何担保
本指南中该软件的介绍没有任何担保,这是“按照原样”提供。验证程序以及使用源代码的正确性是您的责任[It is your responsibility to validate the behavior of the routines and their accuracy using the source code provided],或购买支持以及商业再分销商的保证(见[GNU General Public License],448页)。
1.5报告错误
已知的错误列表可以在“BUGS”文件夹中找到,这其中包括针对GSL发布的。编译问题的细节可以在“INSTALL”文件夹中找到。
如果你找到了一个不再上述文件夹列表中的错误,请向[email protected]报告它。
所有的错误报告都应包括:
GSL的版本号
硬件和操作系统
使用的编译器,包括版本号和编译选项
关于错误的描述
产生错误的一小段程序
以上是非常有用的,在编译没有改进的时候,您可以检查是否有同样的问题发生。感谢您。
本指南中的任何遗漏或冗长也可向这个邮件地址进行回报。
1.6更多信息
补充资料,包括本指南的在线复制版本,连接到相关的项目,以及邮件列表档案可从上述网站获得。
任何使用和安装函数库的疑问可以都可以发邮件询问[email protected]。为了订阅这个目录,请以如下形式发送电子邮件:
Subject:subscribe
这个邮件地址可以用于询问不在这个指南中的问题,并联系这个函数库的开发者。
如果您想引用GNU科学函数库在相关的期刊文章,我们建议的办法是引用本参考指南,例如:M.Galassi et al,GNU Scientific Library Reference Manual(2nd Ed.)ISBN 0954161734。
如果你想给出一个网址,请使用“http://www.gnu.org/software/gsl/”。
1.7本指南采用的惯例
本手册包含许多可以键盘输入的例子,输入一个命令,终端显示为,
$ command
这行第一个字符是终端提示符,不用键入。美元符号“$”是本指南所采用的标准提示符,即便一些系统使用其他的字符表示。
这些例子假定使用GNU操作系统,可能与其他系统的输出有较小的差别。设置环境变量的命令使用基于GNU shell(bash)标准的Bourne shell语法。
第二章:使用函数库
2 函数库的使用
本章介绍如何使用GSL编译程序,并介绍它的约定惯例(习惯用法)。
2.1 一个简单的程序
下面的小程序展示了使用函数库计算当x=5时bessel函数J0(x)的值,
#include <stdio.h>
#include <gsl/gsl_sf_bessel.h>
int
main (void)
{
double x = 5.0;
double y = gsl_sf_bessel_J0 (x);
printf (“J0(%g) = %.18e\n”, x, y);
return 0;
}
输出如下所示,它的精度为双精度,
J0(5) = -1.775967713143382920e-01
编译此程序需要的步骤在以下各节中描述。
2.2编译与链接
函数库头文件安装在它们自己的“GSL”文件夹中。你需要写的任何预处理include声明应包括用“gsl/”的目录前缀。
#include <gsl/gsl_math.h>
如果目录没有按照编译器的标准搜索路径进行安装,你还需要提供预处理命令它的位置作为命令行标志。“gsl”目录的默认位置为“/usr/local/include/gsl”。使用GNU C 编译器 gcc的关于源文件“example.c”的一个典型的编译命令为,
$ gcc -Wall -I/usr/local/include -c example.c
结果在目标文件“example.o”中。gcc自动默认搜索的include路径为“/usr/local/include”,所以选项-I实际上被忽略当GSL被安装在它的默认位置。
2.2.1程序链接库文件
库文件作为一个单独的文件进行安装,“libgsl.a”。一个共享版的库文件“libgsl.so”也是安装在系统上并支持共享库。这些文件的默认位置为“/usr/local/lib”。如果此目录不是你的连接的标准搜索路径,你还需要提供其安装位置作为命令行标志。
链接相反的库文件你需要指定的内容包括主程序库以及一个支持CBLAS的库,用于规定标准现行代数子程序。一个适当的CBLAS供给工具在库文件“libgslcblas.a”中提供,如果你的系统没有提供这个工具。以下例子说明一个程序如何链接库函数。
$ gcc -L/usr/local/lib example.o -lgsl -lgslcblas –lm
gcc搜索的默认库函数路径“/usr/local/lib”是自动的,所以当GSL安装在默认路径时选项-L可被省略。
2.2.2连接可选择的BLAS库
下面的命令行显示如何链接同一应用程序和可选择的CBLAS函数库“libcblas”,
$ gcc example.o -lgsl -lcblas –lm
为达到最加效果优化效果一个具体的平台CBLAS函数库,应该使用-lcblas。函数库必须遵照CBLAS标准。ATLAS软件包提供一个便携高性能BLAS函数库和CBLAS函数库的接口。它是免费软件并且为任何工作所需的快速向量和矩阵功能而安装。下面的命令行可链接ATLAS函数库和它的CBLAS函数库的接口,
$ gcc example.o -lgsl -lcblas -latlas –lm
欲了解更多信息见第12章[BLAS的支持],115页。
2.3共享函数库
运行程序链接共享版本的函数库,操作系统必须能够在运行时间内查找相应的“.so”文件。如果不能找到函数库,下面的错误将发生:
$ ./a.out
./a.out: error while loading shared libraries:
libgsl.so.0: cannot open shared object file: No such
file or directory
为避免这个错误,定义shell变量LD_LIBRARY_PATH去包括函数库所安装的目录。
例如,在Bournd shell(/bin/sh或/bin/bash),函数库搜索路径可用以下命令设置:
$ LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
$ export LD_LIBRARY_PATH
$ ./example
在 C-shell(/bin/csh或/bin/tcsh)中相似的命令为,
% setenv LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH
在以上例子中标准的C-shell提示符为百分号“%”,并且不是命令的一部分故不用打出。
为了节省每次输入这些命令,它们应放在单独的或全系统登陆文件夹中。
为编译一个静态链接版本的程序,在gcc中使用-static选项,
$ gcc -static example.o -lgsl -lgslcblas –lm
2.4 ANSI C标准
函数库用ANSI C写成并规定遵从ANSI C标准(C98)。它对于任何可运行ANSI C编译器的系统���说非常方便。
函数库并不依靠任何非ANSI扩展界面向使用者输出。你写的GSL程序为可以用ANSI标准。支持扩展可以在某种程度上兼容纯ANSI C,不论用什么方法,要经过有条件的编译。这使得允许函数库利用可支持的扩展编译平台。
当一个ANSI C功能被个别的系统打破,在编译时函数库将拒绝接纳任何相关函数。这意味着它将不能链接一个程序使用这些函数并且给出一个错误的结果。
为避免namespace冲突所有输出函数的名字和变量都有前缀gsl_,输出宏前缀为GSL_。
2.5内置函数
内置关键字不是原ANSI C标准(S98)的一部分,并且函数库不能输出任何默认定义的内置函数。然而,函数库提供有条件编译的可选内置版本的执行判定函数。包括这些内置版本的函数通过定义宏HAVE_INLINE在编译程序的时候,
$ gcc -Wall -c -DHAVE_INLINE example.c
如果您使用autoconf这个宏可以定义自动。如果你不定义宏HAVE_INLINE则低级非嵌入式版本的函数将被用来代替。
请注意,实际使用内置的内置关键字是extern inline,它排除了GCC中多余的函数定义。如果形式extern inline运行在其他编译器时导致错误发生,严格的autoconf测试可被使用,见附录C[autoconf 宏],431页。
2.6 long double
扩展数值类型long double是属于ANSI C标准的一部分,在新型编译器中可用。然而,在使用时要考虑到long double类型的精度是由不同系统平台自身决定的。IEEE标准只指定扩展精度数值的最小精度,double类型的精度在各系统平台相同。
在一些系统库中stdio.h头文件中的input/output函数printf和scanf并没有对long double类型进行校正。为避免未定义的或错误的结果,应对这些函数进行测试,在库文件编译的配置(congfigure)阶段并且在必要时排除已确定的依靠它们的GSL函数。相对应的配置(congfigure)输出行如下所示,
checking whether printf works with long double… no
因此当long double类型的input/output在系统中无法起作用时,它将不能连接一个使用GSL函数的程序。
如果必须使用一个不支持long double类型input/outpu的系统进行工作,可选则将使用二进制类型或转换long double结果为double以便读写。
2.7 函数的可移植性
为了帮助编写可移植应用软件GSL提供一些可执行的函数用于创建它们的库,例如BSD数学库。你可以使用这些函数的原版本写自己的应用软件,并且可代替GSL版本,通过一个预处理程序宏,如果它们难以在另一个系统平台获得。
例如,在决定BSD中的hypot函数是否可用,你可以在自己的应用软件的“config,h”文件中中包括一个宏定义,
/* Substitute gsl_hypot for missing system hypot*/
#ifndef HAVE_HYPOT
#define hypot gsl_hypot
#endif
这个应用源文件可以使用include命令#include<config.h>,当hypot不可用时,可以用gsl_hypot去代替每个出现hypot的地方。若使用autoconf可以实现自动替换,参见附录C[Autoconf 宏],431页。
在多数环境中,最好的策略是尽可能使用函数的原版本,在其他情况下退回使用GSL版本,当它允许你的应用程序利用系统库中对具体平台的优化。这是GSL在自身内部实施的一个想法。
2.8 最优化函数的转换
库中一些函数的主要技术在所有的平台下并没有得到优化。例如,有很多种计算高斯随机数的方法,计算的相对速度依赖于不同的系统平台。就像这样的情况,实际上函数库提供这类函数的可选实施技术并使用相同接口。如果你写自己的应用程序调用标准实施技术,你可以选择一个更新近的可选版本通过一个预处理程序定义。同样支持用这种方法引进你自己的优化函数,兼保留可移植性。下面示范一个基于平台的方法选择的用法,关于从高斯分布中抽样,
#ifdef SPARC
#define gsl_ran_gaussian gsl_ran_gaussian_ratio_method
#endif
#ifdef INTEL
#define gsl_ran_gaussian my_gaussian
#endif
以上各行应放在应用程序的配置头文件“config.h”中,这样可被全部源文件包括。注意选择实施技术不会产生返回同样的结果,在这种情况下随机数分布将产生一个关于随机变化的完全不同流。
2.9 对不同数值类型的支持
库中的很多函数被定义成不同的数值类型。这个细节用改变函数名的类型修饰成分——C++的基本形式来实现。修正是插入在函数名最初模块前缀之后。下面的表格展示对于所有数值类型的一个函数名的定义方法,基于虚构的模块gsl_foo以及函数fn,
gsl_foo_fn double
gsl_foo_long_double_fn long double
gsl_foo_float_fn float
gsl_foo_long_fn long
gsl_foo_ulong_fn unsigned long
gsl_foo_int_fn int
gsl_foo_uint_fn unsigned int
gsl_foo_short_fn short
gsl_foo_ushort_fn unsigned short
gsl_foo_char_fn char
gsl_foo_uchar_fn unsigned char
正常数值精度double类型的是被设置为默认,且不需要一个后缀。例如函数gsl_stats_mean计算double类型精度的数据均值,而函数gsl_stats_int_mean计算int(整形)类型的均值。
一个相应的方案被用于函数库的类型定义,如gsl_vector和gsl_matrix。在这类情况中修饰语负载在类型��上。例如,如果一个模块定义一个新的类型依赖结构或typedef gsl_foo是对于其它类型的改进,采用这样的方法,
gsl_foo double
gsl_foo_long_double long double
gsl_foo_float float
gsl_foo_long long
gsl_foo_ulong unsigned long
gsl_foo_int int
gsl_foo_uint unsigned int
gsl_foo_short short
gsl_foo_ushort unsigned short
gsl_foo_char char
gsl_foo_uchar unsigned char
当一个模块包括类型依赖的定义,函数库为每个类型提供独立的头文件。修正的文件名显示如下。方便起见默认的文件名标题包括所有定义的类型。为了包括双精度(double)头文件或任何特定类型,使用独立的文件名。
#include <gsl/gsl_foo.h> All types
#include <gsl/gsl_foo_double.h> double
#include <gsl/gsl_foo_long_double.h> long double
#include <gsl/gsl_foo_float.h> float
#include <gsl/gsl_foo_long.h> long
#include <gsl/gsl_foo_ulong.h> unsigned long
#include <gsl/gsl_foo_int.h> int
#include <gsl/gsl_foo_uint.h> unsigned int
#include <gsl/gsl_foo_short.h> short
#include <gsl/gsl_foo_ushort.h> unsigned short
#include <gsl/gsl_foo_char.h> char
#include <gsl/gsl_foo_uchar.h> unsigned char
2.10与C++的兼容性
库函数头文件自动定义函数外部”c”链接,当���在C++程序中。即C++可直接调用函数。
使用C++额外操作包括自定义的函数传递参数到函数库,函数库必须建立额外的CFLAGS编译选项“-fexceptions”。
2.11数组混淆现象
函数库设定数组、向量和矩阵以可变的自变量传递时与其他自变量是不能混淆和复合的。这种改变需要函数库控制复合内存区域作为一个特殊数据组,并允许使用附加的最优化。如果复合内存区域可凭可变的自变量传递那么各个函数的结果将是未定义的。如果自变量不能改变(例如,假设一个函数原型声明它们为const变量)时复合或混淆内存区域可被安全使用。
2.12线程安全
函数库可被用于多线程程序。所有函数都是线程安全的,也就是说,它们不适用静态变量。内存总是与对象连接而不是与函数连接。使用workspace对象最为临时存储的函数,工作区应被分配给每个线程。使用table作为只读对象类型的函数,表格可被同时用于多线程。表格变量总是宣布const在函数原型中,以表明它们可以安全的访问不同线程。有少量的静态全局变量是用来控制函数库的整体行为(例如,是否使用区域检查,函数调用产生致命错误,等)。变量由使用者直接定义,故一旦程序启动它们就已被初始化,并不可被不同的线程进行修改。
2.13过时的函数
一些时候,一些已定义的函数会被修改或从函数库中删除。在这种情况下函数将首先被宣布过时,并在后来的版本中被移除。过时的函数将在当前的版本中失去其功能,通过设置预处理程序定义GSL_DISABLE_DEPRECATED。这允许现有的代码测试之前的兼容性。
2.14代码重用
在可能的情况下函数库中的代码已被避免依靠模块和文件。这使得可以提取单独的函数使用在你自己的应用程序中,不必安装整个函数库。你需要定义正确的宏例如GSL_ERROR并移除一些#include声明,为了将文件作为独立单位进行编译。在符合GNU General Public License条款的前提下,鼓励以这种方式进行函数库代码的重用。
第三章:错误处理
3错误处理
这章中描述GSL函数报告和处理错误的方法。通过检查状态信息返回的每一个函数就可以判断它是否成功或失败,如果其失败你可找出其确切的失败原因。你也可以定义自己的错误处理函数去修改函数库的默认行为。
这部分所描述的函数在头文件“gsl_errno.h”中。
3.1错误报告
函数库的线程安全错误报告基于POSIX线程函数公约。函数返回一个非零错误代码表示一个错误,0表示成功。
int status = gsl_function (…)
if (status) { /* 一个错误产生 */
…..
/* 状态值指定错误的类型 */
}
程序报告一个错误当它们不能完成其被请求的作业。例如,一个求根程序将返回一个非零错误代码在其不能��敛到所需要的精度时,或超过其叠代的最大次数时。类似于这样的情况是正常情况当使用任何数学函数库并且你应当检查调用的函数的返回状态。
无论何时一个程序报告一个错误,返回值具体说明了错误的类型。返回值与C函数库中的变量errno值相似。调用者可检查返回值以决定采取怎样的措施,包括忽略这个错误如果其并不严重。
此外,通过返回值报告错误,函数库同样有一个错误控制函数gsl_error。当有函数报告错误时,这个函数被其他库函数调用。错误控制的默认行为是打印一个消息并中断程序,
gsl: file.c:67: ERROR: invalid argument supplied by user
Default GSL error handler invoked.
Aborted
gsl_error头文件的效果是提供一个功能是在调试器下可设置断点捕获函数库的错误。他的用途不在产品程序中,产品程序中应使用返回代码处理任何错误。
3.2错误代码
函数库中定义的错误返回代码在文件‘gsl_errno.h’中,它们都有前缀GSL_和扩展的非零常整数值。超过1024的错误代码值被留给应用软件,并不被用于函数库。许多错误代码同C语言函数库的相关代码一样使用同样的基准名。以下是一些常用的错误代码,
int GSL_EDOM [Macro]
定义域错误;用于数学函数中当自变量值不属于函数的定义域的范围时(同C语言函数库中的EDOM)
int GSL_ERANGE [Macro]
值域错误; 用于数学函数中当结果值由于上溢或下溢而不能被表出时(同C语言函数库中的ERANGE)
int GSL_ENOMEM [Macro]
无可用内存。由于系统容量已满而不能分配更多的虚拟内存(同C语言函数库中的ENOMEM)当一个GSL程序试图用malloc命令分配内存时此种错误将会被报告。
int GSL_EINVAL [Macro]
无效自变量。这个用来指示各种因向库函数中输入无效变量时产生的错误(同C语言函数库中的EINVAL)。这种错误可使用函数gsl_strerror转换成输出一条错误信息。
const char * gsl_strerror (const int gsl_errno) [Function]
这个函数用于返回一个描述错误代码gsl_errno 的string型指针。例如,
printf (“error: %s\n”, gsl_strerror (status));
将打印一条错误信息:output range error for a status value of GSL_ERANGE.
[GSL_ERANGE中的一个静态变量输出的值域错误]
3.3错误处理机
GSL默认的错误处理方式是打印一条信息并且执行异常中断程序。这个默认方法运用时程序将停止并且存储器清零,只要一个库存程序出现错误。这样做就像一个对于程序的默认失败保护,它并不检查返回的库函数程序状态(我们不鼓励你按这种方式写程序)。
如果你关闭默认错误处理机,你就必须自己检查程序或语句的返回值。你也可以自己制定一个错误处理机来处理错误。例如,一个可选性错误处理机可以在文件中记录全部错误,忽略某些错误条件(例如下溢),或在错误发生时打开调试器把它放在当前的程序中。
from https://ift.tt/2rMOMX9
0 notes
Text
Forward: 10 Tips to Better Manage Your Time in Academia
10 Tips to Better Manage Your Time in Academia
I found I lost an important blog article from http://www.ofria.com/reference_letters.html
So I decided to forward all useful articles for my blog.
As an academic, work comes from many different sources and it’s up to you to keep it all under control. As a grad student, you have your research projects, your classes, obligations to your lab, and the need to balance a personal life. By the time you are a faculty member, you still have research (now guiding numerous projects), classes (now teaching), a research lab (that you’re leading), and a life outside of work (hopefully), but you’re also expected to write grants, serve on a myriad of committees, advise students, write reference letters, and review the work of others (manuscripts, proposals, tenure cases, etc.) Each of these can easily become a full-time job unto itself if you’re not careful.
Here are some tricks that work well for me (when I manage to do them):
1. Never give an immediate “yes” when someone asks you to do a task. Always say “let me check my schedule” or “let me see if I can fit that in”, even when you’re pretty sure you’re going to say “yes”. You’ll find that, when given more thought, you will be able to say “no” to many more requests.
2. Schedule new tasks right onto your calendar. By blocking out time for items on your todo list, you will get a better idea of how much time you really have available and a good excuse to say “I’m sorry, my calendar’s full” or “I’m available in two weeks.” Remember that you will likely underestimate the time a task will take, so you probably want to double your estimate at least. Also, keep in mind that unexpected, urgent matters frequently pop up, and, if you’re a faculty member, keep some time free each week to have spontaneous meetings with students.
3. Think about what you’re NOT going to be able to do if you add this new task. Often the tradeoff will mean less time working on an important, but non-urgent project, less mentoring of your students, or less personal time. For me, it works best when I recognize that saying “yes” to someone else is implicitly saying “no” to spending more time with my son. Of course, if you don’t have kids the core of this advice still holds, but for me the best way of beating guilt of turning someone down is by applying stronger guilt in the other direction.
4. Reserve some of your working time for important projects that you enjoy. You need to protect some of that time even when other stuff is getting urgent. When I’m not careful, my schedule becomes dominated by “urgent” at the expense of “important”. If this happens too frequently, the quality of my work suffers and I feel burnt out from focusing on tasks that don’t fuel my passion.
5. Remember: Work/life-balance is more than just juggling urgent work matters with urgent home matters. If you’re not feeling fulfilled, think about what’s changed at work (you went into this field for a reason!) and what you’re missing from your personal life. For me, this led to some reduction of my work hours some to spend with my family, and making sure I spend at least 1/2 hour of my work day coding, which I love. The extra energy I’m able to put toward work because of those changes has easily made up for any lost productivity due to less time.
6. Don’t let your e-mail continually distract you. If you frequently let your e-mail pull you out of what you’re working on, you’ll never maintain deep enough concentration for maximum productivity. My three-step program was: 1) Turn off all notifiers. 2) Simply notice each time I check my e-mail. 3) Require myself to deal with one waiting e-mail when I check, even if there is nothing new. Step two made me more aware about checking and enabled step three. Step three helped me internalize that checking e-mail would never just be a brief diversion.
7. Reserve time for writing. When I force myself to write for at least 1/2 hour per day, I find that my ramp-up time shrinks to almost nothing and the overall quality of my writing improves greatly. As academics, we constantly have things that we need to be writing, and if we spread them out to work on them every day, we can produce more eloquent writing in much less time. As a computational scientist, I find the same is also true for coding, which I’ve recently been much better about keeping up with.
Some advice more relevant to faculty 8. Make sure your research group has good cohesion. This will make your group members happier and make them comfortable helping each other (of course, make sure they’re also comfortable coming to you when they need to). Set the tone by encouraging collaborative projects (or a lab blog!) and events outside of normal working hours; I used to throw many more lab parties and should try to do so again. Also, make sure prospective students are interviewed by as much of your lab as possible and take your lab member’s feedback very seriously.
9. Have your students turn in weekly progress reports. This technique keeps meetings more productive, keeps your students more organized, and keeps you on top of your students’ continued progress. Of course, make sure your students know that not every project report needs to have a major advancement. Sometimes classes take priority. Sometimes you just get stuck. But it helps both you and them keep a better perspective on the research.
10. Put a system in place for others to request reference letters. I point people to my requirements for writing reference letters. It clearly lists what I need from them to simplify my job writing the letter. In some cases, I never hear back from the requester, which is fine (if they’re not willing to put work into me writing them a letter, neither am I). If they do send me the information I need, it cuts the time I need to spend on the letter in half. The hardest part for me is to remember to tell them!
Of course, even with these tricks I’m still usually quite stressed and overworked, but they do help a lot. What do you do to cope with the academic workload?
— Charles
from https://ift.tt/32LuAld
0 notes
Text
Fedora 31 分辨率,亮度,NVIDIA显卡问题
如果你的笔记本电脑是intel和NVIDIA 双显卡,那么在安装Fedora 31 系统时,首先会遇到无法使用usb启动盘进行安装的问题,无论你点击直接安装或者先测试启动盘后安装,都会卡在started gnome display manager 。
具体的解决方法是,进入troubleshooting的选项,采用基本模式进行安装
install using basic mode (via troubleshooting).
然后,进入系统后你会发现有三个问题:
1 无法调整屏幕分辨率
2 无法调整屏幕亮度
3 在睡眠 挂起 状态时,无法返回到login 登录界面
这三个问题都是显卡驱动造成的。
首先,确保自己已经安装了inel的显卡驱动。xorg-x11-drv-intel
接下来,删除系统自带的N卡驱动 xorg-x11-drv-nouveau
由于WayLand同N卡驱动不太兼容,所以建议将系统转换成xorg模式。
具体方法是 vi /etc/gdm/custom.conf 将WaylandEnable=false的#删除,并且添加 DefaultSession=gnome-xorg.desktop
# GDM configuration storage
[daemon] # Uncomment the line below to force the login screen to use Xorg WaylandEnable=false DefaultSession=gnome-xorg.desktop
[security]
[xdmcp]
[chooser]
[debug] # Uncomment the line below to turn on debugging #Enable=true
之后,安装N卡驱动,具体参见https://ift.tt/2zbRs3S
dnf update
reboot
dnf install fedora-workstation-repositories
dnf config-manager –set-enabled rpmfusion-nonfree-nvidia-driver
dnf install xorg-x11-drv-nvidia
重启后,即可调整分辨率和屏幕亮度。
最后,一个小窍门。使用 xrandr | fpaste 你可以将 xrandr 的输出的分辨率信息,发送到网站,共大家参考,尤其是在论坛交流的时候使用,很方便。
from https://ift.tt/2pa5oHo
0 notes
Text
[转发]KH记忆之链结尾台词翻译
[剧情泄漏]KH记忆之链结尾台词翻译,不喜者请千万不要进入
tgw18097 因为是半夜聊天即时翻译的……所以有错误也请各位大人原谅(m_ _m)
sora篇
sora:你没事吧,riku!
riku:我不是riku,我只是一个赝品,连自己在那里,为了什么而出生也不知道,我所记得的只有你跟娜米妮的事,但连那个回忆也是假的……
高菲:娜米妮,没办法回复riku的记忆吗?
娜米妮:那个……
riku:别管我了,已经够了(转身离去)
sora:等等! 不管你是不是赝品,在这里的你有你独有的,只属于你的心,你要珍惜只属于你自己的回忆啊!
riku:sora,你好善良,就连赝品的我,都明白你那份心情是真实的…… 那样,就足够了
sora:riku!……那家伙……
唐老鸭:娜米妮,能取回我们的回忆吗?
娜米妮:嗯,想不起来的回忆并不代表它消失了
高菲:怎么回事?
娜米妮:只要记起一个回忆,跟它有关的记忆就会复苏,到最后终于会想起形形色色的事来。 记忆是连接着的,众多记忆的碎片就像锁一样连接着人的心…… 我的力量不是让记忆消失,而是解开连接的锁,或是修好它……所以大家的记忆是不会消失的。
唐老鸭:那么我们能取回吧?
那米妮:可是那样的话,就得解开我自己擅自链接的记忆之锁,然后收集在心底的回忆之碎片,让记忆的锁还原。我想会花点时间,不过应该没问题的。 不……不是应该,是一定。 这次该我帮你了……
sora:知道了,那就交给娜米妮办了
唐老鸭:嗯?等等啊,你说解开这个城的记忆之锁?那也就是说……
娜米妮:对,大家都会想不起来发生在这里的事……
sora:也想不起来娜米妮?
娜米妮:对不起……我只能那样做。 sora……,你会选择那边?忘记重要的回忆留住这个城的记忆……或者是忘记这个城,找回真正重要的回忆……
sora:我只能二择一吗?
娜米妮:唔……
sora:我要回复记忆。
娜米妮:唔,我知道了,虚假的记忆,没有才是比较好,你要想起真正重要的人吧?大家都是这样的……
我们是由谎言开始,但能见到sora,我真的觉得太好了。
sora:唔,我也是,见到娜米妮的时候,想起你名字的时候,我真的好高兴。 那时候的心情,决不是假的啊。
娜米妮:再见……
sora:不是再见啊!醒来后,我们还能再见面的!然后这次,不要假的,一定要成为真正的好朋友,跟我约定吧,娜米妮。
娜米妮:连那个约定,你也会忘掉的。
sora:就算记忆的锁散开,记忆的碎片是不会消失的,约定的回忆一定会在心底的某处存在,我是那么认为。
娜米妮:是呢……你说的对,那么,就这么说好了。
sora:嗯,说好了
(两人互勾小指约定,sora走到某个如花一般的容器中)
娜米妮:约定……吗?sora,你的记忆之碎片沉眠在心的黑暗中,只好一个一个去找啊,但是sora,你有定下重要约定的不可替代的人,那就是你的光,黑暗之中的光。 只要想起那个人,你沉眠在黑暗中的记忆,就会全部复苏的。
sora:重要的约定……
娜米妮:你看,那个护身符,虽然以我的力量让它的外形改变了……但只要sora想起那个人,它就会回复真正的样子啊。
(动画) sora:riku!大家! ————————kairi! !!娜米妮!
娜米妮:虽然sora忘记了我,但只要有约定,你就会回来的。
sora:对!我们约好了!
娜米妮:那个约定会成为连接我们的光,即使想不起来,我们都可以再见面,这份记忆……
sora:啊啊,是不会消失的。
到这里就响主题曲了 然后主题曲完了就是一副sora睡着的画面
旁白我没记,好像是…… 在没有你的世界做着有你的梦 —————(刺客·中毒·尤) 01:50:51 其中唐老鸭和高菲的我懒得翻了 反正他俩的也不多 还有娜米妮的最后一段话走得太快我没记住,不过大概就是那个意思
riku篇
riku:出来吧,安塞姆,凭气味我就知道你在了。
安塞姆:我见识到了你的力量,你成功的使用了暗之力,战斗的非常不错。 但是,我不懂,既然你接受了黑暗,为何又要违逆我呢? 你跟我很相似,你我彼此都是被黑暗引领着在前进。 对……我们是同质的存在,那么为何?在心底的某处,你还在恐惧着黑暗吗?
riku:不是那么回事,我只是…… 讨厌你那味道罢了。
安塞姆:选择战斗吗……愚蠢。过去曾经被我支配的你,应该明白我的暗之力有多大吧。
riku:嗯,我知道。 但你忘了吗?那个时候,就算我得到了你的力量,都没能赢得了sora。 你的力量,不过也就那种程度。
安塞姆:那么好吧。就让你沉溺于我的黑暗之中吧!
---------————(战斗)---------------------------
安塞姆:可恶啊!
riku:安塞姆!
riku:这样就结束了……!
安塞姆:不会……结束的……你的黑暗,是我赋予的……只要我的影子……不消失……总有一天…… 总有一天,会再次……!!
米奇:你说你要“一个人战斗”,可是,帮你这么一点小小的忙,应该没关系吧? 走吧,riku。
米奇:那个,riku,你今后打算怎么办呢?要回家去吗?
riku:……怎么样呢。 我能感觉的到,虽然只有很些微的一点点,但那家伙的气味…… 直到那些东西消失为止,我是不能回去的啊。 也许我还被那家伙的黑暗束缚着也说不定。
米奇:你的黑暗,是属于你自己的。就跟你的光明一样。 迄今为止,我都认为黑暗是不应该存在的东西。但是,随着跟你在一起的时光,我的想法也改变了。 若是riku选择的路,那么也许—— 和光所背靠背的黑暗,也许能碰触到那无人知晓是何姿态的可能性。 我也想看看在那条路的尽头,会有什么东西。 所以我想和你一起走。
riku:被你这个国王这么一说,还真是让人觉得不好意思。
米奇:我才是,你叫我“国王”什么的,让我很害羞啊。
riku:我知道啦,米奇。
--------------(两人在黑暗的小路上行进着,遇到红衣人)--------------
riku:这次你又想让我选什么?
红衣人:你是要往光的道路上走……还是暗的道路?
riku:两个我都不要。 我要走在光与暗的中间。
红衣人:由暗夜所延伸出的……黄昏之路吗?
riku:才不是那样。 这是黎明的道路啊。
from https://ift.tt/2XY807Y
0 notes
Text
Google亲儿子Pixel 2在国内升级OTA从8.1到9.0的解决方法
1、打开“Security & location”,Security Status 栏目中,停用“Find My Device” 2、仍旧在这个“Security & location”页面,向下翻,在Device admin apps栏目里,把Find My Device的勾选去掉 3、打开“Apps & notifications”,停用 disable(是停用,不是卸载)Google play service,会有弹出框提示(提示你“确定为出厂版本“),点击确定。看到Google play service已经停用之后,接下来,在同个页面,点击启用按钮 enable,重新启用google play service。 5、然后,找到系统中的系统升级板块,点击开始升级系统。
PS:在手机连接wifi+翻墙,或者手机连接流量+翻墙的情况下均可更新
from http://bit.ly/2rPp412
0 notes
Text
燃烧殆尽
关注了将近5个月,燃烧殆尽什么的,真的会这样结束吗。我会继续关注下去,希望能见证找到将来的梦想的那一刻。会永远记住的。
from https://ift.tt/2DvWKZn
0 notes
Text
米津玄师的「Lemon」
循环了一晚上。听了演歌版本的,感觉还可以。符合现在的情绪,这次一点都不悲伤,失败多了也就习惯了,自省最重要。
yume naraba dore hodo yokatta deshou 梦(ゆめ)ならばどれほどよかったでしょう 如果这一切都是梦境该有多好
imada ni anata no koto wo yume ni miru 未(いま)だにあなたのことを梦(ゆめ)にみる 至今还能在梦中寻到你的身影
wasureta mono wo tori ni kaeru youni 忘(わす)れた物(もの)を取(と)りに帰(かえ)るように 就像归家取回遗忘之物
furubita omoide no hokori wo harau 古(ふる)びた思(おも)い出(で)の埃(ほこり)を払(はら)う 细���拂去陈旧的回忆尘埃
modora nai shiawase ga aru koto wo 戻(もど)らない幸(しあわ)せがあることを 幸福无可再挽回
saigo ni anata ga oshiete kureta 最後(さいご)にあなたが教(おし)えてくれた 是你最后告诉了我
iezu ni kakushiteta kurai kako mo 言(い)えずに隠(かく)してた昏(くら)い过去(かこ)も 那些未对他人提及过的晦暗往事
anata ga inakya eien ni kurai mama あなたがいなきゃ永远(えいえん)に昏(くら)いまま 如果没有你 它们将永远沉睡在黑暗中
kitto mou kore ijou kizu tsuku koto nado きっともうこれ以上(いじょう) 伤(きず)つくことなど 明白必定不会再有其他
ari wa shinai to wakatte iru ありはしないとわかっている 伤心胜过于此
ano hi no kanashimi sae あの日(ひ)の悲(かな)しみさえ 甚至那日的伤悲
ano hi no kurushimi sae あの日(ひ)の苦(くる)しみさえ 甚至那日的痛苦
sono subete wo aishiteta anata to tomoni そのすべてを爱(あい)してた ���なたとともに 将所有一切,连同深爱的你一起
mune ni nokori hanare nai 胸(むね)に残(のこ)り离(はな)れない 都化作深深烙印在我心中的
nigai remon no nioi 苦(にが)いレモン(れもん)の匂(にお)い 苦涩柠檬的香气
ame ga furiyamu made wa kaere nai 雨(あめ)が降(ふ)り止(や)むまでは帰(かえ)れない 在雨过天晴前都无法归去
ima demo anata wa watashi no hikari 今(いま)でもあなたはわたしの光(ひかり) 时至今日 你仍是我的光芒
kurayami de anata no se wo nazotta 暗闇(くらやみ)であなたの背(せ)をなぞった 在黑暗中追寻着你的身影
sono rinkaku wo senmei ni oboete iru その轮郭(りんかく)を鲜明(せんめい)に覚(おぼ)えている 那轮廓至今仍鲜明地刻印于心
uketome kire nai mono to deau tabi 受(う)け止(と)めきれないものと出会(であ)うたび 每当遭遇无法承受的苦痛时
afurete yama nai no wa namida dake 溢(あふ)れてやまないのは涙(なみだ)だけ 汹涌不停的都只有泪水
nani wo shite ita no 何(なに)をしていたの 曾经历过什么
nani wo mite ita no 何(なに)を见(み)ていたの 曾目睹过什么
watashi no shira nai yokogao de わたしの知(し)らない横颜(よこがお)で 脸上浮现着我不曾见过的神情
dokoka de anata ga ima どこかであなたが今(いま) 如果你正在什么地方
watashi to onaji youna わたしと同(おな)じ様(よう)な 与我一样
namida ni kure samishisa no naka ni iru nara 涙(なみだ)にくれ 淋(さび)しさの中(なか)にいるなら 终日过着以泪洗面的寂寞生活
watashi no koto nado douka wasurete kudasai わたしのことなどどうか 忘(わす)れてください 就请你将我的一切全部遗忘吧
sonna koto wo kokoro kara negau hodo ni そんなことを心(こころ)から愿(ねが)うほどに 我从心底里祈愿
ima demo anata wa watashi no hikari 今(いま)でもあなたはわたしの光(ひかり) 时至今日 你仍是我的光芒
jibun ga omou yori koi wo shite ita anata ni 自分(じぶん)が思(おも)うより 恋(こい)をしていたあなたに 我深深地恋慕着你 甚至超出自己的想象
are kara omou youni iki ga deki nai あれから思(おも)うように 息(いき)ができない 自那以后 再不能随心呼吸
annani soba ni ita noni marude uso mitai あんなに侧(そば)にいたのにまるで嘘(うそ)みたい 明明曾如此贴近 如今却恍如虚幻
totemo wasurerare nai sore dake ga tashika とても忘(わす)れられないそれだけが确(たし)か 唯一能确定的是 对你难以遗忘
ano hi no kanashimi sae あの日(ひ)の悲(かな)しみさえ 甚至那日的悲伤
ano hi no kurushimi sae あの日(ひ)の苦(くる)しみさえ 甚至那日的痛苦
sono subete wo aishiteta anata to tomoni その全(すべ)てを爱(あい)してたあなたと共(とも)に 将所有一切,连同深爱的你一起
mune ni nokori hanare nai 胸(むね)に残(のこ)り离(はな)れない 都化作深深烙印在我心中的
nigai remon no nioi 苦(にが)いレモン(れもん)の匂(にお)い 苦涩柠檬的香气
ame ga furiyamu made wa kaere nai 雨(あめ)が降(ふ)り止(や)むまでは帰(かえ)れない 在雨过天晴前都无法归去
kiriwaketa kajitsu no katahou no youni 切(き)り分(わ)けた果実(かじつ)の片方(かたほう)の様(よう)に 如同被切开的半个柠檬一般
ima demo anata wa watashi no hikari 今(いま)でもあなたはわたしの光(ひかり) 时至今日 你仍是我的光芒
from https://ift.tt/2DIilyO
1 note
·
View note
Text
[转]Fedora使用Aria2命令下载BT种子/磁力/直链文件
部分转载自:https://ift.tt/2NplxiW
安装
执行以下命令:
dnf install aria2
使用
1、直链下载 下载直链文件,只需在命令后附加地址,如:
aria2c http://xx.com/xx
如果需要重命名为yy的话加上--out或者-o参数,如:
aria2c --out=yy http://xx.com/xx aria2c -o yy http://xx.com/xx
使用aria2的分段和多线程下载功能可以加快文件的下载速度,对于下载大文件时特别有用。-x 分段下载,-s 多线程下载,如:
aria2c -s 2 -x 2 http://xx.com/xx
这将使用2个连接和2个线程来下载该文件。
2、BT下载 种子和磁力下载:
aria2c ‘xxx.torrnet‘ aria2c '磁力链接'
列出种子内容:
aria2c -S xxx.torrent
from https://ift.tt/2NWRUXh
0 notes
Text
新春快乐
祝大家新的一年里:
基因组结构稳定
genome structure stablized;
甲基化程度平衡
methylation level balanced;
线粒体能量提升
mitochondria empowered;
蛋白组协调健康
proteomic regulation normalized;
端粒长度适宜
telomere length adjusted;
有害突变消失
deleterious mutation eliminated;
致死基因沉默
undesirable lethals silenced;
肠道菌群和谐
intestinal flora harmonized;
基因互作优化
gene interaction optimized;
不利基因失活
negative genes inactivated;
有利基因上调
favorable genes up-regulated;
长寿基因开启
logevity genes initiated;
肾上腺素有序
epinephine secretion programmed;
多巴胺表达充足
dopamine synthesis idealized;
环境适应增强
environmental adaptability enhanced;
代谢途径顺畅
metabolic pathways unobstructed;
基因网络协调
gene networks coordinated;
‘’开心‘’ 因子活跃
“happiness” factors activated !
from http://ift.tt/2Ght4wr
0 notes
Text
Picking the right problem
Haussler thinks that one key to discovery is picking the right problem. Important scientific problems become ripe at particular times. Before that they are unapproachable because the foundation required for their solution has not been laid. After that they are no longer as important because the heart of the problem has already been solved. Knowing when a scientific problem is ripe for solution is a difficult art, however. Breadth of focus helps. Luck doesn’t hurt either.
找对研究问题很重要。
from http://ift.tt/2iYnzJX
0 notes
Text
[转载]你错在成长于文明的边陲
转载自:http://ift.tt/2i4UmQ9
三个星期前一个聚会上,大家聊到了孩子教育问题。一位女教授说起她的一次经历:一次全家到希腊独家,刚好在海滩上遇到了载着难民的偷渡船靠岸。难民们没有水和食物已经一段时间了,非常虚弱。他们一边向难民提供水和食品,一边联系希腊的海岸警卫,忙活了大半天。这一经历让她的小儿子从此后非常关注难民问题,并在回到美国后开始参与甚至组织一些同龄人的帮助国际难民活动。
这就是生于文明中心的幸运——站得高,轻易的就能看到高原广阔的世界。你所处地区的文明活动高度集中和活跃程度,父母丰富的词汇量和复杂的逻辑思维,家庭经济政治能力所提供的广阔观察世界的视野,都能让你在不经意间“智能急速成长”——你不用付出太多,就能比你相同智商的人拥有更好的洞见力、更缜密的逻辑思辨能力,更具大局观的旁征博引能力。
这不单单是你卓越,而更是生于文明中心的幸运。
文明的中心-边陲是但不仅仅是地理概念。同样是劳工阶层的子弟,旧金山湾区的劳工子弟就相对于东北老工业基地的劳工子弟更接近文明中心。而同样身处北京,进城务工人员子弟就要比人大教授子弟离文明中心远很多。乍得的权贵子弟也比波士顿的卡车司机子弟离文明中心更近。
你成长在哪里?处于文明“从中心到边陲”的这条线上的什么位置?首先,看看你成长的地理位置:你的出生地离“人类文明中心”有多远?距离最近的是“人类文明中心还是次级中心”?其次,看看你父母的职业和受教育水平——注意不是父母收入高低。父母及其周围人群的思维复杂度和词汇丰富程度如何?政治经济权力和地位如何?
成长在“文明的边陲”,常常意味着在你身上的教育财政投入能力不足、渠道不畅。能力不足比如中国农村务工人员子弟教育投入的低下;同为985,中科大因为地处安徽,得到的省级配套资金就低于复旦交大南大浙大。渠道不畅比如美国某些州对公立中学每个学生的财政投入糜钜,要是发给每个学生都够他们去上私立高中了,然而公立高中教学质量却仍然没有起色。
成长在“文明的边陲”,也意味着你在成长时期所能见、所能闻非常有限。比如已有研究证明婴儿所处环境中,词汇量的复杂程度会显著影响婴儿的智力发育水平。而你成长在波士顿还是成长在某些大学乡下的新校区,能想象的“职业路径丰富程度”也可能是有显著差别的。
因此,成长于文明的边陲的你,要想让自己获得和你出生时智力差异不明显、但成长于文明中心的他一样的“智能成长平台和教育机会”,你必须出类拔萃的聪明、或者异常的刻苦、或者运气特别的好。
文明的边陲和文明的中心之间的距离,也因为各自子弟智能成长机会的差异,而进一步的拉开了:一个地区越处于文明的边陲,子弟越难成长;子弟越难成长,该地区就愈加边陲化。这样的循环锁住了很多人,也锁住了很多地方。
但更糟糕的是,文明边陲之所以成为边陲,一个重要的原因,很大可能是地方政治和社会组织结构主动的阻碍着“文明在本地的演化“。比如,在文明边陲地区,“地方人情和亲朋社会网络结构阻止着文明流入这个地区”。一旦文明的载体——比如人才和信息——播下了“可能摧毁旧社会组织网络”的文明火种,“文明边陲地区”的社会组织网络会齐心协力的熄灭这样的火种。比如文明边陲更加可能由“人际关系”来主导的招聘和升职。
我并不能说自己生于文明的边陲,但我看见过文明的边陲——那时候我并不知道那是边陲。我见过的文明边陲地区不仅仅是西部的山区,也有”因家境被迫放弃保研“这样的“文明边陲地区”。甚至看不同地区的学校的论文品味,也能感受到”文明中心和边陲“的差异。
我也无意讨论”政策是否应该和应该如何处理文明的中心-边陲带来的人生而不平等“,仅仅想给大家掀开一角,展示”文明中心和边陲的不平等“的深刻性和复杂性。这一深刻性和复杂性告诉我们:要讨论相关政策,不能尽着眼于“补贴文明边陲地区的基础教育”。
仅此而已。
from http://ift.tt/2i3UvDp
0 notes
Text
I am not a big fish
I don’t want to be a big fish in a small pond.
I am a baby whale, I want to come back to the ocean.
from http://ift.tt/2B2ti8h
0 notes