Avatar
Taketo Sano 9/7/2019 2:01 PM
今日の iOSDC 2019 での発表「SwiftyMath で学ぶ数学(抽象代数学)」の中でやった代数拡大のデモコードを共有します.よかったら遊んでみてください👍 import SwiftyMath typealias AlgebraicExtension<F, p: IrrPolynomialTP> = PolynomialQuotientRing<p> where p.CoeffRing == F typealias Q = RationalNumber typealias Qx = xPolynomial<Q> let x = Qx.indeterminate struct p1: IrrPolynomialTP { static let value = Qx(coeffs: -2, 0, 1) } typealias A = AlgebraicExtension<Q, p1> // A = Q[x]/p1 let α = A(x) print(α) print(α * α) print(α * α == 2) struct p2: IrrPolynomialTP { static let value = xPolynomial<Q>(coeffs: 1, 0, 1) } typealias B = AlgebraicExtension<Q, p2> // B = Q[x]/p2 let i = B(x) print(i) print(i * i) print(i * i == -1)
2:02 PM
(swiftbot で動かしてみようと思ったのですがやり方がわからなくなってしまいました)