- CASIO 570
[fx-570] 복소수 1차 연립방정식 해법 (feat. 반복법 Gauss-Seidel Method)
1. EQN 및 행렬 기능의 한계
[fx-570ES PLUS] 계산기에는 연립방정식의 해를 구하는 EQN 기능이 있습니다만, 계수 및 해의 범위는 실수로 한정됩니다.
행렬(Matrix) 모드에서도 element에는 실수만 입력시킬 수 있습니다. 게다가 최대 행렬은 3×3 까지만 가능...ㅠㅠ
따라서, [fx-570ES (Plus)]에서 계산기 내장기능만으로는 계수나 해가 복소수인 연립방정식을 풀 수가 없습니다.
역행렬 공식을 (암기) 활용하여 구하는 방법은 있습니다.
https://allcalc.org/43763
2. 반복법 (Gauss-Seidel Method)
하지만 반복법인 가우스-자이델 법을 이용하면 복소수의 해를 찾을 수(도) 있습니다. 실수에 대한 연립방정식을 반복법으로 풀었던 것과 동일합니다.
[fx-570] Iteration, Gauss-Seidel 가우스-자이델 법으로 연립방정식 풀기
원래의 수식을 미지수에 대해 각각 손으로 정리할 필요가 있어서, 번거롭습니다.
실수일 때에 비해 입력실수가 더 잦은 편이므로, 시간낭비를 하기 싫으시면 매우 꼼꼼하게 확인하시는게 좋습니다.
수렴해야 답이 나오는데, 오히려 발산하는 경우도 있습니다.
발산하는 경우 실수에서와 마찬가지로, 정리하는 변수의 순서를 바꾸면 답이 나올 수도 있습니다.
(행렬로 봤을 때) 대각행렬의 위치에 해당하는 계수의 크기(Abs)가 (행에서) 가장 큰 값이 되도록 행의 배치를 바꾸시면 됩니다.
결국은 매우 비실용적인 방법이므로 (입력이 수월한)
실험삼아 상급 계산기에서나 한번쯤 해볼만한 방법입니다.
3. 예시
다음 두 식을 만족시키는 복소수 v1 과 v2를 구해보겠습니다.
(0.2+0.2*i)v1 - (0.1*i)v2 = 1
−(0.1*i)v1 + (0.1-0.1*i)v2 = 0.5*i
- 윗 식은 v1에 대하여, 아랫 식은 v2에 대하여 손으로 정리합니다.
((1+0.1*i*v2)/(0.2+0.2*i))→v1
((0.5*i+0.1*i*v1)/(0.1-0.1*i))→v2
- 복소수 모드로 이동합니다.
【MODE】 【2】
- V1을 A로, V2를 B로 치환하고
A=ㅁㅁㅁ:B=△△△ 꼴로 계산기에 입력합니다.

- 【CALC】 버튼을 눌러서 계산을 시작합니다.
ㄴ
【CALC】 대신 【=】 를 누르면 Error 가 납니다.
- B? (B값을 묻는 화면)에서 B의 초기값을 입력합니다.
【0】 【=】
- 【=】 반복하여 누릅니다.
A, B 값이 특정 값에 수렴할 때까지 반복합니다.

- 위에서 식을 입력할 때 두 식을 나누어 입력할 수도 있습니다.
(더 복잡하고 번거롭기 때문에 굳이 그럴 이유는 없습니다)
- 복소수 계산 모드로 이동합니다.
【MODE】 【2】
- A의 초기값을 입력합니다.
【0】 【SHIFT】 【RCL】 【(-)】
ㄴ B의 초기값은 입력할 필요가 없습니다.
- A, B 로 대치하여 그대로 계산기에 입력하고 【=】 계산합니다.

앞서 계산한 두개의 식을 번갈아가면서 교대로 실행해야 하므로
【▲】 【=】 【▲】 【=】
【▲】 【=】 【▲】 【=】
... 를 반복하여 입력합니다.
언제까지?
결과가 어떤 수에 수렴할 때까지...
18회를 반복하니 (=36회의 계산) 답이 나옵니다.

세상의모든계산기 님의 최근 댓글
fx-570 CW 는 아래 링크에서 https://allcalc.org/56026 2025 10.24 불러오기 할 때 변수값을 먼저 확인하고 싶을 때는 VARIABLE 버튼 【⇄[x]】목록에서 확인하고 Recall 하시면 되고, 변수값을 이미 알고 있을 때는 바로 【⬆️SHIFT】【4】로 (A)를 바로 입력할 수 있습니다. 2025 10.24 fx-570 CW 로 계산하면? - 최종 확인된 결과 값 = 73.049507058478629343538 (23-digits) - 오차 = 6.632809104889414877 × 10^-19 꽤 정밀하게 나온건 맞는데, 시뮬레이션상의 22-digits 와 오차 수준이 비슷함. 왜 그런지는 모르겠음. - 계산기중 정밀도가 높은 편인 HP Prime CAS모드와 비교해도 월등한 정밀도 값을 가짐. 2025 10.24 HP Prime 에서 <Home> 73.0495070344 (12-decimal-digits) // python 시뮬레이션과 일치 <CAS> 21자리까지 나와서 이상하다 싶었는데, Ans- 에서 자릿수를 더 늘려서 빼보니, 뒷부분 숫자가 아예 바뀌어버림. 버그인가? (전) 73.0495070584718691243 (21-digits ????) (후) 73.0495070584718500814401 (24-digits ????) 찾아보니 버그는 아니고, CAS에서는 십진수가 아니라 2진수(bit) 단위로 처리한다고 함. Giac uses 48 bits mantissa from the 53 bits from IEEE double. The reason is that Giac stores CAS data (gen type) in 64 bits and 5 bits are used for the data type (24 types are available). We therefore loose 5 bits (the 5 low bits are reset to 0 when a double is retrieved from a gen). 출처 : https://www.hpmuseum.org/cgi-bin/archv021.cgi?read=255657 일단 오차를 놓고 보면 16-decimal-digits 수준으로 보임. 2025 10.23 khiCAS 에서 HP 39gII 에 올린 khiCAS는 254! 까지 계산 가능, 255! 부터는 ∞ fx-9750GIII 에 올린 khiCAS는 factorial(533) => 425760136423128437▷ // 정답, 10진수 1224자리 factorial(534) => Object too large 2025 10.23