← 문제 목록/Frobenius 노름
문제 해설

Frobenius 노름

NumPy 기초 · easy

preview

Frobenius 노름

행렬의 "크기"를 재는 가장 자연스러운 방법 — 모든 원소 제곱의 합의 제곱근:

AF=i,jAij2\|A\|_F = \sqrt{\sum_{i,j} A_{ij}^2}

벡터의 L2 노름을 행렬로 확장한 것과 같습니다. 숫자 계산·회귀·저랭크 근사 오차 평가 등에 두루 쓰입니다.

성질

  • 항상 ≥ 0
  • 0 은 영행렬일 때만
  • 스케일 선형: cAF=cAF\|cA\|_F = |c| \|A\|_F
  • AF2=tr(AA)=iσi2\|A\|_F^2 = \text{tr}(A^\top A) = \sum_i \sigma_i^2 (특이값 제곱합)

과제

함수 frobenius(A) 를 완성하세요.

  • A shape (M, N) (또는 어떤 shape든 상관없음).
  • 반환: Python float.
  • np.linalg.norm 사용 금지np.sum, np.sqrt, ** 로 직접 구현.

테스트 케이스

#이름검증
1영행렬 → 0
2단위행렬 → √N3×3 항등행렬 → √3
3스케일 선형성`‖cA‖ =
4√trace(A^T A)임의 정사각 행렬
5np.linalg.norm(A, 'fro') 일치
6np.linalg.norm 금지소스에 호출 없음
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.