Hesaplamalı Bilim

Bilimsel sorunları çözmek için bilgisayar kullanan bilim adamlarının soru-cevapları

7
Flop sayımı ile algoritmik analiz yapmak eski mi?
Sayısal analiz kurslarımda, problemin büyüklüğüne göre ihtiyaç duydukları kayan nokta işlemlerinin (floplar) sayısını sayarak algoritmaların verimini analiz etmeyi öğrendim. Örneğin, Trefethen & Bau'nun Sayısal Doğrusal Cebir'deki metninde flop sayımlarının 3B görünümlü resimleri bile var. Şimdi "floplar ücretsiz" demek modaya uygun, çünkü önbellekte olmayan herhangi bir şeyi almak için hafıza gecikmesi …

9
İşlevsel Programlama ve Bilimsel Hesaplama
Bu belirsiz bir soru ise özür dilerim, ama işte: Geçtiğimiz birkaç yıl boyunca, işlevsel programlama , Yazılım Mühendisliği topluluğunda büyük ilgi gördü. Birçoğu Scala ve Haskell gibi dilleri kullanmaya başladı ve diğer programlama dilleri ve paradigmalarına göre başarı talep etti. Sorum şu: yüksek performanslı bilgi işlem / bilimsel bilgi işlem …

4
Fortran'ı hızlı yapan nedir?
Fortran'ın sayısal programlamada özel bir yeri vardır. Diğer dillerde kesinlikle iyi ve hızlı yazılımlar üretebilirsiniz, ancak Fortran yaşına rağmen çok iyi performans gösteriyor. Üstelik Fortran'da hızlı programlar yapmak daha kolay. C ++ 'da hızlı programlar yaptım, ancak işaretçi takma gibi şeyler konusunda daha dikkatli olmalısınız. Öyleyse, bunun bir nedeni olmalı …

18
Test algoritmaları / rutinleri için iyi veri setleri / test problemleri nereden elde edilebilir?
Kullanmak üzere olduğunuz bir yazılım parçasının kalitesini (ister yazdığınız, isterse hazır paket olsun) hesaplamalı olarak değerlendirirken, standart veri setleri veya problemler üzerinde ne kadar iyi çalıştığını görmek iyi bir fikirdir. Hesaplama rutinlerini doğrulamak için bu testler nereden edinilebilir? (Cevap başına bir web sitesi / kitap, lütfen.)

4
Sayısal hatalar için bilimsel standartlar
Araştırma alanımda deneysel hataların belirtilmesi yaygın olarak kabul görmekte ve bunları sağlamayan yayınlar oldukça eleştirilmektedir. Aynı zamanda, çoğu zaman şüpheli sayısal yöntemler iş başında olmasına rağmen, sayısal hesaplamaların sonuçlarının herhangi bir sayısal hata hesabı olmadan sağlandığını görüyorum. Sayısal hesaplamaların ayrıklaştırılması ve sonlu hassasiyetinden kaynaklanan hatalardan bahsediyorum. Tabi ki, bu hata …

8
Kod yayınlara nasıl bağlanır
Bilimsel hesaplama alanındaki bilimsel yazılar (ve günümüzde birçok başka alan) tipik olarak, bu kağıt için özel olarak yazılmış veya kağıtta sonuç elde etmek için kullanılmış bir miktar kod veya hatta tüm yazılım paketlerini içerir. Gazetenin okuyucularının koda erişmelerine yardımcı olmanın en iyi yolu nedir? Mevcut yaklaşımım, bir Github deposuna (belirli …

14
Bilimsel verilerin ve grafiklerin yayınlanması için hangi yazılım ve iş akışı önerilir?
Hangi yazılım, birkaç veri noktasının basit çiziminden, ayrıntılı stiller, matematiksel dizgi ve "profesyonel kalite" ile yayın düzeyinde grafiklerin oluşturulmasına kadar iyi bir iş akışı sağlar? Bu, biraz David sorusuyla ilgilidir ( Hangi nitelikler bir profesyonel kaliteyi şekillendirir? ) Ancak odak, nitelikler üzerinde değil, oraya ulaşmak için olan yazılım veya genel …

3
Paralel ODE yöntemlerinde sanatın durumu nedir?
Şu anda ODE entegrasyonu için paralel yöntemler arıyorum. Geniş bir yaklaşım yelpazesini tanımlayan pek çok yeni ve eski literatür var, ancak konuyu genel olarak anlatan herhangi bir son anket veya genel bakış makalesi bulamadım. Burrage [1] adlı kitabın kitabı var, ancak neredeyse 20 yaşında ve bu nedenle parareal algoritması gibi …

2
Bölünme neden diğer aritmetik işlemlerden daha karmaşık?
Geçenlerde bir tane olmayan bir çip üzerinde bir tamsayı bölme işlemine ihtiyaç duyduğum bir durumla karşılaştım (ARM Cortex-A8). Bunun neden olması gerektiğini araştırmaya çalışırken, genel olarak bölünmenin hemen hemen her türlü tamsayılı (veya sabit nokta) mimaride toplama, çıkarma veya çarpma işlemlerinden çok daha fazla döngü gerektirdiğini öğrendim. Neden bu böyle? …

5
SciComp'ta silah araştırmasına katkıda bulunmadan kariyer yapmak mümkün mü?
Sayısal yöntemler hakkında uluslararası bir konferanstayım (ICIAM2019) ve silah araştırmasına doğrudan tatbik edilebilecek uygulamaların yaygınlığı beni şaşırttı. örnekler: Bir ödül kazanan, radarın yeniden yapılandırılması / hareketli cisimlerin algılanmasının matematiksel problemi üzerine yaptığı konuşmayı sürdürürken, konuşmasında 8km yükseklikte bir radar "platformunun" zemin seviyesindeki "hareketli cisimleri" tespit eden aktif radar kullanarak durumunu …

4
MATLAB ters eğik çizgi operatörü kare matrisler için
Birkaç kodumu "stok" MATLAB kodları ile karşılaştırıyordum. Sonuçlara şaşırdım. Örnek bir kod koştum (Sparse Matrix) n = 5000; a = diag(rand(n,1)); b = rand(n,1); disp('For a\b'); tic;a\b;toc; disp('For LU'); tic;LULU;toc; disp('For Conj Grad'); tic;conjgrad(a,b,1e-8);toc; disp('Inv(A)*B'); tic;inv(a)*b;toc; Sonuçlar : For a\b Elapsed time is 0.052838 seconds. For LU Elapsed time is …

7
Kodumun gelecekteki petascale makinelerinde çalışmasını istersem, hangi programlama paradigmalarına yatırım yapmalıyım?
Sektörün, çekirdeklerin işlenmesinde katlanarak artmaya yöneldiği ilk 500 anketinden açıkça anlaşılıyor . En büyük süper bilgisayarlar, düğümler arası iletişim için MPI kullanır, ancak düğümler arası paralellik için net bir eğilim olmadığı görülmekle birlikte, her bir çekirdeğe tek bir MPI işlemini eşleştirmenin en basit (ancak en verimli olanı değil) yaklaşımı ile …


6
Matrix ifadeleri için sembolik yazılım paketleri?
simetrik ve pozitif-kesin olduğunu biliyoruz . B'nin dikgen olduğunu biliyoruz :birA\mathbf ABB\mathbf B Soru: simetrik ve pozitif kesin midir? Cevap: evet.B ⋅ A ⋅ B⊤B⋅A⋅B⊤\mathbf B \cdot\mathbf A \cdot\mathbf B^\top Soru: Bir bilgisayar bize bunu söyleyebilir mi? Cevap: Muhtemelen. Matrisler hakkında bilinen gerçekleri işleyen ve yayan herhangi bir sembolik cebir …

7
Python'da bir for döngüsü paralelleştirme
Python'da Matlab'ın parforuna benzeyen herhangi bir araç var mı? Bu konuyu buldum ama dört yaşında. Belki de buradaki birinin daha yeni deneyime sahip olabileceğini düşündüm. Paralelleştirmek istediğim türden bir örnek: X = np.random.normal(size=(10, 3)) F = np.zeros((10, )) for i in range(10): F[i] = my_function(X[i,:]) nerede my_functionbir alan ndarraybüyüklüğü (1,3)ve …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.