둘째 방법을 ax2+bx+c=0 에 그대로 적용합니다. 숫자 자리에 문자가 앉았을 뿐 절차는 같습니다.
a(x+2ab)2−4ab2+c=0
(x+2ab)2=4a2b2−4ac
양변에 제곱근을 씌우고 이항합니다.
x=2a−b±b2−4ac
근의 공식은 외우는 것이 아니라 완전제곱을 한 번 한 결과 입니다. 잊었으면 그 자리에서 다시 만들면 됩니다.
인수분해가 되는 자리
인수분해는 빠르지만 늘 되는 것은 아닙니다. 언제 되는지는 근의 공식이 이미 알려 주고 있습니다 — 근호가 벗겨져야 근이 정수나 분수로 떨어지기 때문입니다.
계수가 정수인 ax2+bx+c=0 은 b2−4ac 가 완전제곱수, 곧 어떤 정수를 제곱한 수일 때만 유리수 범위에서 인수분해됩니다.
x2−5x+6 은 25−24=1 이고 1은 12 이므로 됩니다. x2−6x+4 는 36−16=20 인데 20은 어떤 정수의 제곱도 아니므로 안 됩니다. 앞에서 이 식을 완전제곱으로 푼 것이 그래서였습니다. 인수분해할 두 수를 한참 찾기 전에 이 값을 먼저 재 보면 시간을 아낍니다.
제곱근으로 바로 벗기기
x 의 일차항이 없으면 완전제곱을 만들 것도 없습니다. x2=k 꼴로 두고 제곱근을 바로 씌우면 끝입니다.
2x2−18=0→x2=9→x=±3
괄호째 제곱된 꼴도 마찬가지입니다.
(x−3)2=5→x−3=±5→x=3±5
완전제곱으로 푸는 것은 결국 이 꼴을 만들어 내려는 것입니다. 둘이 다른 방법이 아니라 앞에 한 걸음이 더 붙어 있을 뿐입니다. k 가 음수이면 제곱해서 음수가 되는 실수가 없으므로 근이 없습니다.
구한 근은 소수로 어림해 한 번 확인하세요. 5≈2.24 이므로 3±5 는 대략 0.76과 5.24입니다. 그림에서 곡선이 x 축을 뚫는 두 자리와 견주면 부호를 뒤집는 실수가 바로 걸립니다.
판별식이 세는 것
공식에서 근호 안에 든 것에 이름을 붙입니다. 이 값을 판별식이라고 하고 D 로 적습니다.
D=b2−4ac
이 값의 부호가 곧 답의 개수입니다. 음수면 제곱근을 씌울 수 없어 실수 근이 없고, 0이면 ± 가 의미를 잃어 근이 하나이고, 양수면 둘입니다.
세 곡선은 꼭짓점의 높이만 다릅니다. 그릇을 위로 들어 올리면 어느 순간 x 축에서 발이 떨어지고, 그 순간이 D=0 입니다.
D<0 일 때 근이 아예 없는 것인지, 우리가 아직 모르는 수가 있는 것인지는 26번 · 복소수와 오일러가 답합니다. 지금은 실수 범위에서 없다고만 적습니다.
꼭짓점의 높이
「그릇을 들어 올린다」는 말과 「D 를 줄인다」는 말은 사실 같은 말입니다. 완전제곱으로 고친 꼴을 다시 봅니다.
y=a(x+2ab)2+c−4ab2
꼭짓점의 y 좌표는 c−4ab2 이고, 통분하면 이렇게 됩니다.
4a4ac−b2=−4aD
a>0 일 때 꼭짓점이 x 축 아래에 있으려면 이 값이 음수여야 하고, 그러려면 D>0 이어야 합니다. 판별식은 새로 들여온 값이 아니라 꼭짓점의 높이를 −4a 배 한 것입니다. 그림에서 그릇을 들어 올린 것이 식에서는 D 가 줄어든 것입니다.
네 갈래로 갈리는 근
부호 셋으로 개수를 셌는데, 양수 쪽을 한 번 더 가르면 근의 모양까지 나옵니다.
D
실수 근
근의 모양
완전제곱수
둘
유리수 — 인수분해로도 풀린다
양수이고 완전제곱수가 아님
둘
근호가 남는 무리수
0
하나
−2ab — 꼭짓점이 곧 근이다
음수
없음
실수 범위에 없다
D=0 인 근을 중근이라고 부릅니다. (x−3)2=0 처럼 같은 근이 두 번 겹친 것으로 보는 관례라, 「근이 하나」가 아니라 「겹친 근 하나」로 셉니다. 이때 곡선은 x 축을 뚫지 않고 스치기만 합니다.
계수에 문자가 든 식
D 는 조건으로도 쓰입니다. 계수에 문자가 있으면 그 문자의 범위를 D 가 정합니다.
x2+4x+k=0 이 서로 다른 두 실수 근을 갖는 k 를 구해 봅니다. D=16−4k>0 이므로 k<4 입니다.
묻는 문장이 한 글자만 달라도 부등호가 달라집니다. 그냥 「실수 근을 갖는다」면 D≥0 이라 k≤4 이고, 「중근을 갖는다」면 D=0 이라 k=4 하나입니다. 「서로 다른」과 「중근」이라는 말을 흘려 읽지 마세요.
근과 계수의 관계
두 근을 α, β 라 하고 공식에 넣어 더해 봅니다. 근호가 서로 지워집니다.
α+β=2a(−b+D)+(−b−D)=−ab
곱하면 합차 공식으로 근호가 사라집니다.
αβ=4a2b2−D=4a2b2−(b2−4ac)=ac
2x2−7x+3=0 으로 확인합니다. 두 근은 3과 21 이고, 합은 27=−2−7, 곱은 23 입니다. 맞습니다. 근을 구한 뒤 이 둘로 검산하는 습관 을 들이면 계산 실수가 거의 걸러집니다.
거꾸로도 씁니다. 합이 4이고 곱이 −5 인 두 수를 근으로 갖는 이차식은 x2−4x−5 입니다. 합에는 부호를 바꿔 넣고 곱은 그대로 넣습니다.
근을 구하지 않고 계산하기
합과 곱만 알아도 답이 나오는 식들이 있습니다. 두 근의 제곱의 합이 그렇습니다.
α2+β2=(α+β)2−2αβ
x2−5x+2=0 에서 합은 5이고 곱은 2이므로 25−4=21 입니다. 근이 25±17 라 직접 제곱해 더하면 지저분한데 여기서는 한 줄입니다.
같은 방식으로 역수의 합도 나옵니다.
α1+β1=αβα+β=−cb
두 근의 차도 구할 수 있습니다. (α−β)2=(α+β)2−4αβ=a2D 이므로, 두 근이 얼마나 벌어져 있는지가 곧 판별식입니다. D 가 0에 가까울수록 두 근이 붙어 있고, 0이 되는 순간 겹칩니다.
부호로 두 근 읽기
합과 곱의 부호만으로 두 근의 부호를 말할 수 있습니다. 근을 구할 필요가 없습니다.
곱
합
두 근
양수
양수
둘 다 양수
양수
음수
둘 다 음수
음수
볼 것 없음
부호가 서로 다르다
곱이 음수이면 한쪽이 음수라는 뜻이니 합은 볼 것도 없습니다. 곱이 양수이면 둘의 부호가 같고, 어느 쪽인지는 합이 말해 줍니다.
x2−7x+12=0 은 곱이 12이고 합이 7이라 둘 다 양수입니다. 실제로 근은 3과 4입니다. 이 판정은 D≥0 일 때만 뜻이 있습니다 — 실수 근이 없으면 부호를 말할 대상 자체가 없습니다.
삼차로 넓히면
같은 얼개가 차수를 올려도 이어집니다. ax3+bx2+cx+d=0 의 세 근에 대해 합은 −ab, 세 근을 다 곱한 값은 −ad 이고, 가운데에 두 개씩 곱해 더한 값이 하나 더 끼어듭니다.
이름만 짚고 넘어갑니다. 차수가 얼마든 계수가 근들의 합·곱과 이런 꼴로 이어져 있고, 이 트랙에서 실제로 쓰는 것은 이차까지입니다.
이차부등식과 그래프 읽기
x2−6x+5>0 을 풀어 봅니다. 부호 규칙을 외울 필요가 없습니다. 앞에서 그린 그림을 그대로 씁니다.
「y 값이 0보다 크다」는 곧 「곡선이 x 축보다 위에 있다」 입니다. 그 곡선은 x=1 과 x=5 에서 x 축과 만나고 아래로 볼록하므로, 위에 있는 구간은 두 근의 바깥쪽입니다.
x<1또는x>5
부등호가 반대면 안쪽입니다. x2−6x+5<0 의 답은 1<x<5 입니다.
부등식
아래로 볼록한 포물선에서
>0
두 근의 바깥쪽
<0
두 근의 사이
17번 글에서 세운 조작 위에 그림 한 장을 얹은 것뿐입니다. 앞의 계수가 음수면 양변에 −1 을 곱해 부등호를 뒤집고 아래로 볼록한 꼴로 만든 뒤 읽습니다.
해가 전부이거나 없는 자리
한 걸음 더 나갑니다. 「모든 x 에서 ax2+bx+c≥0」 은 무슨 조건일까요.
곡선이 단 한 자리에서도 x 축 아래로 내려가면 안 된다는 말입니다. 그러려면 두 가지가 함께 필요합니다.
a>0 — 위로 열린 그릇이어야 합니다. 아래로 열려 있으면 양 끝이 한없이 내려갑니다.
D≤0 — x 축을 뚫고 지나가면 안 됩니다. 닿는 것까지는 괜찮습니다.
x2+2x+3 으로 확인합니다. a=1>0 이고 D=4−12=−8<0 이므로 어떤 x 를 넣어도 값이 양수입니다. 완전제곱으로 고치면 (x+1)2+2 라 눈으로도 보입니다.
a>0 으로 고정하고 나면 D 와 부등호가 만드는 경우가 표 하나에 다 들어갑니다.
a>0 일 때
D>0
D=0
D<0
>0
두 근의 바깥
한 점을 뺀 모든 실수
모든 실수
≥0
두 근의 바깥과 근
모든 실수
모든 실수
<0
두 근의 사이
해가 없다
해가 없다
≤0
두 근의 사이와 근
한 점뿐
해가 없다
표를 외울 것은 없습니다. 그릇이 x 축에 어떻게 놓여 있는지를 머리에 그리고 어느 쪽을 묻는지 읽으면 그 자리에서 나옵니다. 부등호가 >0 으로 엄격하면 닿는 것도 안 되므로 D<0 이어야 한다는 것이 표의 둘째 열에 그대로 적혀 있습니다.
두 부등식을 겹쳐 읽기
두 이차부등식을 함께 만족하는 구간은 각각 푼 뒤 수직선 위에 겹쳐 그려 읽습니다.
x2−x−6<0 과 x2−4x+3>0 을 함께 봅니다. 앞의 것은 근이 −2 와 3이고 사이이므로 −2<x<3 이고, 뒤의 것은 근이 1과 3이고 바깥이므로 x<1 또는 x>3 입니다.
수직선에 두 줄을 그어 겹치는 데만 남기면 −2<x<1 입니다. x>3 쪽은 앞의 조건에 걸려 사라집니다.
겹치는 구간이 아예 없으면 해가 없는 것이고, 그것도 답입니다. 억지로 하나를 고르지 마세요. 그리고 끝점의 등호를 빠뜨리기 쉬우니 < 는 속이 빈 점으로, ≤ 는 속이 찬 점으로 수직선에 구별해 찍어 두면 실수가 줍니다.
최댓값을 묻는 문장제
꼭짓점을 읽는 일이 곧 최댓값을 읽는 일이라는 것이 문장제에서 그대로 쓰입니다.
길이 20 m짜리 끈으로 직사각형을 만들 때 넓이가 가장 큰 모양을 찾아봅니다. 가로를 x 라 하면 둘레가 20이므로 세로는 10−x 이고, 넓이는 이렇게 됩니다.
S=x(10−x)=−x2+10x
a=−1<0 이라 위로 볼록하고 꼭짓점에서 최댓값입니다. 대칭축은 x=−2×(−1)10=5 이므로 가로가 5 m일 때, 곧 정사각형일 때 넓이가 25 m²로 가장 큽니다.
답을 구한 뒤 x 의 범위를 확인하는 것을 빠뜨리지 마세요. 가로는 0보다 크고 10보다 작아야 하는데 5는 그 안에 있으니 괜찮습니다. 만약 꼭짓점이 범위 밖으로 나갔다면 앞에서 본 대로 답은 끝점에서 나옵니다.
실수를 2^b개 격자에 사상할 때 오차의 분산이 왜 Δ²/12인지 유도하고, 그것이 비트당 6.02dB라는 SNR로 번역되는 과정을 실측과 대조했습니다. 이상치 하나가 나머지 값의 유효 비트를 어떻게 먹는지, 그리고 int4에서 성능이 무너지는 지점을 오차 예산으로 미리 계산하는 법까지.
최댓값 빼기, 로그 공간, log1p·expm1, 분산의 두 공식, 정규화의 ε, fp32 누산, 역행렬 대신 solve — 프레임워크가 몰래 해 주는 일곱 가지를 하나씩 꺼내 각각 어떤 고장을 막는지 직접 재 봤습니다. 수식을 그대로 옮긴 코드가 왜 라이브러리보다 나쁜지에 대한 목록입니다.
0.1 + 0.2가 0.3이 아닌 이유부터 시작해 머신 엡실론을 유도하고, 같은 16비트인데 fp16과 bf16이 서로 다른 지점에서 터지는 이유, 비슷한 수를 뺄 때 유효자리가 사라지는 파괴적 상쇄, 그리고 1,000만 개를 순서만 바꿔 더했을 때 오차가 백만 배 갈리는 실험까지 직접 재 봤습니다.