Rプログラミング入門:基礎から実践まで

はじめに 2024年1月15日 最近、いくつかの友人からR言語について尋ねられ、puqでは社会科学や自然科学の分野でR言語の学習が共有されているのを見かけました。 これはかなり人気があり実用的なツールだろうと思い、冬休みを利用してR言語を独学することに決め、学習ノートをブログ形式で記録することにしました。 2月12日 他のことが忙しくて、この目標を思い出したのは今 ...

7月27日 17:11 投稿

2023年紅明谷CTF「It Takes Two!」問題の解法

2023年紅明谷CTF「It Takes Two!」問題の解法 競技中の問題 本問題は行列演算と暗号理論を組み合わせたクリプトグラフィ challenge です。競技中、行列除算の方向を間違えてしまい、時間切れとなりました。 問題のコード: #task from sage.all import * from Crypto.Util.number import * from os import urandom from secret import flag n = 16 bound = 2^15 A = [ZZ. ...

7月19日 18:57 投稿

行列計算における固有値分解の理論とアルゴリズム

定義 行列 $A \in \mathbb{C}^{m \times m}$ に対して、以下の関係を満たすスカラー $\lambda \in \mathbb{C}$ とゼロでないベクトル $x \in \mathbb{C}^m$ が存在するとき、$\lambda$ を固有値、 $x$ を固有ベクトルと呼びます。 $$Ax = \lambda x$$ すべての固有値を $\Lambda(A) = \{\lambda_i\}$、対応する固有ベクトルを列ベクトルとする行列を $X = [x_1 | x_2 | \do ...

7月9日 17:09 投稿

大規模モデルの数学的基盤: スカラーからテンソルまで

1. データ構造の基礎 1.1 スカラー 単一数値で表される最小単位。機械学習ではハイパーパラメータ表現に使用される。 # スカラー実装例 weight_decay = 0.0001 # 重み減衰係数 batch_size_val = 64 # バッチサイズ temperature_scale = 1.0 # サンプリング温度 print(f"学習パラメータ: 減衰率={weight_decay}, サイズ={batch_size_val}") 1.2 ベクトル n次元空 ...

6月28日 16:33 投稿

C言語における多次元配列操作の実践的実験

実験課題1 ソースコード: 1 #include <stdio.h> 2 #define ROWS 4 3 #define COLS 2 4 5 void test1() { 6 int data[ROWS] = {1, 9, 8, 4}; 7 int index; 8 9 // 配列dataが占めるメモリバイト数を出力 10 printf("sizeof(data) = %d\n", sizeof(data)); 11 12 // 各要素のアドレスと値を出力 13 for (ind ...

6月22日 19:21 投稿

OpenCVの行列操作とデータ永続化の基本

OpenCVは、画像処理、ビデオ分析、物体検出など、多岐にわたるコンピュータビジョンアプリケーションで広く利用されている強力なライブラリです。効率的な画像処理を行うためには、その内部のクラスや関数を理解することが不可欠です。本稿では、OpenCVにおけるいくつかの重要なクラスの使い方と、行列操作、データ保存の基礎について解説します。 SizeクラスとRectクラス ...

5月27日 10:48 投稿

Turbo Cを用いた2次元図形の幾何変換実装

2次元図形の幾何変換は、座標変換行列を用いた行列演算によって実現されます。本記事では、Turbo C環境下で平行移動、回転、拡大縮小、対称変換を実装する方法を解説します。各変換処理は、基準座標系を(540, 240)とし、三角形の頂点座標を変換して描画します。 回転処理 90度順時針回転を行列演算で実装します。以下はそのコード例です。 #include <stdio.h> #inclu ...

5月23日 02:02 投稿