
發布
注冊
/
登錄Julia的案例
Julia:高效易用的數值計算/優化編程語言
三、交互性編程
我們指出,類似于IPython,Julia中的IJulia package也可以讓Julia的所有編譯過程在Jupyter notebook里進行。我個人是很喜歡在這個環境里進行Julia編程的(詳見:JuliaLang/IJulia.jl)。當然,我知道也有不少人喜歡Juno的:Juno, the Interactive Development Environment 可能這個更有碼農的感覺吧hhh
進一步的,我們可以有很多交互式的操作,這在Julia中主要通過Interact package實現。比如,我們可以自定義slider,按鈕等對一個參數曲線進行互動。一個例子見如下視頻,或者JuliaGizmos/Interact.jl。
Interact in Julia
vimeo.com
至于各種畫圖,我傾向于使用Plots這個package。入門可以見:Plots - powerful convenience for visualization in Julia.
四、寫在最后
自然,本文給出的只是很少的一些例子和對Julia這門編程語言的最基本的介紹。無論你只是希望有個方便的語言調用solver,或者做數值計算居多,還是比較高級的優化算法專家,多實踐,一邊"get hands dirty"一邊學習我覺得總是最有效率的。
首當其沖的是Julia官網上提供的大量學習資源:包括視頻,具體的算例,和各種pdf教程。
Learning Julia3 ulialang.org
作為Julia cofounder之一的Prof.
展開 Julia——基本數據結構
julia與Python中一樣,默認情況下都是淺拷貝,如果想要進行深拷貝,可以直接使用內建的copy函數:
a = [1,2,3] # 3-element Array{Int64,1}: # 1 # 2 # 3 b = a # 淺拷貝 # 3-element Array{Int64,1}: # 1 # 2 # 3 b[1] = 111 # 111 a,b # ([111, 2, 3], [111, 2, 3]) c = copy(a) # 深拷貝 # 3-element Array{Int64,1}: # 111 # 2 # 3 c[1] = 1 # 1 a, b ,c # ([111, 2, 3], [111, 2, 3], [1, 2, 3]) 復制代碼
以上是Julia中基本的數據結構。
作者:haoxiangchn
來源:掘金
展開 使用Python實現MIIM方法繪制Julia set
Julia set是一種用簡單的表達式生成的復雜分型,一般的Julia set只需要使用的表達式反復迭代便可以得到這樣的圖像。
雖然這個表達式很簡單,但是具體要怎么使用這個表達式來生成Julia set的圖像呢,今天來介紹下Python的實現方式。
關于Julia set有很多種實現方式,這篇文章介紹的是反向迭代法(Inverse Iteration Method,簡稱IIM)的一種改進方案。IIM的原理就是,我們從一個已知存在于Julia set的點中開始反向迭代。正常來說我們是把表達式的結果帶入下一個表達式迭代,而反向迭代則是我們不斷地解x的值帶入下一次迭代。這種方法的好處就是,每一次迭代出來的點都一定是存在于Julia set中的。
IIM方法的性能比傳統的BSM高很多,但是存在一些問題,IIM方法對于特定的c值給出的圖像質量很差,因為原理限制,它很難迭代到“內部”的點,看起來有些發虛。下圖是對比,左邊是IIM,右邊是質量較高的圖像。
而又因為IIM方法每次迭代都會產生兩個新的根,這個根生成的過程就好像二叉樹一樣。導致IIM的迭代次數是呈指數上升的,我們沒辦法簡單通過增加迭代層數來獲得更好的圖像。如果迭代層數是N,那么實際迭代次數就是2^N。這個代價實在太高了,我們必須找一個別的方法。
這里就引入了我們主題中提到的MIIM,MIIM實際上就是Modified IIM。是對原有的IIM進行改進,解決了圖像質量問題的IIM。下面的文章來介紹MIIM的具體實現方法。
然后是一個把復數映射到平面上的工具函數。
MIIM算法主體:
MIIM維護一個矩陣,每當有點被迭代到,都會使對應的矩陣項值加1。但是這里我們人為設置了一個上限bailout。
展開 Julia 算法實例——任意多邊形的面積計算
學東西要通過實例來學,在理解算法的同時,Julia也會了,不用特地去學習Julia的語法,需要用到啥就去學習啥,報錯了就去查錯。學習效果肯定比直接拿一本書就啃要好的。

為什么選擇Julia語言——《非線性計算與多物理場耦合》系列課程之準備課
一開始呢,我們先講我們后面課程程序設計的工具,Julia,也就是我們算法的載體。為什么我們最終選擇了Julia(https://julialang.org/),而沒有選擇matlab或者python呢
奧斯卡最佳服裝設計獎背后的3D打印元素
為了在設計初稿中再現非洲人的生活風貌,Ruth請Julia Koerner為女主Ramonda皇后3D打印了一件肩鎧和一頂王冠?!案鶕uth的設計初稿,我設計了一系列具有非洲風格的3D圖案,設計成了帶有這些圖案元素的Zulu帽和肩鎧。我們特別注意不讓設計出來的服裝看起來像手工縫制的,而是看起來帶有科技感。我們使用可視化編程開發并嘗試了各種材料。最終,我們設計出了想象中的最新潮的數字設計服裝?!?在實際制作服裝道具的過程中,Julia選擇的是與Materialise公司合作。“我們采用的是激光燒結技術,這種技術可以最大限度地保證設計的自由度,無需支持輔助。服裝道具是用PA12材料制成的,這種材料打印準確度高、靈活性大、張力強。這種材料也很適合跟皮膚接觸,是時尚與服裝設計的理想選擇?!?Julia介紹道。
Ruth還請Julia專門為自己設計了一套行頭向黑豹致敬,同時也可以穿去第21屆服裝設計師協會獎和奧斯卡頒獎典禮。Julia為她設計了一條帶有非洲圖案與設計風格的項鏈,以及帶有上世紀50年代Balenciaga風格和馬里攝影師SeydouKe?ta的作品元素的晚禮服。設計由3D掃描量身定制,由Materialise 公司的PA 12打印機采用SLS技術制造,隨后Julia在禮服上手工縫制了施洛華世奇水晶,令其閃亮發光。
“水晶更加增強了服裝的細節效果。這也是第一次在3D打印的服裝上點綴水晶,這真是數字設計和傳統工藝的完美結合?!?em>Julia如此說道。
展開 數學模型與非線性的定義——《非線性計算與多物理場耦合》系列課程之一
此課附件包含兩個基于Julia寫的兩個代碼(Julia的安裝與基本操作視頻看完主頁的julia課程),PPT和完整視頻(免費完整視頻在我主頁課程里面),免費分享給大家,希望有興趣,覺得此視頻還有點用的同學關注我,后續會有更加精彩的內容。
Share1.zip
第一課 .pdf
Python高性能編程PDF文檔下載
全網最全Python必讀書藉合集(PDF文檔免費下載)
目錄
第1章 理解高性能Python 1
1.1 基本的計算機系統 1
1.1.1 計算單元 2
1.1.2 存儲單元 5
1.1.3 通信層 6
1.2 將基本的元素組裝到一起 8
1.3 為什么使用Python 12
第2章 通過性能分析找到瓶頸 15
2.1 高效地分析性能 16
2.2 Julia集合的介紹 17
2.3 計算完整的Julia集合 20
2.4 計時的簡單方法——打印和修飾 24
2.5 用UNIX的time命令進行簡單的計時 27
2.6 使用cProfile模塊 28
2.7 用runsnakerun對cProfile的輸出進行可視化 33
2.8 用line_profiler進行逐行分析 34
2.9 用memory_profiler診斷內存的用量 39
2.10 用heapy調查堆上的對象 45
2.11 用dowser實時畫出變量的實例 47
2.12 用dis模塊檢查CPython字節碼 49
2.13 在優化期間進行單元測試保持代碼的正確性 53
2.14 確保性能分析成功的策略 56
2.15 小結 57
第3章 列表和元組 58
3.1 一個更有效的搜索 61
3.2 列表和元組 63
3.2.1 動態數組:列表 64
3.2.2 靜態數組:元組 67
3.3 小結 68
第4章 字典和集合 69
4.1 字典和集合如何工作 72
4.1.1 插入和獲取 73
4.1.2 刪除 76
4.1.3 改變大小 76
4.1.4 散列函數和熵 76
4.2 字典和命名空間 80
4.3 小結 83
第5章 迭代器和生成器 84
5.1 無窮數列的迭代器 87
5.2 生成器的延遲估值 89
5.3 小結 93
第6章 矩陣和矢量計算 94
6.1 問題介紹 95
6.2 Python
展開 地球為何會發出"嗡嗡聲",地球的9個神秘聲音錄!
4
Julia
Julia于1999年3月一日檢測到,持續了約15秒,聲音大到所有的太平洋赤道水聽器都檢測到了。懷疑是南極冰山擱淺造成的。
5
Slow down
1997年5月19日,第一次監測到Slow Down這種聲音,也被認為是由冰山擱淺造成的,但是有人堅稱是巨型烏賊引起的。這種聲音持續了約7分鐘,漸漸頻率減弱,所以才叫Slow down。和Upsweep一樣,從被監測到開始,一直周期性出現。
6
The Hum
這種嗡嗡聲在好多場合都被記錄下來,特別是最近的50年。但是在這些場合下,這種沒完沒了的低頻嗡嗡聲只有一部分人能聽得到。很難準確說出Hum是什么時候開始的,最早記錄是在20世紀70年代,自從那個時候開始,好像突然蔓延到全世界——安大略省、加拿大陶斯、新墨西哥州的布里斯托爾、英格蘭大部分地區、蘇格蘭、奧克蘭,還有新西蘭都出現了這種聲音。
在多數實例中,受影響的人群只占百分之二左右。對于個人來說,這種嗡嗡聲很大程度上不可避免的卻又無法跟蹤。那些受影響的人說以前從沒聽過這種聲音,而且是在室內聽到的,到晚上會更聲音更大。這些在農村和郊區最常見,受影響人群年齡在55歲至70歲之間。
科學家們研究這種嗡嗡聲很久了,偶爾會追蹤到發射特定頻率的工業設備上。不過,在大多數情況下,這種聲音簡直把人搞暈了。其他可能的罪魁禍首名單有一長串:無線電通訊設備、電線或天然氣管道、電磁輻射、無線電波或地震顫動都是嫌疑人。
因為Hum的出現和消失原因不盡相同,所以這種現象仍然困惑著研究人員,但Hum是真實存在的,八成是21世紀生活的副產品。
展開 16:00直播!Ansys Redhawk-SC 2023 R1新功能介紹
隨著高級封裝設計的快速發展,RedHawk-SC在capacity和capability上也在持續提升,以滿足不同類型的3DIC設計和客戶的各種分析需求,我們也將在本次webinar中進行分享
演講人介紹
Julia Zou,Ansys Senior Application AE
2020年加入Ansys,負責Ansys半導體業務部Redhawk-SC/Pathfinder-SC/Redhawk產品的售前/售后技術支持以及項目仿真的咨詢工作。
在先進工藝和高級封裝(例如Cowos、InFO,3DIC)的電源完整性分析上具有豐富的工程項目仿真經驗。
專注為客戶提供Ansys的多物理場Sign-off解決方案,滿足嚴苛的電源、性能、散熱及可靠性要求,幫助客戶信心百倍地加速設計收斂,獲得最佳的PPA權衡。
點擊鏈接 免費報名
https://v.ansys.com.cn/live/aW0Q8uIr?source=jishulink
更多精彩直播:
Ansys 2023 R1系列直播合集
—END—
展開 《自然·通訊》微結構化聚乙烯醇/聚吡咯水凝膠膜全天收集淡水
加州理工學院
Ye Shi
和
Julia R. Greer
團隊
開發了一種水凝膠膜,該膜包含具有高表面積的分層三維微觀結構,兼具了兩種功能并可以用作全天的淡水收集器。
在晚上,水凝膠膜可有效捕獲霧滴并將其定向輸送到存儲容器中。在白天,它充當界面太陽蒸汽發生器,通過改善的熱/蒸汽流管理,在1個太陽下可實現3.64 kg m-2 h-1的高蒸發率。借助自制的屋頂集水系統,這種水凝膠膜可以在室外測試中產生淡水,日產量約為34 L m-2,這證明了其緩解全球缺水的潛力
。相關論文以題為
All-day fresh water harvesting by microstructured hydrogel membranes
發表在《
Nature Communications
》上。
【主圖導讀】
圖
1:雙功能凝膠膜的設計和全天集水原型。
圖
2:微結構化PVA/PPy
(聚乙烯醇
/聚吡咯)凝膠膜的制備和結構表征。
圖
3:具有微樹拓撲結構的PVA/PPy凝膠膜的霧氣收集特性。
圖
4:微結構化PVA/PPy凝膠膜的太陽蒸汽產生特性。
圖
5:在戶外全天通過PVA/PPy凝膠微樹陣列集水。
參考文獻
:
doi.org/10.1038/s41467-021-23174-0
版權聲明:「
高分子材料科學
」公眾號旨在分享學習交流高分子聚合物材料學等領域的研究進展。上述僅代表作者個人觀點。如有侵權或引文不當請聯系作者修正。商業轉載或投稿請后臺聯系編輯。感謝各位關注!
展開 
為什么 TensorFlow 如此受歡迎 – Tensorflow 功能
目前,正在開發 Java、JavaScript、Julia、Matlab、R 等的 API。
使用 CPU、GPU 輕松部署和計算: TensorFlow 支持在 CPU 和 GPU 上訓練和構建模型。計算可以在 CPU 和 GPU 上完成,也可以進行比較。
包含預先訓練的模型和數據集: Google 在 TensorFlow 中包含了許多數據集和預訓練模型。數據集包括 mnist、vgg_face2、ImageNet、coco 等。
適用于移動設備、嵌入式設備和生產的預訓練模型: 機器學習模型可以使用 TensorFlow 部署在移動和嵌入式設備上。預先訓練的模型可以直接用于生產。
Tensorboard 是一個使用 TensorFlow 可視化工具包的工具包,通過模型圖使 ML 變得簡單: Tensorboard 是 TensorFlow 的可視化工具包,用于顯示圖像、圖形等。
支持 Keras: Keras 是 TensorFlow 的高級 API,構建在 TensorFlow 和 Theano 之上。如今,Keras 已成為一種廣泛使用的 TensorFlow API。
開源: TensorFlow 是一個開源平臺,可免費使用,允許開發人員和研究人員構建和部署機器學習模型。
為什么 TensorFlow 很受歡迎?
TensorFlow 讓機器學習變得簡單: 借助預先訓練的模型、數據和高級 API,每個人都可以輕松構建 ML 模型。
主要由研究人員使用: 大多數研究人員和學生在研究和模型構建中使用 TensorFlow。
用于生產目的的現成模型: TensorFlow 支持預訓練模型,這些模型可以立即用于生產和實驗。
展開 Nat.Commun.:增材制造新工藝打印金屬納米結構
【成果簡介】
近日,美國加州理工學院Julia R. Greer(通訊作者)在Nat.Commun.上發表了一篇題為“Additive manufacturing of 3D nano-architected metals”的文章。該團隊通過合成含有鎳聚合物的雜化有機 - 無機材料,并用其制造光刻膠,利用雙光子光刻技術(TPL)以及熱解制造了分辨率為25-100納米的復雜三維金屬幾何圖形。該過程容易且可重復,為創建具有納米尺度分辨率的復雜三維金屬結構提供了有效的途徑。
【圖文解讀】
圖一 納米金屬增材制造工藝和樣品的SEM表征
(a) 配體交換反應用于合成金屬前驅體;
(b) 混合金屬前驅體,丙烯酸樹脂和光引發劑以形成富含金屬的光刻膠;
(c) TPL工藝示意圖;
(d) 金屬聚合物制備;
(e) 熱解去除有機物并將聚合物轉變為金屬;
(f-j) 代表性的SEM圖像。
圖二 納米結構金屬的EDS表征
(a) 熱解前SEM圖像(20μm);
(b) 熱解后SEM圖像(4μm);
(c-d) EDS成分分析;Ni含量超90%,Si為底部支撐;
(e-h) EDS面掃描,元素沉積高均勻性。
圖三 金屬結構TEM表征
(a) Ni束SEM圖像,基底為200nm厚SiN薄膜;
(b) 懸掛在SiN薄膜1.25μm孔邊緣的Ni束的低倍TEM圖像;
(c-d) 區域電子衍射圖譜,Ni束主要由Ni納米晶與少量NiO組成;
(e) 金屬束的HRTEM圖像;
(f) n=40顆粒尺寸直方圖。
圖四 納米力學測試
(a-d) 壓縮實驗過程中Ni結構的SEM圖像;
(e) 納米Ni的應力-應變曲線;
(f) 不同打印方法獲得的納米Ni強度-金屬束直徑曲線。
展開 歐盟有意提前停售PHEV 加速向純電動汽車過渡
歐洲非政府組織交通與環境(Transport&Environment)的車輛和電動出行高級總監Julia Poliscanova表示,該組織自己的研究表明,在內燃機模式下駕駛時,PHEV車型的二氧化碳排放量比傳統汽車更高(由于比傳統內燃機車型更重,所以需要消耗更多的燃料)。所以從環境和氣候的角度來看,今天的PHEV技術比傳統內燃機技術更糟糕。
對于歐盟的這一想法,一些汽車制造商肯定不會感到滿意,因為他們希望至少在2030年之前可以一直銷售PHEV車型。賓利首席執行官Adrian Hallmark就表示:“2025年之前就停售PHEV,這種做法太瘋狂了,因為你扼殺了今天的需求。對大多數人來說,純電動汽車還不夠實用。”
歐洲環保汽車倡議協會(European Green Vehicles Initiative Association)主席、寶馬全球研究總監Stephen Neugebauer表示:“10年后,或是9年后,所有客戶都會購買電池電動車嗎?我們不這么認為。因為有時候你要長途旅行,你需要去度假,還有人會在汽車后面拉拖車。因此,我們需要先建設充電基礎設施,這是一個非常關鍵的問題?!?沃爾沃汽車首席執行官Hakan Samuelsson承認,在政策制定者眼中,PHEV不再具有價值。歐盟現在更專注于大力投資純電動汽車充電基礎設施,而這讓他感到失望。他說道:“如果汽車行業投資純電動汽車,而且投資速度很快,那么我們就會有更多的話語權,要求政府建設充電基礎設施。”
如果新規得以通過,那些希望將PHEV作為過渡的汽車制造商肯定會受到打擊。
展開 lammps在金屬位錯動力學上的應用
主要使用的是Julia對文本數據進行處理。而提取的主要依據就是晶格畸變參數,位錯的位置就是晶體晶格畸變參數明顯的原子組的定位,在lammps模擬過程中,我們添加了晶格畸變參數的計算,以便對數據文本的處理。提取后的效果是比較明顯的,模型中最后只留下了產生位錯的原子組合。
位錯提取前(左)與提取后(右)
模擬結果
由于合金含量不同,單一位錯開動的是不一樣的。如下圖所示,單一位錯在持續恒力的條件下,當持續應力達到一定值時,位錯會發生一個明顯的運動,此時我們可以判定位錯克服晶格阻力產生了位移突變,即克服能壘進入熱驅動狀態,而隨著應力的增大,位錯的運動并不能很明顯地產生,這是由于應力增大后位錯開動后所剩的力會導致位錯周圍的原子再次對位錯產生反作用或者釘扎從而使位錯發生反向運動或者依然保持不動。
刃位錯(左)和螺位錯(右)不同Cr比例下的P-N力
最后,歡迎大家聯系我們。
展開