2017-11-27

線形代数II (2017) 第8回:部分空間の和と直和

今回は、主にベクトル空間の部分空間の和と直和について説明しました。

授業では、まず、前回説明したベクトル空間の次元の性質で説明が残った部分から始め、基底の拡張に関する性質について説明しました。それから、部分空間の和と直和の定義を行い、和と直和の性質について説明しました。

次回は、今回説明が残った、直和の次元に関する公式について説明を行ったのち、ベクトル空間の線形写像の話題に進みます。

授業サポートページ: https://www.math.tsukuba.ac.jp/~terui/la2-2017

2017-11-22

線形代数II (2017) 第7回:ベクトル空間の次元

今回は、ベクトル空間の次元について説明しました。

授業では、まず次元の定義について説明しました。次に、次元や基底の計算例として、以前のレポート課題を取り上げ、部分空間の生成元から基底と次元を計算する例を説明しました。そして、次元に関する性質のうち、基底の変換行列について紹介しました。

次回は、次元に関する性質で今回残った部分の説明から始め、部分空間の和と直和の話題に進みます。

授業サポートページ: https://www.math.tsukuba.ac.jp/~terui/la2-2017

2017-11-21

数理科学IIB(第7回)

今回は、前回の f-reducing polynomial の計算例を数式処理システムMapleでの計算で示した後、f-reducing polynomialを用いて、与えられた多項式の既約因子を抽出する部分について説明しました。

次回は、Berlekampの因数分解に関する補足的事項について触れた後、有限体上の1変数多項式のもう一つのアルゴリズムとして知られるCantor-Zassenhausアルゴリズムに進む予定です。

2017-11-15

線形代数II (2017) 第6回:ベクトル空間の基底

今回は、ベクトル空間の基底について説明しました。前半では基底の定義を説明したのちに、基底になるベクトルの組、基底にならないベクトルの組を例題で確かめました。

後半では、基底の重要な性質について説明しました。特に、「有限生成でゼロベクトルでないベクトルを元に持つベクトル空間には基底が存在する」という定理については、証明のアウトラインも説明しました。

今回はベクトル空間の次元の説明まで進みませんでしたので、次回はベクトル空間の次元に進みます。

授業サポートページ: https://www.math.tsukuba.ac.jp/~terui/la2-2017

2017-11-14

数理科学IIB(第6回)

今回は、前回の内容を受け、f-reducing polynomial を計算するための行列の零空間を計算する方法について説明しました。これには、行列の Traiangular Idempotent Form を求めることで計算できます。

次回は、求まった f-reducing polynomial から実際に多項式の既約因子を取り出す方法について説明します。

2017-11-08

線形代数II (2017) 第5回:ベクトルの線形独立と線形従属

今回は、ベクトル空間の基本的性質の説明を行い、次に部分空間の定義、そしてベクトルの線形独立と線形従属の定義について説明しました。

次回は、ベクトル空間の基底と次元について説明する予定です。

授業サポートページ: https://www.math.tsukuba.ac.jp/~terui/compmath1-2017

2017-11-07

数理科学IIB(第5回)

今回は、有限体上の1変数多項式の因数分解を行うBerlekampのアルゴリズムから、f-reducing polynomial の存在性と計算法について説明し、f-reducing polynomial の計算が、ある行列の零空間の計算に帰着されることを示しました。

次回は、その行列の零空間の計算について詳しく論じます。

2017-10-31

数理科学IIB(第4回)

今回は、有限体、および有限体上の1変数多項式を扱う上で、よく使う定理(Fermatの小定理など)を紹介したのち、有限体上の1変数多項式の因数分解のアルゴリズムの一つとして、Berlekampアルゴリズムの説明に入りました。今回は、アルゴリズムの流れと数学的背景について説明しました。

次回は、Berlekampアルゴリズムについて、引き続き説明します。

2017-10-25

線形代数II (2017) 第4回:一般のベクトル空間

今回は、まず前回の続きとして、線形写像による基本ベクトルの像が、その線形写像の像空間 (image) を生成することを紹介しました。

次に、一般のベクトル空間の話題に入り、ベクトル空間の定義と例について説明しました。

次回は、ベクトル空間の部分空間や有限生成の説明を行ったのち、ベクトル空間の基底の話題に進みます。

授業サポートページ: https://www.math.tsukuba.ac.jp/~terui/compmath1-2017

2017-10-24

数理科学IIB(第3回)

今回は、有限体上の1変数多項式の無平方分解のアルゴリズムについて説明しました。有限体上の多項式では、次数が標数の倍数である項や、重複度が標数の倍数である因子を微分すると0になるため、無平方分解の場合は、これらの項や因子の扱いに注意が必要です。

次回からは、有限体上の1変数多項式の因数分解について説明します。

2017-10-18

線形代数II (2017) 第3回:線形結合と部分空間

今回は、まず、前回までの復習として、集合、単射、全射の概念を復習しました。次に、ベクトルの線形結合全体が部分空間をなす事実について説明しました。

次回は、線形写像による基本ベクトルの像がなす部分空間について説明したのち、一般のベクトル空間の説明に進む予定です。

授業サポートページ: https://www.math.tsukuba.ac.jp/~terui/compmath1-2017

2017-10-17

数理科学IIB(第2回)

今回は、標数0の体上の1変数多項式の無平方分解のアルゴリズムを紹介し、計算量の見積もりなどについて説明しました。

次回は、有限体上の1変数多項式の無平方分解のアルゴリズムについて説明します。

2017-10-11

線形代数II (2017) 第2回:線形写像の像と核

今回は、まず前回に引き続き、数ベクトル空間の線形写像と行列の関係について説明しました。続いて、数ベクトル空間の部分空間の定義を行い、線形写像の像と核の集合が部分空間になることを紹介しました。

次回は、ベクトルの線形結合が部分空間をなすことや、線形写像による基本ベクトルの像が生成する部分空間について説明します。

授業サポートページ: https://www.math.tsukuba.ac.jp/~terui/compmath1-2017

2017-10-04

線形代数II (2017) 第1回:数ベクトル空間の線形写像

本年度秋学期は、化学類対象の「線形代数II」の講義を担当します。

第1回となる今回は、授業全体の予定を説明したのち、数ベクトル空間の定義の復習、数ベクトル空間の線形写像の定義、線形写像と行列の関係について説明しました。

これまで担当した講義では、録画を公開しておりますが、今回は、初の試みとして、1回の講義の録画をテーマごとに小分けにして公開します。これまでよりも必要な部分の録画が探しやすくなることを期待しますが、ご意見ご要望がございましたらお寄せください。

次回は、線形写像と行列の関係について補足説明ののち、部分空間の定義から先に進む予定です。

授業サポートページ: https://www.math.tsukuba.ac.jp/~terui/compmath1-2017

2017-10-03

数理科学IIB(第1回)

今学期は、大学院数理物質科学研究科数学専攻の「数理科学IIB」を担当します。

内容は、春学期の「数理科学IIA」に引き続き、計算機代数の題材を扱いますが、今学期は、多項式の因数分解を扱います。内容は以下を予定しています。

  • 1変数多項式の無平方分解
  • 有限体上の1変数多項式の因数分解
  • Hensel構成と整数上の1変数多項式の因数分解
  • 一般Hensel構成と整数上の多変数多項式の因数分解

差し当たり、今回は、1変数多項式の無平方分解の定義からスタートしました。次回は標数0の体上の無平方分解のアルゴリズムに入ります。

2017-07-18

計算機数学I (2017) 第13回:除算アルゴリズムとその計算量

今回は、前回の内容に関連する内容として、除算のアルゴリズムと計算量に関する補足説明を行いました。

前回「行列積の法計算」では、中国剰余算法を用いて整数を成分にもつ行列の乗算の効率化を図る手順を紹介しましたが、その中で、中国剰余算法の計算量に触れました。そこで、今回は、これに関連して、1変数多項式の除算の計算量、多倍長数を単精度数で割る除算のアルゴリズムとその計算量について紹介し、中国剰余算法の計算量の導出を行いました。

以上、春学期の授業を通して、多倍長数や1変数多項式の四則演算のアルゴリズムと計算量や、拡張Euclid互除法のアルゴリズムとその応用を中心に紹介してきました。代数的な計算のアルゴリズムへの理解を深めていただければと思います。

授業サポートページ: https://www.math.tsukuba.ac.jp/~terui/compmath1-2017

2017-07-11

数理科学IIA(第14回)

今回は、前回に引き続き、数式処理に関連するいくつかのテーマを取り上げました。

まず、ある履修者の人が現在取り組んでいるという、openFrameworksというC++のツールキットについて紹介してもらいました(現在、openFrameworksを使った映像制作を行っているようです)。

次に、学類3年で私の学類の授業を履修している人ですが、Haskellで、多変数多項式の演算と、Groebner (グレブナー)基底を計算するBuchberger(ブッフバーガー)アルゴリズムを実装したというので、紹介してもらいました。

最後に、私の話題で、1階述語論理式の量化子消去 (QE) を用いた大学入試問題の解法について、その概要を紹介しました。

2017-07-10

計算機数学I (2017) 第12回:行列積の法計算

今回は、モジュラー算法 (modular algorithm) の一例として、「行列積の法計算」を紹介しました。

「モジュラー算法」は、ある特徴をもつアルゴリズムの総称ですが、計算途中に多倍長数が現れるアルゴリズムを、いくつかの互いに素な、より小さい数を法とする剰余環上で計算し、最後に中国剰余定理を用いて、整数上の解答の係数を計算するものです。今回は、行列積の計算を例に取り上げ、モジュラー算法によって計算の効率化が図られることを紹介しました。

授業サポートページ: https://www.math.tsukuba.ac.jp/~terui/compmath1-2017

2017-07-05

計算機演習(第12回)

今回はHaskell編の4回目ですが、Haskellの型クラスと、主にパターンマッチを用いた関数定義の手順について学んでいます。

2017-07-04

数理科学IIA(第13回)

今回は、数式処理に関する種々の話題から、私の専門分野である「数式・数値融合計算」を取り上げ、近似最大公約子 (GCD) のアルゴリズム研究の経過や動向について解説しました。

次回も、数式処理に関する種々の話題から、テーマを取り上げて解説する予定です。