- TI nspire
[TI-nspire CAS] Function - cSolve : 복소수 해 찾기

1. cSolve 란?
- cSolve 는 '복소수가 포함된 수식'이나 '복소수가 해인 수식'의 해를 찾는 함수입니다.
- 찾아진 해는 실수꼴일 수도 있고, 실수꼴이 아닐 수도 있습니다.
- cSolve 는 도메인이 real 로 설정된 상태이더라도, 일시적으로 도메인을 복소수로 지정합니다.
하지만, 복소수를 취급하실거면 rectangular 든 polar든 선택하시는 것이 좋습니다.
2. 사용 예 1 (방정식, 부등식)
- cSolve(Equation, Var) ⇒ Boolean expression
- cSolve(Equation, Var=Guess) ⇒ Boolean expression
- cSolve(Inequality, Var) ⇒ Boolean expression
3. 사용 예 2 (연립 방정식)
- cSolve(Eqn1 and Eqn2 [and…], VarOrGuess1, VarOrGuess2 [, … ]) ⇒ Boolean expression
- cSolve(SystemOfEqns, VarOrGuess1, VarOrGuess2 [, …]) ⇒ Boolean expression
- 모든 방정식(Eqn)이 다항식(polynomials)이고, 어떠한 초기 추정값도 지정되지 않았다면, cSolve 는 모든 복소수 해를 결정하기 위해 lexical Gröbner/Buchberger elimination method 를 사용합니다.
- 어떠한 방정식(Eqn)이라도 어떠한 변수에 대해 다항식이 아니(non-polynomial)고, 어떠한 초기 추정값도 지정되지 않았으며, 모든 방정식이 모든 해 변수들에 대해 리니어(linear)하다면, cSolve 는 모든 해를 결정하기 위해 Gaussian elimination 을 사용합니다.
- 계산 소요 시간이나 메모리 사용량은 해로 적어놓은 변수의 순서(order)에 매우 크게 영향을 받습니다. 만약 (무한 루프 등) 인내력의 한계에 도달하게 된다면, 방정식 내의 변수들이나 해로 지정한 변수 리스트를 재조정해보시는 것도 좋습니다.
- 연립 방정식 시스템이 모든 변수들에 대해 다항식도 아니고 해 변수들이 리니어하지도 않(non-linear)다면, cSolve는 최적의 해 하나를 찾기 위해 approximate iterative method 를 사용합니다.
조건 1 : '해 변수의 갯수' = '방정식의 갯수'
조건 2 : 방정식 내 모든 변수들이 숫자로 간소화될 수 있어야 함.
4. 주의사항
- cSolve 는 TI-nspire (non-CAS) 에서는 사용할 수 없습니다.
- OS 버전에 따라 cSolve 결과가 다를 수도 있습니다.
- Setting 에서
가급적(x)반드시(!) Angle=Radian 으로 바꿔두세요.
Degree 등일 때는 "Error: Domain error" 내지 "false" 오류가 발생할 수 있습니다. - 결과값의 표시 방법은 Document Setting - Real or Complex Format 에 영향을 받습니다.

x-y 직교좌표일 때는 Rectangular 를 선택하시는 것을 추천드리고,
r-θ 극좌표일 때는 Polar를 선택하시면 됩니다. 이 때는 Deg / Rad 에 또 영향을 받습니다. - solve와 비교하면 계산 시간이 오래 걸릴 수 있고, 재수가 없으면 무한 루프에 빠지기도 합니다.
이러한 사태를 방지하기 위해서는 초기값을 넣어주시면 해결될 수 있습니다.
approx로 계산해서 해결되기도 합니다.
5. 상세 설명

- solve와 달리 csolve는 실수해/복소수해 모두를 찾아줍니다.
- (이 예제에서) 'Solve 해집합' ⊂ 'cSolve 해집합' 성립
- 분모가 홀수인 분수 지수꼴에서는 'Solve 해집합' ⊂ 'cSolve 해집합'이 아닐 수 있음.

- cSolve 는 우선적으로 exact symbolic method 를 사용하지만, 경우에 따라 (알아서) 반복 근사법을 사용하기도 합니다.

- (복소수 연립방정식에서) 간혹 무한 루프에 빠지는 경우가 있습니다. (모래시계)
- 이 때는 【on】 버튼을 길게 눌러 연산을 강제로 멈추게(break, "Calculation Interrupted") 할 수 있습니다.
http://www.allcalc.org/4619 - 아니면 명령시부터 【ctrl】【enter】 를 이용해 반복 근사법만 계산하도록 강제할 수도 있습니다.
이 때 결과값은 소숫점 형태(Decimal Form)로만 표현됩니다. - 아니면 변수에 초기 추정값을 지정하는 방법을 사용할 수도 있습니다.
추정값은 실수나 복소수 모두 가능합니다.

- 변수(var)끝에 밑줄(underscore)을 붙이면, 변수_(var_) 는 복소수로 취급됩니다.
- 복소수해를 가질 가능성이 있는 수식에서는 모든 다른 변수들에도 밑줄을 붙여주는 편이 좋습니다.
그렇지 않으면 기대하지 않은 결과값을 찾을 가능성이 있습니다.


- 연립방정식은 값이 없는 추가 변수(c_)를 포함할 수 있고, 이것은 나중에 숫자로 치환될 수 있습니다.

- 수식에는 없는 변수(w_) 를 포함하는 해
- 여기서 c 는 constants 의 약자입니다. (뒤에 붙는 숫자는 1~255까지 순차적으로 결정됩니다.)

- Gaussian elimination
- Approximate iterative method
- 복소수 해를 결정하기 위해서, 종종 복소수 초기 추정값이 필요합니다.
댓글2
-
세상의모든계산기
csolve 와 무한 루프
[TI-nspire] 계산기 먹통(=무한 루프=모래 시계=무한 로딩) 강제종료 방법
https://allcalc.org/4619

무한루프 회피하려면?
ㄴ 초기값 입력 or approx 계산 【ctrl】【enter】하면 되는데,
이 경우에는 approx 계산방법으로는 해결되지 않네요.
세상의모든계산기 님의 최근 댓글
감사합니다. 주말 잘 보내세요. 2026 03.06 [fx-570 ES] 과학 상수를 이용한 계산에서 에러 발생 상황 https://kin.naver.com/qna/detail.naver?d1id=11&dirId=1118&docId=492235162&page=1&answerNo=1 vs 2026 03.01 과학상수를 이용한 계산 중 자릿수 한계로 인한 에러 발생 가능성 https://allcalc.org:443/board_calculators/6925#comment_57029 2026 03.01 기본 어댑터 MODEL : AD0301-1202500GB INPUT : 100~240V, 50~60Hz, 0.8A Max OUTPUT : 12.0V, 2.5A, 30.0W ㄴ 측정시 플러그 외경/내경 : 5.5mm / 2mm 2026 02.15 엑셀 파일로 만드니 전체 160~200MB 정도 나옵니다. 읽고 / 저장하는데 한참 걸리네요. 컴 사양을 좀 탈 것 같습니다. -> 엑셀/한셀에서 읽히지만, 구글 스프레드시트에서는 열리지 않네요. 100만 개 단위로 끊어서 20MB 정도로 분할해 저장하는 편이 오히려 속 편할 것 같습니다. -> 이건 구글 스프레드시트에서도 열리긴 하네요. (약간 버퍼링?이 있습니다) 2026 02.10