QuantumKitHub/TensorOperations.jl

Julia package for tensor contractions and related operations

何を解決するか

複雑なテンソル操作を実行するプロセスを簡素化し、ネストされたループや複数の手動でのリシェイプ・コントラクションよりも直感的なエインシュタイン添字表記を使用して記述できるようにします。

動作方法

このライブラリは @tensor マクロを提供し、エインシュタイン和の規則(抽象添字表記)を使用してテンソルのコントラクションや加算を表現できるようにします。複数のバックエンドをサポートしており、GPUアクセラレーションには cuTENSOR v2 を使用可能で、ChainRulesCore.jl と統合して自動微分を実現します。また、Bumper.jl を使用した一時オブジェクト用のカスタム割り当て戦略も可能になります。

対象ユーザー

高次元配列(テンソル)を扱う研究者や開発者、特に量子物理学や機械学習分野でテンソルコントラクションを簡潔に定義・最適化したい人向けです。

特徴

  • エインシュタイン表記: @tensor マクロを使用して操作を簡潔に表現。
  • GPUアクセラレーション: CUDA.jl を通じて cuTENSOR v2 をサポート。
  • 自動微分: ADフレームワークとの統合を可能にする逆モードルールを含む。
  • 柔軟な割り当て: 一時オブジェクトのパフォーマンス向上を目的としたカスタム割り当て戦略をサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト