Files
FESADev/docs/mitc4-shell-feast-eigen2/numerical-review-cases.md
T
2026-10-04 03:32:59 +09:00

8.3 KiB
Raw Blame History

필수 검증 사례와 요구사항 연결

  • Feature ID: mitc4-shell-feast-eigen2; Owner: numerical-review-agent; revision r2 (2026-09-10, E2-C25의 승인된 첫 구현 profile 반영).
  • 기본 보고서: numerical-review; 판정 수치: controls.
  • 아래는 구현의 필수 관찰이다. 문서 r1 시점의 실제 수학 oracle는 evidence이며, 최신 실행·미실행 분류는 첫 구현 검토를 따른다.

이전 case C01–C24의 synthetic fixture와 독립 oracle를 읽고 새 formulation에 대조해 아래에 채택한다. 숫자·fixture 상세는 그 문서를 참조하되 이 문서의 새 controls와 아래 예외가 우선한다. 기존 requirement prefix, RED 고정 순서·phase/release 절차·test 이름/개수·이전 pass는 채택하지 않는다. Old C25–C27의 실행·portfolio 지시는 아래 새 정의로 대체한다.

새 Case ID 필수 입력·관찰과 반증 기준
E2-C01 Affine rectangle 4×2, rho3,t1/2: independent C0 matrix, C1=0,C2=t²C0/12, nodal m3,j1/16; full24/physical20, energy·rank·drill null
E2-C02 이번 rational warped director fixture의 모든 Ck/rows/first moment를 독립 적분. C1 강제0, 2-point mass, flat C2 비례식 mutation 검출. Custom director는 kernel-level이며 새 input 기능 아님
E2-C03 Consistent 원본 snapshot→row sum→block 연결, C1/C2 perturbation 전파; 직접 nodal energy 및 Jensen pairwise integral. 각 mass의 energy를 따로 검증
E2-C04 Square [-1,1]², rho=t1, m=1,2,4 mesh, velocity(x,0,0): consistent work4/3, lumping 차8/(3m²), uniform translation work4. 일반 spectrum 수렴차수 약속 아님
E2-C05 Proper rational Q 및 shift(7,-3,5), geometry/director/frame부터 두 mass 재계산; d=(1,1,1)/sqrt3의 full row-sum 실패 mutation
E2-C06 공유 node·상이 rho/t/material sections, source labels/order 변화, sequential/parallel의 stable contribution/reduction 및 정확한 scatter
E2-C07 Density missing/duplicate/unresolved/nonpositive/nonfinite/dependent, invalid thickness/material/geometry/27점 평가 실패. Density 없는 static 허용
E2-C08 NR-MFE-001의 원/회전 geometry부터 complete K/ML 새 계산: kd19/4800,Mff3/50,Kff10369/7500,lambda10369/450. Node1 URZ만 free; min-diagonal mutation은 실패
E2-C09 같은 partial BC와 admissible moment(5/3)b, thetaZ7500/10369; 회전 load와 full Kq-F reaction covariance. Pure eZ moment로 대체 금지
E2-C10 Rotary inventory[0,0,2,4,0,6,0,4]→kd.002; independent tangent changes. Allzero/negative/nonfinite/overflow/underflow 실패; zero 포함 분모8
E2-C11 Free affine element physical K20 rank14, complete K24 rank18/nullity6, consistent physical mass rank20와 lumped rank5/node. 여섯 rigid fields·positive mass Gram·drill null 분리
E2-C12 기존 nonlinear fixture의 frozen initial kd, exact unchanged trial/commit/rollback; objective gamma potential의 1·2차 variation, finite rigid motion, physical 선형극한·recovery 제외
E2-C13 d축정렬/기울임, full/partial/all-fixed rotations와 drill-only free를 지원 global component BC로 구성. Expected null은 constrained director exact-zero 교집합, tiny nonzero 보존. Global n0/N>n 실패
E2-C14 d=(2p/(1+p²),0,(1-p²)/(1+p²)), m=j1,h0, URX fixed. p=1/2000와1e-8 모두 analytic rank5; 두 번째 conditioning failure, p0만 exact null1. Rank cutoff mutation 검출
E2-C15 K6,2],[2,4,Mdiag(2,0)의 lambda5/2,z=-p/2; 단순 삭제3을 거부. Production shell에 Kpz/nonpositiveKzz 위반 주입 후 실패, general dense fallback 추가 안 함
E2-C16 M2,1],[1,2,K6,4],[4,6→lambda2,10/3. Whitening/복원/original M normalization; wrong lambda/mass/vector/constraint mutation 검출
E2-C17 실제 FEAST: n1 lambda2; [0,0,0,2,5,9] N1/4/6; [1,2,4,8] N1/2/4; n4 allzero N1/4. Production bound search로 lowest N·zero·N=n 확인
E2-C18 실제 FEAST n64의 첫40개 lambda1, 나머지2..25, N1/41; [1,1+2^-28,1+2^-27,8] N2와 고정 Givens dense congruence. Repeated group>N, c 전체 Gram, distinct cluster merge 금지
E2-C19 [-2,0,3],[-1e-12,0,1] raw negative 및 정확한 ±tau_zero 경계. Significant negative 실패, nearzero 분류/raw 보존, 양수화/삭제 금지
E2-C20 rho×4→M×4,lambda/4,normalized amplitude1/2; 길이×1024,rho/1024³,E/1024,t×1024의 단위변환 lambda 불변. Same physical BC와 baseline s 사용
E2-C21 Count info1은 certified empty 아님. Optional failed/unknown prefix는 certified enclosure로 fallback, successful nonmonotone count는 실패. Final count/solve mismatch와 invalid/SPD/inner-solver/nonfinite/Gram/residual 등 status 주입은 C5의 retry/즉시실패 분류대로 검사
E2-C22 실제 endpoint/cluster probes 및 mock count512/solve3/초기count3 한계, budget 직전 fallback·예약 불충분 실패. n²/nm0/nnz+1/index/byte overflow·allocation 실패. a0 below spectrum은 독립 bound로 검증; empty count 성공을 필수로 기대하지 않음
E2-C23 원본 single Step-2/N10/density/blank bounds/normalization, source Lanczos/SIM/acoustic-free 의미; unsupported preload/acoustic/mixed/damping/비영 BC 등의 silent no-op 금지. I/O allowlist로 구체화
E2-C24 Source renumbering, HDF5 self-check와 final normalized modes/used mass/backend/count evidence; solve/validation/write/close/replace failure의 기존 state/final 보존. 정확한 layout은 I/O
E2-C25 Reference model의 원본 Value 10개, per-modal-frame singleton families·identity/finite 전검사. 승인된 mitc4-eigen-first-implementation에서 inclusive row/RMS 각각5%, 바로 밖은 실패; nearzero/zero scale 유지. 다른 공통 family RMS1% 보존; reordered rows/동일값 distinct IDs 허용, missing/extra/duplicate 거부
E2-C26 Retained shell/shellNL/linear-limit fresh solve·기존 U blocking/UR warning·reaction review-only, density-free static, partial-BC response, Newton tangent/objectivity/force/moment/free residual/energy/rollback·pressure synthetic·기타 기존 회귀
E2-C27 향후 구현 시 구성 MSVC x64 Debug 전체 CMake/CTest와 actual FEAST/필수 reference를 한 번 연결. Source identity로 등록/선택/실행/제외를 구분하고 관련 없는 회귀 보존. 고정 과거 test 수 또는 중복 manual/automatic 실행 요구 없음

E2-C17/18/22는 mock만으로 충족하지 않는다. E2-C21의 실패 주입은 actual FEAST를 바꾸는 행위가 아니라 adapter 경계 테스트다. Expected eigenvalues로 production bounds를 설정하거나 동일 production 함수를 oracle로 호출하지 않는다. Actual FEAST의 G01/G02 installed probes에는 occupied/empty/endpoint count 반환·flag reset·full m0=n/zero matrix· workspace/ABI/thread 복원이 포함된다. r1 문서 시점에는 NOT RUN이었으며, 이후 실행 여부는 첫 구현 검토의 evidence와 구분한다.

E2-C26은 excluded original/copied/cached examples를 절대로 사용하지 않는다. 제외된 혼합 시험에 있던 retained shellNL force/moment balance·free force/moment residual 네 관찰, nonzero constrained resultant 및 shell/linear-limit 원본 보존 관찰은 retained fixture에 따로 연결한다. Pressure external fresh coverage 부재를 내부 synthetic 통과로 대체하지 않는다.

27개 requirement coverage

접두사는 FEM-REQ-MITC4-EIGEN2-, Case 접두사는 E2-C를 생략한다.

Requirement suffix Cases
001 23,25
002 01,08,12,23,26
003 06,07,23
004 01,02,07
005 01,02,03
006 01,03,11,13
007 06,13,27
008 08,13,14,15,16
009 13,17,18,19,22,23
010 17,18,25,27
011 03,16,17,23,25
012 14,19,21,22,24
013 11,16,17,18,21
014 01,02,03,04,05,08,11,20
015 23,25
016 07,21,23
017 24,25
018 06,13,16,24,25
019 21,22,24
020 25,26
021 25
022 25
023 27
024 09,12,26,27
025 27
026 01,02,03,04,05
027 08,09,10,11,12,26