
v1 내적 은 . 더 일반적인 bilinear form 은 사이에 행렬 를 끼워 넣습니다:
x @ A @ y — 세 행렬 연쇄. 순서에 따라 비용이 다를 수 있지만 scalar 결과라 동일.X (N, d), Y (N, d) 의 per-sample bilinear = (X @ A * Y).sum(axis=1) — element-wise 후 합. 는 (N, d), * Y 도 (N, d), sum → (N,).함수 bilinear(X, A, Y) 를 완성하세요.
X, Y shape (N, d), A shape (d, d).(N,) — 각 샘플의 .(X @ A * Y).sum(axis=1).| # | 이름 | 검증 |
|---|---|---|
| 1 | shape (N,) | |
| 2 | A=I → 일반 내적 (v1 확장) | 각 샘플 x·y |
| 3 | A=0 → 0 | |
| 4 | 대칭 A: bilinear(x, A, y) == bilinear(y, A, x) | |
| 5 | 손계산 2x2 | 수동 |
| 6 | 루프 금지 |
(m×n)·(n×p)=(m×p), 전치 .T, 내적.@(행렬곱) 와 *(요소별 곱)은 완전히 다름.코드를 작성하고 실행하면 5개의 테스트가 각각 표시됩니다.