ShadowFury Mesaj tarihi: Ocak 13, 2016 Mesaj tarihi: Ocak 13, 2016 Kendimi scientific computing konusunda geliştirmek istiyorum, ama nereden başlayacağımı bilmiyorum. Programlama bilgim çok fazla değil, bazı basit şeyleri biliyorum ama şu ana kadar genelde MATLAB kullandım. O yüzden sıfırdan başlıyormuş gibi anlatacak birşeyler gerekli. Problemlerin matematiksel/fiziksel yönleriyle birlikte basitçe anlatacak bir kaynak arıyorum. Konuya özel olarak sormak gerekirse simulasyonlardan çok data analysis tekniklerine çalışmam gerekli, ama genel olarak öğrenmeye daha hevesliyim. Nereden başlamak gerekir?
Anhora Mesaj tarihi: Ocak 13, 2016 Mesaj tarihi: Ocak 13, 2016 edX'te yeni Python kursu başladı. İlginizi çekerse: https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-6
pulkas Mesaj tarihi: Ocak 13, 2016 Mesaj tarihi: Ocak 13, 2016 ShadowFury said: Kendimi scientific computing konusunda geliştirmek istiyorum, ama nereden başlayacağımı bilmiyorum. Programlama bilgim çok fazla değil, bazı basit şeyleri biliyorum ama şu ana kadar genelde MATLAB kullandım. O yüzden sıfırdan başlıyormuş gibi anlatacak birşeyler gerekli. Problemlerin matematiksel/fiziksel yönleriyle birlikte basitçe anlatacak bir kaynak arıyorum. Konuya özel olarak sormak gerekirse simulasyonlardan çok data analysis tekniklerine çalışmam gerekli, ama genel olarak öğrenmeye daha hevesliyim. Nereden başlamak gerekir? Oncelikli olarak *n*ix terminolojisine asina olman lazim.Olmadan olur mu, mutlaka oluyodur ama bu isleri biraz daha kolaylastirmak adina atilacak ilk adim bu olmali.bir linux dagitimi yada elindeki donanim uygunsa bir hackintoshla yada yeterince paran varsa bir macbookla olaya dalabilirsin. linux dagitimi tercih ederken deb yada rpm tabanli olmak uzere 2 secenegin var.deb tabanli olarak ubuntu(lts surumleri), rpm tabanli olarak fedora yada scientific linux den birini tercih ediyosun.scientific linux communitesi biraz seni zorlayabilir.rpm tercih edersen fedora oncelikli secenegin olsun. bunlarin disinda hackintosh yapmayi planlarsan http://www.tonymacx86.com/ dalip donanimin uygunmu degil mi onu arastiriyosun.akabinde kurulum cok kolay. osx tavsiye etme sebebim,system maintenancela kaybedecegin zamani minimize etmek.keza linux dunyasinda paket yoneticisinden bir program kurmakla kaynak koddan derlemek arasinda daglar kadar fark var.bagimlilik cozeyim derken arap sacina donup gunlerce alakasiz problemlerle ugrasiyo olarak bulabilirsin kendini.yada hersey duzgun calisiyo zannederken aslinda kullandigin kutuphanelerden birinin aslinda kurman gereken minor versiyonunu kurmadigin icin programin alakasiz numeric hatalar verip cileden cikarabilir...(heizenbug diyolar sonra.) osx de windowsun kolayligi ile linuxun terminalinin harmanlanmis hali olarak dusun.kde yada gnome kullanirken masaustunden alakali alakasiz coken kapanan pencerelerden o kadar cok usandim ki osx bu konularda oldukca stabil.homebrew, macports yada finkle zaten linuxdeki kutuphanelerin buyuk bir kismini kullanabiliyosun. universitelerdeki pek cok bolumu kazandigin an matlab bundle olarak geliyo zaten.iyi ve kotu yanlarindan bahsetmeye gerek yok.problemini prototipleme icin matlab cok guzel bir arac.bunun otesinde performans olarak bilincsizce kullaninca bayaa kotu.en verimli kullandigin halde bile modelin buyukse probleminin cozumu cok uzun zaman alacaktir.1 modelin gece gunduz 5 gunde sonuclandigi bir problemi C yada fortranla 1.5 saat gibi bir zamana indirgeyebiliyosun.deneyimle sabittir. bu sebeple oncelikli olarak C ogrenmeni tavsiye ediyorum.pointerlarda dahil olmak uzere C yi ogrendigin zaman c++ yada javayla yoluna devam edersin.C ilerleyen surecte CUDA ve paralel programlama icin isine yarayacak.matlabdan c ye gecmete attan inip esege binme hissiyati verecek basta ama zamanla alisinca o esege bi ucak moturu takilmis gibi hissedeceksin zaten. openmp, mpi girecek zamanla devreye.cozmek istedigin model buyuyecek.seri programin problemin altindan kalkamayacak ve mecburen paralel programlamaya baslayacaksin.oncelikli olarak elindeki islemciyi tam performans kullanmak isteyeceksin.o noktada openmp girecek devreye.daha sonra agdan bir 2. bilgisayari sokacaksin.o zaman mpi ile girisiceksin olaya.daha sonra bu iki bilgisayari bir rackte tek bir anakart ustunde 2 islemci olarak isleyeceksin.sonra olaylar olaylar. yetmeyecek.uzerine ugrastigin problemin matematik alt yapisida uygunsa CUDA ile girisiceksin olaya.once tek ekran kartiyla cozeceksin.sonra 2 sonra 3 derken bir ekran karti farmin olmus.problemin hala 1 aydan once cozulmuyosa algoritmani bir gozden gecireceksin. algoritma konusunda numerical recipes a goz atmani tavsiye ederim.bunun disinda kaynak olarak githubdan bayaa bir destek alabilirsin. mesela : http://jackschaedler.github.io/circles-sines-signals/index.html https://github.com/btrask/stronglink/blob/master/SUBSTANCE.md https://notabug.org/koz.ross/awesome-c(https://github.com/kozross/awesome-c) ycombinator uzerinde bayaa kaliteli makalelere denk gelebiliyosun.hergun en azindan 15 dakika buraya ayirmakta yarar var. http://kukuruku.co/hub/algorithms/automatic-algorithms-optimization-via-fast-matrix-exponentiation http://kukuruku.co/hub/programming/i-do-not-know-c bazi problemleri cozerken makalelerden yararlanman gerekiyo.bir arkadasin problemi icin kafa patlatirken buldugum cozumu kanitlamak icin asagidaki makaleleri bulmustum mesela http://www.igu.in/7-1/2subrata.pdf http://graal.ens-lyon.fr/~bucar/papers/ucca2D.pdf isin matematik boyutunada bayaa bi egilmen gerekecek bu arada.bunun icin : http://tutorial.math.lamar.edu/ buradaki cheatsheetler bazen hayat kurtabiliyor. Suda bir kenarda dursun: http://web.efzg.hr/dok/MAT/vkojic/Larrys_speakeasy.pdf Gorsellestirme icin su videoyu izlemeni tavsiye ederim: https://acko.net/tv/wdcode/ https://algorithmia.com/algorithms http://bost.ocks.org/mike/algorithms/ http://www.99-bottles-of-beer.net/ http://rosettacode.org/wiki/Rosetta_Code vaktin olursa sunada bir goz atmani tavsiye ederim bu arada: http://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/ ufuk acici. http://www-math.mit.edu/~gs/papers/newsigproc.pdf Eger pythona bulasacak olursan su kitabi tavsiye ederim, http://www.amazon.co.uk/Scientific-Programming-Computational-Science-Engineering/dp/3642302920 itude tanidigin varsa kutuphanede vardi bu kitap. biraz daginik oldu bu yazi.su anda bastan sona okuyarak elden gecirebilecek durumda da degilim.umarim yardimci olur.aklima bir seyler gelirse sakin kafayla baska seylerde ekleyebilirim buraya. vel hasili, kolay gelsin.
fizban Mesaj tarihi: Ocak 13, 2016 Mesaj tarihi: Ocak 13, 2016 bugun doktorami tamamladim, yazmaya useniyorum ehuhe. yalniz scientific computing dedin mi cok genis bir alan. mpi bilmeden olmayacak isler de var, pythonla matlabla yazacagin kodlar da sci.comp kapsamina girebilir.
ShadowFury Mesaj tarihi: Ocak 14, 2016 Konuyu açan Mesaj tarihi: Ocak 14, 2016 Çok teşekkürler, bayağı bi kaynak çıkmış bu kadar beklemiyodum eheh. Bookmarkladım. C öğrenerek başlıyorum o zaman, bunun için en iyi kaynak nerededir? Biraz bakındım, nedense tek bir ağızdan en yakın kitapçıya git rastgele bi kitap al başla gerisi gelir demişler :p Böyle mi cidden, kesin olarak tavsiye edilecek kitabı filan yok mu bu işin? İnternet üzerinden tavsiye edebileceğiniz bir kaynak filan var mı?
pulkas Mesaj tarihi: Ocak 14, 2016 Mesaj tarihi: Ocak 14, 2016 ShadowFury said: Çok teşekkürler, bayağı bi kaynak çıkmış bu kadar beklemiyodum eheh. Bookmarkladım. C öğrenerek başlıyorum o zaman, bunun için en iyi kaynak nerededir? Biraz bakındım, nedense tek bir ağızdan en yakın kitapçıya git rastgele bi kitap al başla gerisi gelir demişler :p Böyle mi cidden, kesin olarak tavsiye edilecek kitabı filan yok mu bu işin? İnternet üzerinden tavsiye edebileceğiniz bir kaynak filan var mı? oncelikli olarak : http://norvig.com/21-days.html sonra : http://c.learncodethehardway.org/book/ referans kitabi olur : http://www.amazon.com/The-Programming-Language-Brian-Kernighan/dp/0131103628 Linki yukarida bozuk koymusum: https://notabug.org/koz.ross/awesome-c (https://github.com/kozross/awesome-c)
XLegolas Mesaj tarihi: Ocak 17, 2016 Mesaj tarihi: Ocak 17, 2016 C öğrenerek başla. Diğer diller kadar kolay değil ama herşeyi kendi kodladığın için bence mantıksal hatalar yapman daha zor. ama undefined behaviourlar yüzünden kafayı yiyebilirsin. neyse ilk aşamada yemezsin. scientific computing diyorsan ama programlama yetmez. grafiksel işlerle uğraşacaksan şart olan şeyler: lineer cebir + analitik geometri istatistiksel şeylerle uğraşacaksan şart olan şeyler: istatistik/olasılık zaten bunlarla uğraşıyosan muhtemelen bi yerden heves etmişindir ekonomi mekonomi yapmak istiyosundur o yüzden tahmini diferansiyel denklem ve basit seviyede stokastik diferansiyel denklem (brownian motion gibi) ve tabiki ekonomi bilmen gerekebilir. simulasyon falan yapcam diyosan aşağı yukarı demin yazdıklarımın hepsini (ekonomiyi çıkar) bilmen gerekir. üstelik hangi alanda simulasyon yapacaksan o alana spesifik şeylerde bilmen lazım. AI mi yapcan o zaman AI bilmen lazım, moleküler dinamik mi yapcan o zaman basit seviyede bu konunun fiziğini bilmen lazım. edit: data analizi demişin bu konunun çok detayını bilmesem de son senelerde matematikte ilginç data analiz yöntemleri çıktı, topolojik data analizi deniyor. misal persistent homology bunlardan biri ama oldukça yüksek seviyede matematik gerektiriyor. yine de çevrendekiler değişik bir iş yapmak istersen ilerde (5-10 sene sonra) biraz bu konuları anlamaya çalışabilir veya bir matematikçi ile oturup orta bişeyler yapmayı deneyebilirsin. boğaziçinde ve koçta bu tarz algebraic topology denen topolojiden anlayan insan bol. Önemli not: eğer ki araştırma seviyesinde bir şey yapmak istiyorsan zaten bir araştırma grubuna ya da bir hocanın yanına yaman o zaman 3 senede falan öğrenirsin. yok kendim yapcan diyosan bi 5 sene falan ver derim. bunlar tabi başlangıç seviyesinde araştırma yapabilmek için. sonra kendini geliştirmeye devam ederek 10-15 sene içersinde daha önemli şeyler yapabilirsin.
XLegolas Mesaj tarihi: Ocak 17, 2016 Mesaj tarihi: Ocak 17, 2016 C zor gelirse phyton falan ile başla
mep Mesaj tarihi: Ocak 17, 2016 Mesaj tarihi: Ocak 17, 2016 software carpentry'ye de bir göz at istersen. http://software-carpentry.org/
deadwoll Mesaj tarihi: Ocak 25, 2016 Mesaj tarihi: Ocak 25, 2016 Oncelikle neye ihtiyacin var onu anla tam olarak. Misal ben de benzer bir iki baslik acmistim burada, herkes c, python vs. tavsiye etmisti ama isime onlarin yaramadigini (daha dogrusu cok da gerekli olmadigini) daha gecen sene farkettim. Ben misal ekonometri calisiyorum; R ve matlab isimi fazlasiyla goruyor. C# ogrensem belki problemlerim daha hizli cozulecek ama R ve matlab'de bir suru library var isimi goren. Ya da ne bileyim teorik istatistikciler var, yeni modelleri, testleri falan o dillerde yaziyorlar. Ben uygulamaci oldugum icin kastirmiyorum editleyip isimi goruyorum. Orta vadede kendiligimden ogrendim iki dili de. Hala da ogreniyorum. Eger isini gorurse R bayagi guzel bir data analiz programi; gorsel yetenekleri falan bayagi basarili. Bayagi bir akademik kaynak var; ilgilendigim her konuda her seyi buldum.
Öne çıkan mesajlar