タグ

行列に関するsh19910711のブックマーク (14)

  • SymPy で量子プログラミングを体験してみましょう - Qiita

    はじめまして、こんにちは。OpenQLプロジェクト1の中のひと、です。 記事の対象は、次のような方を想定しております。 量子コンピューターや量子プログラミング2に興味がある方 基礎的なPythonの知識がある方 数式に極度のアレルギーのない方 量子コンピューターの仕組みや計算方法をなんとなく知っている方 (記事の前に、@tsujishin さんの「量子情報科学序論 IBM Qを動かして学ぶ量子コンピュータ」を事前に読んで頂くと、より理解が深まると思います) それでは、始めましょう。よろしくお願いします。 数学・科学計算には欠かせない!?「Mathematica」 皆さんは、Mathematica というソフトウェアをご存知でしょうか。 例えば、何か計算式をプログラムで扱おうとしたときに、一般的なプログラムが数値計算を得意としているのに対して、$x$が含まれる関数式のまま扱うことができる

    SymPy で量子プログラミングを体験してみましょう - Qiita
    sh19910711
    sh19910711 2024/06/11
    "sympy: 数学計算に便利な基礎的な利用用途とは別に、様々な応用計算が標準で含まれ / シミュレーション上の理論的な計算では、qapplyまで行えば、目的が達成することが多い / 観測のためのメソッドも備わって" 2017
  • CV・CG・ロボティクスのためのリー群・リー代数入門: (1) リー群 - swk's log はてな別館

    シリーズ一覧へ このエントリでは,回転を題材としてリー群の定義を説明し,それを導入する動機と基的な考え方を導入する. ざっくりと言うと,回転を考えるというのはある種の「曲がった空間」を考えることであって,理論上も実用上も面倒な点が多い.ところがここで,回転が「群」と呼ばれる数学的構造を持っていることに着目すると,さっきの「曲がった空間」に関する問題を,それに対応する「真っ直ぐな空間」に関する問題に置き換えて考えることができる.ここで言う「曲がった空間」がリー群であり,「真っ直ぐな空間」がリー代数と呼ばれるものであり,それらの間の対応を表すのが指数写像と呼ばれるものである,という話をこのエントリとそれに続く 2 エントリくらいを通じて見ていきたい. 何やら魔法のような話に聞こえるかもしれないが,こんな風に,ある問題をそれと対応関係にある別の問題に置き換えて考えるというのは数学ではよくある話

    CV・CG・ロボティクスのためのリー群・リー代数入門: (1) リー群 - swk's log はてな別館
    sh19910711
    sh19910711 2024/06/10
    "回転が「群」と呼ばれる数学的構造を持っていることに着目 / 「曲がった空間」に関する問題を,それに対応する「真っ直ぐな空間」に関する問題に置き換えて考える" 2019
  • ロボット技術者向け 速習(2) リー群・リー代数を使った3次元剛体変換 - Qiita

    はじめに 前編「3次元回転群」はリー群・リー代数による3次元の回転表現を議論したが、ロボティクス工学の世界では、回転運動だけではなく、並進運動も重要である。回転変換と並進変換の組み合わせによる変換は、物体の形状を変化せずに行うことができ、一般的には剛体変換と呼ばれる。 最新のSLAMやロボット運動学の論文では、頻繁的にリー群による剛体変換が用いられている。ロボット技術者として、最新の研究成果を追いかけるためには、これらの知識を理解する必要がある。しかし、Web資料や教科書などに情報が存在するものの、相当な数学力がないと理解しにくい。 稿の目的は、ロボット技術者に必要な剛体変換群の知識をできるだけわかりやすく解説する。稿の説明は、前編の内容を理解する必要があるので、もし「3次元回転群」がわからない方はまず前編を読んでください。 また、他のWeb資料や教科書ではリー群の指数写像と対数写像の

    ロボット技術者向け 速習(2) リー群・リー代数を使った3次元剛体変換 - Qiita
    sh19910711
    sh19910711 2024/06/10
    "剛体変換: 回転と並進の組み合わせ + 4x4の行列で表現 / 式(9)から分かるように、ロボットの姿勢は、行列の指数関数より表現でき / 対数写像は指数写像の逆計算であり、リー代数をリー群に対応" 2023
  • 量子計算ライブラリの量子回路を相互変換するライブラリ 「naniwa」を作ってみた - Qiita

    はじめに 量子ソフトウェア研究拠点主催の量子ソフトウェア勉強会のグループワークで、量子計算ライブラリの量子回路インスタンスを相互変換するライブラリ 「naniwa」を作成した。この記事では、naniwaの概要とその使い方について説明したいと思う。 対象読者 qiskitやqulacsなどの量子計算ライブラリを使ったことがある人 複数の量子計算ライブラリで回路インスタンスを生成してる人 ある回路インスタンスを別ライブラリの回路インスタンスに変換したい人 naniwaとは pythonには、qiskitやqulacsなどの量子計算ライブラリが充実している。 しかしそれ故に、それぞれのライブラリで同じ回路を使いたくなった時に別のライブラリで量子回路を書き直さなければいけない。 簡単な回路ならすぐかけるが、複雑な量子回路を書き直すのはなかなかに大変である。 この問題を解決するのが、量子回路相互変換

    量子計算ライブラリの量子回路を相互変換するライブラリ 「naniwa」を作ってみた - Qiita
    sh19910711
    sh19910711 2024/06/08
    "量子計算ライブラリ: qiskitやqulacsなど + それぞれのライブラリで同じ回路を使いたくなった時に別のライブラリで量子回路を書き直さなければいけない / Qiskit、Qulacs、Braket間の量子回路の相互変換" 2022
  • 雑誌「Interface」で量子コンピュータの連載を始めました - Taste of Tech Topics

    こんにちは~。 ツカノ@snuffkinです。 6/25(火)に発売されたCQ出版社さんの雑誌「Interface」2019年8月号から、量子コンピュータ入門の連載を始めました! 連載のタイトルは「動かしながら始める量子コンピュータ」です。 連載を始めた背景 量子コンピュータについて興味を持ち、や雑誌記事を読んだ方もいらっしゃると思います。 ただ、次のような感想を持つ方もいるように思います。 ビジネス書だと量子コンピュータの雰囲気は書いてあるが、理解した気になれない。 専門書を手に取ってみたけれど、数式が難しくて理解できない。 この連載では「普通のプログラマ」の方に向けて、手計算やPythonで動作を確認しながら理解する内容にしました。 内容は次のサイトからちらっと確認できます。 interface.cqpub.co.jp 連載を読んで量子コンピュータにもっと興味が出てきた方には、次の

    雑誌「Interface」で量子コンピュータの連載を始めました - Taste of Tech Topics
    sh19910711
    sh19910711 2024/06/08
    "「Interface」2019年8月号から、量子コンピュータ入門の連載を始めました / タイトルは「動かしながら始める量子コンピュータ」 / 手計算やPythonで動作を確認しながら理解する内容" 2019
  • Cloud TPUの使いどころガイドライン - Qiita

    TPUもリリースされ、CPU, GPU, TPUをどういった時に、何を基準に使い分ければよいのかと思っていたら、以下に記載されていることだったのでメモ。 https://cloud.google.com/tpu/docs/tpus Cloud TPUは特定のワークロードに最適化されているので、機械学習のワークロードによってはCompute EngineのインスタンスでCPUGPUを使用した方がよいケースがある。一般的には、どの環境を選択すべきかは以下のガイドラインに従えばよい。 CPU 柔軟性があるプロトタイプを素早く作る必要がある場合 モデルのトレーニングに時間がかからないような単純なモデル 小さなモデル C++で記述されたカスタムTensorFlow operationが大部分を占めるモデル 利用可能なI/Oやホストのネットワークバンド幅が制限されているモデル GPU TensorF

    Cloud TPUの使いどころガイドライン - Qiita
    sh19910711
    sh19910711 2024/06/08
    "行列計算が大きく占めているモデル / 向いてないワークロード: 頻繁にブランチングしてたり要素ごとの積が多くを占めるような線形代数のプログラム / TPU: 大量の行列積演算が速くなるように最適化されている" 2018
  • Matrix Factorizationとレコメンドと私 - Qiita

    レコメンドにおける次元削減手法の一つであるMatrix Factorizationについてまとめた自分用メモ的なものです。 なおタイトルは「部屋とYシャツと私」にちなんだだけで、ちなんだ意味はありません。 1. レコメンドシステムにおける次元削減 1.1 レコメンドの設定と協調フィルタリング すでにレコメンドをたくさんされている方にとってはとても当たり前の話かもしれませんが一応前提をば。 今回考えるデータセットはMovieLens100kのように「ユーザ×アイテム」の行列でできているもので、例えば以下のような形のものを想定しています。 レコメンドでおなじみの協調フィルタリング1では相関係数やコサイン類似度を用いてユーザ(orアイテム)同士の類似度を出し、それを用いた評価の予測値に基づきレコメンドをするという趣旨のものでした。 この協調フィルタリングのようなレコメンド手法のことを近傍ベースア

    Matrix Factorizationとレコメンドと私 - Qiita
    sh19910711
    sh19910711 2024/05/27
    "synonymy: 赤い缶のコーラを買う人と青い缶のコーラを買う人はそれぞれ別の色のコーラを買わないと思われ + 通常の協調フィルタではこの赤い缶ユーザと青い缶ユーザの類似性をうまく捉えることができません" 2019
  • 行列の積演算で openBLAS cuBLAS を体感する - Qiita

    Basic Linear Algebra Subprograms (BLAS) の 行列の積 演算が、C の for 文で率直に書いたルーチンに比べ、どれ程のものか体感してみる。 背景 深層学習の実装を理解していくにあたり、行列の積演算を高速に行いたくなった。 BLASは 行列の積演算が速いとの話を目にするが、実際に使ってみたことはなかった。 → 今回 BLAS の性能を体感してみる。 BLAS について 下記Webサイトを参考にしています。 ・Basic Linear Algebra Subprograms(Wikipedia) ・BLASの簡単な使い方 ・CUDA Toolkit cuBLAS ・インテル(R) 数値演算ライブラリ(MKL) リファレンス・マニュアル(PDF)

    行列の積演算で openBLAS cuBLAS を体感する - Qiita
    sh19910711
    sh19910711 2024/05/22
    "深層学習の実装を理解していくにあたり、行列の積演算を高速に行いたくなった / cuBLAS: NVIDIA のグラフィックカードのGPU上で並列演算 / gefoce1050ti な 15K円位のボードでも 率直C版に比べ 500倍以上の差" 2017
  • 【推薦システム】レコメンドアルゴリズムまとめ①【入門/協調フィルタリング/NMF】 - Qiita

    一言で表すと、ユーザーの行動履歴に基づいた推薦アルゴリズム。 メモリベースの手法とモデルベースの手法の二種類があります。 メモリベース手法 ユーザ間の類似性やアイテム間の類似性に着目して推薦を生成する手法です。 このうち、さらにユーザーベースの手法とアイテムベースの手法に分類されます。 特徴 ドメイン知識を必要としない(商品の内容を知らなくてもレコメンドできる) 異なるジャンルをまたいだ推薦ができる 利用者が多い場合に有利 推定の都度全データに対して計算を行う(類似度を計算する)アプローチをとるのでデータのサイズに比例して計算コストが高くなる。 ユーザーベース 対象となるユーザーと類似した嗜好を持つユーザーのグループを調べることによって、各ユーザーに適したレコメンデーションを提供する手法です。 メリット アルゴリズムがシンプル、データセットが頻繁に変更されても対応できる。 デメリット 巨大

    【推薦システム】レコメンドアルゴリズムまとめ①【入門/協調フィルタリング/NMF】 - Qiita
    sh19910711
    sh19910711 2024/05/21
    "Cold Start問題: 嗜好に関するデータがある程度集まらないと有意な推薦ができない / NMF: 元行列Vと分解したW,Hの要素の値がすべて非負値 + 基底ベクトルと係数を非負に限定することで、係数が疎になりやすく" 2021
  • ArmのScalable Matrix Extension (SME)を試す

    最近のCPUには行列乗算に役立つ命令が載っていることがあります。IntelのAdvanced Matrix Extensions (AMX)、AppleのAMX、IBM PowerのMatrix-Multiply Assist (MMA),そしてここで取り上げるArmのScalable Matrix Extension (SME)です。 SMEはここ数年(2021年ごろから?)話は聞きますが、実物の話は聞かないという状況でした(私の中では)。それが最近発表されたApple M4に実装されているという噂を聞いて、俄然興味が出てきました。Apple M4の実物は私は持っていませんが、QEMUを使うとSMEの動作確認ができるようです。やってみましょう。 環境構築とベクトル長 Ubuntu 24.04上のGCC 14/Clang 18とQEMU 8.2で動作確認します。Ubuntuはx86_64で

    ArmのScalable Matrix Extension (SME)を試す
    sh19910711
    sh19910711 2024/05/20
    "SME; Scalable Matrix Extension: 行列乗算に役立つ + 最近発表されたApple M4に実装されているという噂 + QEMUを使うとSMEの動作確認ができる / Macに搭載されれば個人のパソコンでSMEプログラミングができる"
  • Collective Matrix Factorization - 自然言語データのエレガントなデータ探索法 - - Qiita

    データ解析を行う上でデータの性質を知ることは欠かせません.データの性質を知ること自体が価値を持つこともありますし,正しい前処理の方法やモデルを選択する為にもデータの性質を知らなければいけません. カテゴリー型の変数なら分布や従属変数との関係などの簡単な統計量を調べるだけでも多くのことがわかります. しかし自然言語データの場合は全く同じ文章が2度現れることはまずありません.文章を単語単位に分解して考えようとしても,単語の種類が膨大なため,データ探索は一筋縄ではいきません. 自然言語データの探索法は色々ありますが,今回の記事ではその中でも - 教師ありデータと相性が良い - 間違った解釈に至りづらい - 数学的にエレガントな 探索法であるCollective Matrix Factorization (CMF)について紹介します. 要約 自然言語データは高次元なので,次元を削減することが解釈の

    Collective Matrix Factorization - 自然言語データのエレガントなデータ探索法 - - Qiita
    sh19910711
    sh19910711 2024/04/10
    "CMF; Collective Matrix Factorization: 教師データを活用しながらトピックを抽出 / 文章と教師ラベルを格納する行列 + 文章のトピックの分布を表す行列と各トピックの目的変数への寄与を持つ重み行列の積で近似できるはず" 2018
  • 行列式を行列のべき乗のトレースたちの多項式として表すこと

    物理のを読んでいたら、 行列についての次のような公式が出てきた: 気になってネットで調べると, 行列のとき、次の関係式が成り立つのだそうだ: 一般の の場合はどうなるのか気になって考えた. 一般に, 次正方行列 は(適当に取った)ユニタリ行列 によって,対角成分が の固有値であるような上三角行列に変換できる: ユニタリ行列の性質から,任意の自然数 に対して 固有多項式はユニタリ変換で不変なので,その 次の項を比較することで次を得る: よって,行列のべき乗のトレースが固有値のニュートン多項式になっていることがわかる.ここで, 変数の 次ニュートン多項式 さて, 変数の 次基対称式 は次のように定義されるのだった: 特に, となることに注意する.行列式もトレースも,ユニタリ変換で上三角化した行列の対角成分だけで決まる.このことから「行列式を行列のべき乗のトレースたちの関数として表す問題」は

    行列式を行列のべき乗のトレースたちの多項式として表すこと
  • Determinant Versus Permanent

  • 疎行列の格納方式メモ - Negative/Positive Thinking

    はじめに 巨大だけどほとんどの要素がゼロであるような疎行列は、そのまま保持するより、要素がゼロじゃないところだけをうまく保持する事でメモリや計算量を減らせたりする。 扱う行列のタイプによって、効率のよい形式がいくつかあるようなので代表的なものをメモしておく。 Coodinate(COO) Format 非ゼロ要素の(row indices, column indices, value)を要素数分持たせる形式 非ゼロ要素が散らばっている場合に有利 0 4 0 0 2 0 0 0 1 を row 0 1 2 column 1 1 2 value 4 2 1 のように保持する。 compressed sparse row(CSR) Format / compressed sparse column(CSC) Format Coodinate Formatにおいて、左から右、上から下へ順番に要素を

    疎行列の格納方式メモ - Negative/Positive Thinking
  • 1