Kai-Hsin Wu, Chang-Teng Lin, Ke Hsu, Hao-Ti Hung, Manuel Schneider, Chia-Min Chung, Ying-Jer Kao, Pochung Chen
{"title":"用于张量网络的 Cytnx 库","authors":"Kai-Hsin Wu, Chang-Teng Lin, Ke Hsu, Hao-Ti Hung, Manuel Schneider, Chia-Min Chung, Ying-Jer Kao, Pochung Chen","doi":"arxiv-2401.01921","DOIUrl":null,"url":null,"abstract":"We introduce a tensor network library designed for classical and quantum\nphysics simulations called Cytnx (pronounced as sci-tens). This library\nprovides almost an identical interface and syntax for both C++ and Python,\nallowing users to effortlessly switch between two languages. Aiming at a quick\nlearning process for new users of tensor network algorithms, the interfaces\nresemble the popular Python scientific libraries like NumPy, Scipy, and\nPyTorch. Not only multiple global Abelian symmetries can be easily defined and\nimplemented, Cytnx also provides a new tool called Network that allows users to\nstore large tensor networks and perform tensor network contractions in an\noptimal order automatically. With the integration of cuQuantum, tensor\ncalculations can also be executed efficiently on GPUs. We present benchmark\nresults for tensor operations on both devices, CPU and GPU. We also discuss\nfeatures and higher-level interfaces to be added in the future.","PeriodicalId":501256,"journal":{"name":"arXiv - CS - Mathematical Software","volume":"18 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"The Cytnx Library for Tensor Networks\",\"authors\":\"Kai-Hsin Wu, Chang-Teng Lin, Ke Hsu, Hao-Ti Hung, Manuel Schneider, Chia-Min Chung, Ying-Jer Kao, Pochung Chen\",\"doi\":\"arxiv-2401.01921\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We introduce a tensor network library designed for classical and quantum\\nphysics simulations called Cytnx (pronounced as sci-tens). This library\\nprovides almost an identical interface and syntax for both C++ and Python,\\nallowing users to effortlessly switch between two languages. Aiming at a quick\\nlearning process for new users of tensor network algorithms, the interfaces\\nresemble the popular Python scientific libraries like NumPy, Scipy, and\\nPyTorch. Not only multiple global Abelian symmetries can be easily defined and\\nimplemented, Cytnx also provides a new tool called Network that allows users to\\nstore large tensor networks and perform tensor network contractions in an\\noptimal order automatically. With the integration of cuQuantum, tensor\\ncalculations can also be executed efficiently on GPUs. We present benchmark\\nresults for tensor operations on both devices, CPU and GPU. We also discuss\\nfeatures and higher-level interfaces to be added in the future.\",\"PeriodicalId\":501256,\"journal\":{\"name\":\"arXiv - CS - Mathematical Software\",\"volume\":\"18 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-01-03\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Mathematical Software\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2401.01921\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Mathematical Software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2401.01921","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
We introduce a tensor network library designed for classical and quantum
physics simulations called Cytnx (pronounced as sci-tens). This library
provides almost an identical interface and syntax for both C++ and Python,
allowing users to effortlessly switch between two languages. Aiming at a quick
learning process for new users of tensor network algorithms, the interfaces
resemble the popular Python scientific libraries like NumPy, Scipy, and
PyTorch. Not only multiple global Abelian symmetries can be easily defined and
implemented, Cytnx also provides a new tool called Network that allows users to
store large tensor networks and perform tensor network contractions in an
optimal order automatically. With the integration of cuQuantum, tensor
calculations can also be executed efficiently on GPUs. We present benchmark
results for tensor operations on both devices, CPU and GPU. We also discuss
features and higher-level interfaces to be added in the future.