1장 하이라이트 참조를 모바일 대응 형식으로 전환 (링크 + 추출 이미지)
- area 하이라이트 ((uuid)) 임베드가 모바일 앱에서 렌더링되지 않아, 📌 링크 [🔗 PDF 위치] + PyMuPDF 추출 PNG 임베드 방식으로 교체 - edn 좌표 기반으로 하이라이트 영역 11개 PNG 추출 (assets/1장_p*.png) - CLAUDE.md: 하이라이트 참조 규칙을 area/텍스트 종류별로 분리, 추출 방법 기록 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013TQnRZruUBDaE8iFeipBr5
18
CLAUDE.md
@ -7,8 +7,8 @@
|
||||
한 단원을 다음 사이클로 정리한다:
|
||||
|
||||
1. **사용자 선행 학습** — 사용자가 그 단원을 먼저 혼자 공부한다 (PDF 원자료 기준).
|
||||
2. **사용자 1차 하이라이트** — 공부한 내용을 바탕으로 사용자가 Logseq에서 그 단원 PDF에 하이라이트한다. 본문 핵심 부분과 함께, **풀어볼 가치가 있다고 판단한 연습문제에도 하이라이트**한다 (2장부터 적용).
|
||||
3. **Claude 정리** — 책 내용과 사용자의 하이라이트를 바탕으로 단원 페이지에 정리를 작성한다. 사용자가 만든 하이라이트는 `((uuid))` 블록 참조로 정리 본문의 해당 위치에 포함한다 (아래 「PDF 하이라이트·이미지 활용」 참고). **하이라이트된 연습문제는 절별 「✏️ 연습문제 풀이」에 포함**하고 해답집(solution PDF)을 참고해 해설을 단다.
|
||||
2. **사용자 1차 하이라이트** — 공부한 내용을 바탕으로 사용자가 Logseq에서 그 단원 PDF에 하이라이트한다. **영역(area) 하이라이트와 텍스트 하이라이트가 섞여 있을 수 있다.** 본문 핵심 부분과 함께, **풀어볼 가치가 있다고 판단한 연습문제에도 하이라이트**한다 (2장부터 적용).
|
||||
3. **Claude 정리** — 책 내용과 사용자의 하이라이트를 바탕으로 단원 페이지에 정리를 작성한다. 사용자가 만든 하이라이트는 종류별 형식으로 정리 본문의 해당 위치에 포함한다 — **영역 하이라이트는 링크 + 추출 이미지, 텍스트 하이라이트는 `((uuid))` 참조 + 정리 비중 반영** (아래 「PDF 하이라이트·이미지 활용」 참고). **하이라이트된 연습문제는 절별 「✏️ 연습문제 풀이」에 포함**하고 해답집(solution PDF)을 참고해 해설을 단다.
|
||||
4. **추가 하이라이트 제안** — 정리하면서 Claude 판단에 원문 링크가 더 필요한 부분이 있으면, 정리 완료 보고에 **하이라이트 요청 목록**(쪽 번호 + 부분)을 담아 제안한다. 사용자가 고른 것 외에 **추가로 추천할 연습문제가 있으면 "x.y절 문제 n번 — 추천 이유"** 형식으로 이 목록에 함께 담는다.
|
||||
5. **사용자 2차 하이라이트 → Claude 다듬기** — 사용자가 제안을 (자기 판단으로 취사선택하여) 하이라이트하고 알려주면, Claude가 hls 페이지에서 새 uuid를 읽어 참조를 채워 정리를 다듬는다.
|
||||
6. **사용자 마무리** — 사용자가 직접 Anki 카드화하고 자기 방식으로 세부 수정하여 그 단원 정리를 마무리한다.
|
||||
@ -78,12 +78,18 @@
|
||||
|
||||
### 하이라이트 참조 — PDF 위치 링크
|
||||
|
||||
- 사용자가 Logseq PDF 뷰어에서 하이라이트를 만들면 `pages/hls__<PDF명>.md`에 블록이 생긴다 (`id:: <uuid>`, `hl-page:: <쪽>` 속성 포함).
|
||||
- Claude는 hls 페이지를 **읽기만** 하고, 정리 본문의 관련 개념 아래에 자식 블록으로 참조를 삽입한다. 형식: `- 📌 원문 <설명> (p.쪽): ((uuid))`. 클릭하면 PDF의 정확한 위치로 이동한다.
|
||||
- 사용자가 Logseq PDF 뷰어에서 하이라이트를 만들면 `pages/hls__<PDF명>.md`에 블록이 생긴다 (`id:: <uuid>`, `hl-page:: <쪽>` 속성 포함. 영역 하이라이트는 `hl-type:: area` 속성이 추가로 있다).
|
||||
- Claude는 hls 페이지를 **읽기만** 하고, 정리 본문의 관련 개념 아래에 자식 블록으로 참조를 삽입한다. **하이라이트 종류에 따라 형식이 다르다** (⚠️ 모바일 Logseq 앱에서 area 하이라이트의 `((uuid))` 임베드가 제대로 렌더링되지 않아 구분함):
|
||||
- **영역(area) 하이라이트** (`hl-type:: area`) — `((uuid))` 임베드를 쓰지 않는다. 대신 **링크 + 직접 추출한 이미지**로 넣는다:
|
||||
```
|
||||
- 📌 원문 <설명> (p.쪽): [🔗 PDF 위치](((uuid)))
|
||||
- 
|
||||
```
|
||||
이미지는 `assets/<PDF명>.edn`의 `:bounding` 좌표(`:x1 :y1 :x2 :y2 :width :height`)로 PyMuPDF에서 해당 영역을 잘라 추출한다 (스케일 = PDF 쪽 너비 ÷ edn `:width`, 여백 약간, zoom 2.5 권장). Logseq이 `assets/<PDF명>/` 폴더에 만드는 스냅샷 PNG는 하이라이트를 다시 만들면 파일명이 바뀌므로 참조하지 않는다.
|
||||
- **텍스트 하이라이트** — 사용자가 중요하다고 표시한 부분이라는 신호다. `- 📌 원문 <설명> (p.쪽): ((uuid))` 형식으로 참조하고 (텍스트 참조는 모바일에서도 정상 렌더링), **정리 본문에서도 그 부분을 비중 있게 다룬다**.
|
||||
- 하이라이트 위치 파악: `hl-page::`는 **PDF 내부 쪽번호**라서 책의 인쇄 쪽번호와 오프셋이 있을 수 있다 (1장 PDF는 책 쪽 = hl-page + 18). 같은 쪽에 하이라이트가 여러 개면 `assets/<PDF명>.edn`의 `:y1` 좌표로 상하 순서를 구분한다.
|
||||
- 배치 기준: 개념 정의, 핵심 정리(定理), 중요 예제 등 **원문 대조가 유용한 지점에만** 넣는다. 남발하지 않는다.
|
||||
- Claude는 하이라이트를 **직접 생성하지 않는다** (`assets/*.edn`에 렌더링 좌표를 써야 해서 불안정하고, 앱 캐시 롤백과 충돌 위험). 원문 링크가 필요한데 하이라이트가 없는 지점은 작업 흐름 4단계의 **하이라이트 요청 목록**으로 제안한다.
|
||||
- 그림·도표·수식 박스는 사용자가 **영역(area) 하이라이트**로 만들어두면 참조 시 이미지로 렌더링된다. 영역 하이라이트가 있으면 별도 추출 없이 그것을 우선 참조한다.
|
||||
|
||||
### PDF 이미지 추출·임베드
|
||||
|
||||
@ -100,7 +106,7 @@
|
||||
- **해답집**: `assets/solution_1784335983942_0.pdf` — 스트랭 6판 공식 영문 솔루션 (전 챕터). 문제 번호는 한국어판과 동일하다. 각 챕터의 "Problem Set x.y" 헤더로 위치를 찾는다 (1장 해답: PDF 2~18쪽).
|
||||
- **PDF 읽는 법**: 단원 PDF는 스캔+OCR본이라 텍스트 레이어의 수식이 깨져 있다. 정리할 때는 **Read 도구로 페이지를 시각적으로 읽는다** (pdftoppm/poppler 설치됨). 이미지 추출·edn 좌표 파싱은 PyMuPDF(`import fitz`, 설치됨)를 쓴다.
|
||||
- **쪽번호 오프셋**: 1장 PDF는 책 쪽번호 = PDF 쪽번호 + 18. 단원 PDF마다 오프셋이 다를 수 있으니 첫 몇 쪽으로 확인할 것.
|
||||
- **진행 상황**: 1장 완료 — 정리 작성 + 사용자 하이라이트 11개 참조 연결(커밋 8d160e3), 카드화는 사용자 진행 중. 다음은 2장 (사용자 학습·하이라이트 후 요청 예정, 연습문제 하이라이트 방식 적용 첫 단원).
|
||||
- **진행 상황**: 1장 완료 — 정리 작성 + 사용자 area 하이라이트 11개를 「링크 + 추출 이미지」 형식으로 연결 (모바일 렌더링 문제로 `((uuid))` 임베드에서 전환). 카드화는 사용자 진행 중. 다음은 2장 (사용자 학습·하이라이트 후 요청 예정, 연습문제 하이라이트 방식 적용 첫 단원).
|
||||
|
||||
## Logseq 앱 동기화 주의
|
||||
|
||||
|
||||
BIN
assets/1장_p21_요약박스.png
Executable file
|
After Width: | Height: | Size: 544 KiB |
BIN
assets/1장_p23_선형결합_표.png
Executable file
|
After Width: | Height: | Size: 387 KiB |
BIN
assets/1장_p31_내적_식1.png
Executable file
|
After Width: | Height: | Size: 135 KiB |
BIN
assets/1장_p31_내적_식2.png
Executable file
|
After Width: | Height: | Size: 74 KiB |
BIN
assets/1장_p35_코사인공식_식5.png
Executable file
|
After Width: | Height: | Size: 99 KiB |
BIN
assets/1장_p36_부등식박스.png
Executable file
|
After Width: | Height: | Size: 148 KiB |
BIN
assets/1장_p46_열공간박스.png
Executable file
|
After Width: | Height: | Size: 96 KiB |
BIN
assets/1장_p48_4가지경우.png
Executable file
|
After Width: | Height: | Size: 271 KiB |
BIN
assets/1장_p48_질문박스.png
Executable file
|
After Width: | Height: | Size: 250 KiB |
BIN
assets/1장_p60_CR정리.png
Executable file
|
After Width: | Height: | Size: 239 KiB |
BIN
assets/1장_p63_주요사실박스.png
Executable file
|
After Width: | Height: | Size: 278 KiB |
@ -130,4 +130,4 @@
|
||||
:page 45},
|
||||
:content {:text "[:span]", :image 1784378783139},
|
||||
:properties {:color "blue"}}],
|
||||
:extra {:page 6}}
|
||||
:extra {:page 4}}
|
||||
|
||||
@ -7,7 +7,8 @@ deck:: Logseq/전공공부/선형대수학
|
||||
- ① 모든 선형결합 $Ax = x_1v_1 + x_2v_2 + \cdots + x_nv_n$ 은 어떤 모양(직선/평면/공간)을 채우는가? → **열공간** (1.3절)
|
||||
- ② 원하는 출력 $b$ 를 만드는 수 $x_1, \dots, x_n$ 을 찾을 수 있는가? → **선형방정식** $Ax=b$ (2장에서 본격적으로)
|
||||
- ## 1.1 벡터와 선형결합
|
||||
- 📌 원문 요약 박스 (p.21): ((6a5b74dd-cab9-4dcd-92c2-1cbaf5c9fc6c))
|
||||
- 📌 원문 요약 박스 (p.21): [🔗 PDF 위치](((6a5b74dd-cab9-4dcd-92c2-1cbaf5c9fc6c)))
|
||||
- 
|
||||
- ### 핵심 개념
|
||||
- **선형결합** (linear combination): 임의의 수 $c, d$ 에 대한 $cv + dw$ 형태.
|
||||
- 벡터의 2가지 기본 연산을 합친 것: **수 곱하기** ($3v$) + **같은 차원끼리 더하기** ($v+w$).
|
||||
@ -21,7 +22,8 @@ deck:: Logseq/전공공부/선형대수학
|
||||
- **열 방법**: 선형결합 $c \begin{bmatrix} v_1 \\ v_2 \end{bmatrix} + d \begin{bmatrix} w_1 \\ w_2 \end{bmatrix} = b$
|
||||
- **행 방법**: $c, d$ 에 대한 방정식 2개
|
||||
- **행렬 방법**: $\begin{bmatrix} v_1 & w_1 \\ v_2 & w_2 \end{bmatrix} \begin{bmatrix} c \\ d \end{bmatrix} = b$
|
||||
- 📌 원문 표 (p.23): ((6a5b74f6-a99c-4df9-857c-944875fdbec4))
|
||||
- 📌 원문 표 (p.23): [🔗 PDF 위치](((6a5b74f6-a99c-4df9-857c-944875fdbec4)))
|
||||
- 
|
||||
- **소거법**: 한 방정식에서 다른 방정식의 배수를 빼서 좌변에 0을 만든다 → 미지수 하나 소거 → 역대입.
|
||||
- 첫 방정식에 0이 있어 소거가 어려워 보이면 **방정식 순서를 바꾸면** 된다.
|
||||
- **소거법이 실패하는 경우** = 해가 없는 경우뿐이다.
|
||||
@ -61,8 +63,10 @@ deck:: Logseq/전공공부/선형대수학
|
||||
- ## 1.2 내적으로부터의 길이와 각
|
||||
- ### 핵심 개념
|
||||
- **내적** (dot product): $v \cdot w = v_1 w_1 + v_2 w_2 + \cdots + v_n w_n$. 순서는 무관: $v \cdot w = w \cdot v$.
|
||||
- 📌 원문 정의 — 2차원 식 (1) (p.31): ((6a5b750f-8720-4ae8-b8d5-2399b6c6cb65))
|
||||
- 📌 원문 정의 — $n$ 차원 식 (2) (p.31): ((6a5b7514-9a2e-4601-ab79-a26e887561a0))
|
||||
- 📌 원문 정의 — 2차원 식 (1) (p.31): [🔗 PDF 위치](((6a5b750f-8720-4ae8-b8d5-2399b6c6cb65)))
|
||||
- 
|
||||
- 📌 원문 정의 — $n$ 차원 식 (2) (p.31): [🔗 PDF 위치](((6a5b7514-9a2e-4601-ab79-a26e887561a0)))
|
||||
- 
|
||||
- **길이** (length): $\|v\| = \sqrt{v \cdot v} = \sqrt{v_1^2 + \cdots + v_n^2}$.
|
||||
- 피타고라스 정리의 $n$ 차원 확장. 차원을 하나씩 추가하며 직각삼각형을 반복 적용한다.
|
||||
- $n$ 차원 단위정육면체의 대각선 길이는 $\sqrt{n}$ (예: $(1,1,1,1)$ 의 길이는 2).
|
||||
@ -79,12 +83,14 @@ deck:: Logseq/전공공부/선형대수학
|
||||
- **코사인 공식** (cosine formula): $v, w$ 가 영벡터가 아닐 때
|
||||
- $$\cos\theta = \frac{v \cdot w}{\|v\| \|w\|}$$
|
||||
- 단위벡터끼리라면 그냥 $\cos\theta = u \cdot U$. 삼각법의 $\cos(\beta - \alpha) = \cos\alpha\cos\beta + \sin\alpha\sin\beta$ 가 배경.
|
||||
- 📌 원문 식 (5) (p.35): ((6a5b752c-fe72-4e43-b869-f6d77622c379))
|
||||
- 📌 원문 식 (5) (p.35): [🔗 PDF 위치](((6a5b752c-fe72-4e43-b869-f6d77622c379)))
|
||||
- 
|
||||
- $|\cos\theta| \le 1$ 로부터 얻는, 수학에서 가장 중요한 2가지 부등식:
|
||||
- **슈바르츠 부등식** (Schwarz inequality): $|v \cdot w| \le \|v\| \|w\|$
|
||||
- **삼각부등식** (triangle inequality): $\|v+w\| \le \|v\| + \|w\|$ — 삼각형의 한 변은 나머지 두 변의 합을 초과할 수 없다.
|
||||
- 삼각부등식은 슈바르츠 부등식으로부터 유도: $\|v+w\|^2 \le \|v\|^2 + 2\|v\|\|w\| + \|w\|^2 = (\|v\|+\|w\|)^2$.
|
||||
- 📌 원문 박스 (p.36): ((6a5b7538-a296-44b4-9477-21b6393c05ce))
|
||||
- 📌 원문 박스 (p.36): [🔗 PDF 위치](((6a5b7538-a296-44b4-9477-21b6393c05ce)))
|
||||
- 
|
||||
- 응용 예:
|
||||
- 경제 (EX 5): 총비용 = (수량 벡터 $q$) $\cdot$ (가격 벡터 $p$). 내적이 0이면 장부의 균형 (수입 = 지출).
|
||||
- 기하평균 ≤ 산술평균 (EX 8): $v=(a,b)$, $w=(b,a)$ 에 슈바르츠를 적용하면 $2ab \le a^2 + b^2$, 즉 $|ab| \le \frac{1}{2}(a^2+b^2)$.
|
||||
@ -134,21 +140,24 @@ deck:: Logseq/전공공부/선형대수학
|
||||
- **열공간** (column space) $C(A)$: 모든 벡터 $Ax$, 즉 열들의 **모든 선형결합**의 집합.
|
||||
- **생성** (span): 벡터 집합의 모든 선형결합. "행렬 $A$ 의 열의 생성 = 열공간".
|
||||
- 방정식과의 연결: $Ax = b$ 는 $b$ 가 $C(A)$ 에 있을 때 해 $x$ 를 갖는다.
|
||||
- 📌 원문 박스 (p.46): ((6a5b7553-d1c5-49ea-b1e1-e9b008137458))
|
||||
- 📌 원문 박스 (p.46): [🔗 PDF 위치](((6a5b7553-d1c5-49ea-b1e1-e9b008137458)))
|
||||
- 
|
||||
- $m = 3$ (열들이 3차원 벡터)일 때 열공간으로 가능한 4가지:
|
||||
- ① 전체 공간 $\mathbb{R}^3$ — 선형독립인 열 3개
|
||||
- ② 원점을 지나는 평면 — 선형독립인 열 2개
|
||||
- ③ 원점을 지나는 직선 — 선형독립인 열 1개
|
||||
- ④ 점 $(0,0,0)$ — $A$ 가 영행렬
|
||||
- ⚠️ 열공간은 **항상 원점을 포함**한다 ($x = 0$ 이면 $Ax = 0$).
|
||||
- 📌 원문 — 4가지 경우 (p.48): ((6a5b7574-72d1-4ac2-bb64-3f37b95a3f5e))
|
||||
- 📌 원문 — 4가지 경우 (p.48): [🔗 PDF 위치](((6a5b7574-72d1-4ac2-bb64-3f37b95a3f5e)))
|
||||
- 
|
||||
- **랭크** (rank) $r$: 선형독립인 열의 개수. 열공간의 "실제 크기".
|
||||
- **랭크 1 행렬**: 모든 열이 동일한 직선 위 → 열공간이 원점을 지나는 직선.
|
||||
- 놀라운 사실: 이때 **모든 행도 하나의 직선 위**에 있다 (모든 행이 한 행의 상수배).
|
||||
- $2 \times 2$ 로 확인: 2열이 1열의 $m$ 배인 $\begin{bmatrix} a & ma \\ b & mb \end{bmatrix}$ 에서 2행 $[b \ mb]$ 는 1행 $[a \ ma]$ 의 $\frac{b}{a}$ 배.
|
||||
- → **행 랭크 = 열 랭크** (선형대수학의 첫 번째 위대한 정리). 랭크 1은 여기서 확인, 일반 증명은 1.4절 $A = CR$ 로.
|
||||
- 1.4절로 가는 질문들 (p.48): 독립인 열은 몇 개인가(= 랭크 $r$)? 처음 $r$ 개의 독립인 열은(= 열공간의 **기저**)? $A$ 를 어떻게 $CR$ 로 분해하는가?
|
||||
- 📌 원문 질문 박스 (p.48): ((6a5b7579-424b-4e07-9595-4adb2c4014fa))
|
||||
- 📌 원문 질문 박스 (p.48): [🔗 PDF 위치](((6a5b7579-424b-4e07-9595-4adb2c4014fa)))
|
||||
- 
|
||||
- ### ❓ 스스로 점검
|
||||
- $Ax$ 를 "열을 이용한 방법"으로 설명하라.
|
||||
- $Ax$ 는 $A$ 의 열들의 선형결합 $x_1 a_1 + \cdots + x_n a_n$ 이다. $x$ 의 성분들이 각 열의 계수가 된다.
|
||||
@ -196,7 +205,8 @@ deck:: Logseq/전공공부/선형대수학
|
||||
- $R$ 의 역할: $C$ 의 열들을 어떻게 결합하면 $A$ 의 각 열이 나오는지 기록. $(A$ 의 $j$ 열$) = C \times (R$ 의 $j$ 열$)$.
|
||||
- $R = [I \ F]$ 구조: $C$ 로 들어간 열 위치에 항등행렬 $I$, 종속인 열 위치에 결합 계수 ($F$).
|
||||
- 예 (p.60): $\begin{bmatrix} 2 & 6 & 4 \\ 4 & 12 & 8 \\ 1 & 3 & 5 \end{bmatrix} = \begin{bmatrix} 2 & 4 \\ 4 & 8 \\ 1 & 5 \end{bmatrix} \begin{bmatrix} 1 & 3 & 0 \\ 0 & 0 & 1 \end{bmatrix}$ — 2열 = 3(1열) 이라 $C$ 에서 제외, $R$ 의 2열에 계수 3.
|
||||
- 📌 원문 정리 ❶❷❸ (p.60): ((6a5b7591-28ea-4a27-896d-360fd2f1725b))
|
||||
- 📌 원문 정리 ❶❷❸ (p.60): [🔗 PDF 위치](((6a5b7591-28ea-4a27-896d-360fd2f1725b)))
|
||||
- 
|
||||
- 모든 열이 선형독립이면 $C = A$, $R = I$.
|
||||
- $R$ **을 찾는 방법 — 소거법** (행 축소, row reduction):
|
||||
- 행 연산(한 행에서 다른 행의 배수 빼기)으로 $A$ 를 단순화 → 상삼각행렬 $U$ → 위쪽 행까지 계속 소거 → $R_0$ (**기약행 사다리꼴**, reduced row echelon form, MATLAB의 rref(A)).
|
||||
@ -210,7 +220,8 @@ deck:: Logseq/전공공부/선형대수학
|
||||
- ④ $A$ 의 모든 행은 $R$ 의 행들의 선형결합 ($A = CR$)
|
||||
- $A = CR$ 에 관한 주요 사실: $C$ 의 $r$ 개 열은 $A$ 의 **열공간의 기저**, $R$ 의 $r$ 개 행은 $A$ 의 **행공간의 기저** ('기저'·'차원'의 정식 정의는 3.4절).
|
||||
- $C$ 는 $A$ 와 동일한 열공간을, $R$ 은 $A$ 와 동일한 행공간을 갖는다.
|
||||
- 📌 원문 박스 (p.63): ((6a5b75a0-8bcd-4080-b864-6cefab1bb900))
|
||||
- 📌 원문 박스 (p.63): [🔗 PDF 위치](((6a5b75a0-8bcd-4080-b864-6cefab1bb900)))
|
||||
- 
|
||||
- ⚠️ **주의**: $C$ 는 $A$ 의 열을 **그대로** 가져오지만, $R$ 은 $A$ 의 행을 그대로 가져온 것이 **아니다** ($R$ 의 행은 $A$ 의 행들의 선형결합).
|
||||
- ### ❓ 스스로 점검
|
||||
- $AB$ 의 $j$ 열은 무엇인가?
|
||||
|
||||