전산 과학

컴퓨터를 사용하여 과학적 문제를 해결하는 과학자를위한 Q & A

7
플롭 카운팅에 의한 알고리즘 분석은 더 이상 사용되지 않습니까?
수치 분석 과정에서 문제의 크기에 따라 필요한 부동 소수점 연산 (플롭) 수를 계산하여 알고리즘의 효율성을 분석하는 방법을 배웠습니다. 예를 들어, Numerical Linear Algebra에 관한 Trefethen & Bau의 텍스트에는 플롭 카운트에 대한 3D 모양의 그림도 있습니다. 캐시에없는 것을 가져 오기위한 메모리 대기 시간이 플롭 비용보다 훨씬 크기 때문에 "플롭이 비어있다"고 말하는 …

9
기능 프로그래밍 및 과학 컴퓨팅
이것이 모호한 질문이라면 죄송하지만 여기에갑니다. 지난 몇 년 동안, 기능 프로그래밍 은 소프트웨어 엔지니어링 커뮤니티에서 많은 관심을 받았습니다. 많은 사람들이 스칼라와 하스켈 같은 언어를 사용하기 시작했으며 다른 프로그래밍 언어와 패러다임에 대한 성공을 주장했습니다. 제 질문은 고성능 컴퓨팅 / 과학 컴퓨팅 전문가로서 기능적 프로그래밍에 관심을 가져야합니까? 이 미니 혁명에 참여해야합니까? SciComp …

4
포트란을 빨리 만드는 이유는 무엇입니까?
포트란은 수치 프로그래밍에서 특별한 위치를 차지하고 있습니다. 확실히 다른 언어로 빠르고 좋은 소프트웨어를 만들 수는 있지만, 포트란은 그 나이에도 불구하고 계속 잘 수행합니다. 또한 포트란에서 빠른 프로그램을 만드는 것이 더 쉽습니다. C ++로 빠른 프로그램을 만들었지 만 포인터 앨리어싱과 같은 것에 더주의해야합니다. 따라서 이에 대한 이유와 매우 기술적 인 이유가 …

18
알고리즘 / 루틴 테스트를위한 좋은 데이터 세트 / 테스트 문제를 어디서 얻을 수 있습니까?
계산 작업에 사용하려는 소프트웨어의 품질 (평가 한 패키지 또는 통조림 패키지)의 품질을 평가할 때 표준 데이터 세트 또는 문제에서 그것이 얼마나 잘 작동하는지 보는 것이 좋습니다. 계산 루틴을 검증하기 위해 이러한 테스트를 어디서 얻을 수 있습니까? (답변 당 하나의 웹 사이트 / 책을 참조하십시오.)

8
코드를 발행물에 연결하는 방법
과학 컴퓨팅 (및 오늘날 많은 다른 분야)의 학술 논문은 일반적으로 해당 논문을 위해 특별히 작성되었거나 논문의 결과를 얻는 데 사용 된 일부 코드 또는 전체 소프트웨어 패키지를 포함합니다. 논문 독자가 코드에 액세스하도록 돕는 가장 좋은 방법은 무엇입니까? 내 현재 접근 방식은 논문 또는 인용에 Github 저장소 (특정 버전 태그와 함께)에 …

4
수치 오류에 대한 과학적 표준
내 연구 분야에서 실험 오류의 사양은 일반적으로 받아 들여지며이를 제공하지 못한 출판물은 크게 비판을받습니다. 동시에 나는 종종 의심스러운 수치 방법이 작동하더라도 수치 계산 결과가 수치 오류를 고려하지 않고 제공되는 것을 종종 발견합니다. 나는 불연속 화 및 수치 계산의 유한 정밀도 등으로 인한 오차에 대해 이야기하고 있습니다. 물론, 이러한 오차 추정은 …

14
과학 데이터 및 그래프를 게시하기 위해 권장되는 소프트웨어 및 워크 플로는 무엇입니까?
몇 가지 데이터 포인트의 간단한 플로팅에서 세부적인 스타일, 수학 조판 및 "전문적인 품질"을 갖춘 출판 레벨 그래픽 생성에 이르기까지 어떤 워크 플로를 제공합니까? 이것은 David의 질문과 약간 관련이 있지만 ( 어떤 속성이 전문적인 품질을 만드는가? ) 초점은 속성이 아니라 소프트웨어 또는 일반적인 워크 플로에 초점을 둡니다. 나는 많은 프로그램, Gnuplot, …

3
병렬 ODE 방법의 최신 상태는 무엇입니까?
현재 ODE 통합을위한 병렬 방법을 찾고 있습니다. 광범위한 접근 방식을 설명하는 새롭고 오래된 문헌이 많이 있지만, 일반적으로 주제를 설명하는 최근의 설문 조사 또는 개요 기사를 찾지 못했습니다. Burrage [1]의 저서가 있지만 거의 20 년이 되었기 때문에, 초현실적 알고리즘과 같은 더 현대적인 아이디어는 많이 다루지 않습니다. [1] K. Burrage, 정규 미분 …

2
나누기가 다른 산술 연산보다 훨씬 더 복잡한 이유는 무엇입니까?
최근에 칩이없는 칩에서 정수 나누기 연산이 필요한 경우가 발생했습니다 (ARM Cortex-A8). 그 이유를 연구하려고 노력하는 동안, 나는 일반적으로 거의 모든 정수 (또는 고정 소수점) 아키텍처에서 더하기, 빼기 또는 곱하기보다 더 많은주기가 일반 부서에서 필요하다는 것을 알았습니다. 왜 이런 경우입니까? 다른 모든 것과 마찬가지로 2 계층 AND-OR 논리로 표현할 수 없습니까?

5
무기 연구에 기여하지 않고 SciComp에서 경력을 쌓을 수 있습니까?
나는 숫자 방법에 관한 국제 회의 (ICIAM2019)에 있으며 무기 연구와 직접 관련이있는 응용 프로그램의 보급에 놀랐습니다. 예 : 한 수상자는 레이더 재건 / 이동 물체 감지의 수학적 문제에 대한 이야기를 듣습니다. 그의 이야기 내에서 지상에서 "움직이는 피사체"를 감지하는 활성 레이더를 사용하여 8km 높이의 레이더 "플랫폼"상황을 설명합니다. 이 문제가 얼마나 까다로운 …

4
MATLAB 백 슬래시 연산자 는 제곱 행렬의 를 어떻게 해결 합니까?
내 코드 중 일부를 "스톡"MATLAB 코드와 비교했습니다. 나는 결과에 놀랐다. 샘플 코드를 실행했습니다 (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; 결과 : For a\b Elapsed time is 0.052838 seconds. For LU Elapsed time is …

7
향후 페타 스케일 머신에서 코드를 실행하려면 어떤 프로그래밍 패러다임에 투자해야합니까?
업계가 처리 코어 가 기하 급수적으로 증가 하는 추세에있는 것으로 나타났습니다 . 가장 큰 수퍼 컴퓨터는 모두 노드 간 통신에 MPI를 사용하지만 단일 MPI 프로세스를 각 코어에 자동으로 매핑하는 가장 간단한 (그러나 가장 효율적인 것은 아니지만) 노드 간 병렬 처리에 대한 명확한 추세는 보이지 않습니다. 컴파일러, OpenMP, pthreads, CUDA, Cilk …


6
매트릭스 표현을위한 상징적 인 소프트웨어 패키지?
우리는 가 대칭적이고 양의 한정된 것을 알고 있습니다. 우리는 B 가 직교 한다는 것을 알고 있습니다 .AA\mathbf ABB\mathbf B 질문 : 대칭적이고 양의 한정입니까? 답 : 예.B⋅A⋅B⊤B⋅A⋅B⊤\mathbf B \cdot\mathbf A \cdot\mathbf B^\top 질문 : 컴퓨터가 우리에게 이것을 말해 줄 수 있습니까? 답 : 아마도. 행렬에 대해 알려진 사실을 처리하고 전파하는 …

7
파이썬에서 for 루프 병렬화
Matlab의 parfor와 유사한 도구가 Python에 있습니까? 이 스레드를 찾았 지만 4 살입니다. 아마 여기에 누군가가 더 최근의 경험이 있다고 생각했습니다. 다음은 병렬화하려는 유형의 예입니다. X = np.random.normal(size=(10, 3)) F = np.zeros((10, )) for i in range(10): F[i] = my_function(X[i,:]) 어디 에서 크기를 my_function취하고 스칼라를 반환합니다.ndarray(1,3) 최소한, 나는 parfor와 같이 여러 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.