<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/uni10/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/uni10/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 10 Jan 2015 03:38:28 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/uni10/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/uni10/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Uni10 is an open-source C++ library designed for the development of&lt;br /&gt;
tensor network algorithms. Programming tensor network algorithms is&lt;br /&gt;
tedious and  prone to errors.  The task of keeping track of tensor&lt;br /&gt;
indices while performing contraction of a complicated tensor network&lt;br /&gt;
can be daunting. It is desirable to have a platform that provides&lt;br /&gt;
 bookkeeping capability and optimization.&lt;/p&gt;
&lt;p&gt;This software distinguishes itself from  other available software&lt;br /&gt;
solutions by providing the following advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fully implemented in C++.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Aimed toward applications in tensor network algorithms.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Provides basic tensor operations with an easy-to-use interface.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Provides a Network class to process and store the  details of the&lt;br /&gt;
    graphical representations of the networks.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Implements a heuristic algorithm to search for an optimal pairwise&lt;br /&gt;
    contraction order based on the available computation and memory&lt;br /&gt;
    resources.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Provides a collection of Python wrappers which interact with the&lt;br /&gt;
    compiled C++ library to take advantage of  the Python language&lt;br /&gt;
    for better code readability and faster prototyping,  without&lt;br /&gt;
    sacrificing the speed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Provides behind-the-scene optimization and acceleration.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="copyright-and-changes"&gt;Copyright and Changes&lt;/h1&gt;
&lt;p&gt;See GPL and LGPL for copyright conditions.&lt;/p&gt;
&lt;p&gt;See &lt;a class="" href="../\ref%20ChangeLog"&gt;Release Notes&lt;/a&gt; for release notes and changes.&lt;/p&gt;
&lt;h1 id="installation"&gt;Installation&lt;/h1&gt;
&lt;h2 id="download"&gt;Download&lt;/h2&gt;
&lt;p&gt;The latest Uni10 source code can be downloaded from &lt;br /&gt;
&lt;a href="https://sourceforge.net/projects/uni10/files/latest/download" rel="nofollow" target="_blank"&gt;Sourceforge&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Binary builds of pyUni10 is available &lt;a class="" href="http://uni10-tutorials.readthedocs.org" rel="nofollow"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://cmake.org/" target="_blank" rel="nofollow"&gt;cmake&lt;/a&gt; version &amp;gt; 2.8.12&lt;/li&gt;
&lt;li&gt;C++ compiler&lt;/li&gt;
&lt;li&gt;BLAS and LAPACK libraries and header files&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="build"&gt;Build&lt;/h2&gt;
&lt;p&gt;To build Un10, follow the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create a build directory&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use Cmake to generate makefile&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Build library and exmamples&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install library and examples (May require root access)&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;
&lt;p&gt;Using system c++, blas and lapack&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;mkdir&lt;/span&gt; &lt;span class="n"&gt;build&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;cd&lt;/span&gt; &lt;span class="n"&gt;build&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;cmake&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;to&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;uni10&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;make&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;make&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The installation path defaults to &lt;code&gt;/usr/local/uni10&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To override the default path, use &lt;code&gt;CMAKE_INSTALL_PREFIX&lt;/code&gt; :&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;cmake&lt;/span&gt; &lt;span class="na"&gt;-DCMAKE_INSTALL_PREFIX&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;installation_path&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nb"&gt;path&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="k"&gt;to&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;uni10&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;To use MKL and Intel compiler:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;cmake&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;DBUILD_WITH_MKL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;DBUILD_WITH_INTEL_COMPILER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;to&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;uni10&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;If cmake failes to find blas and lapack, specify the libraries by&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;cmake&lt;/span&gt; &lt;span class="na"&gt;-DBLAS_LIBRARIES&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;/&lt;/span&gt;&lt;span class="nb"&gt;path&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="k"&gt;to&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;blas&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="na"&gt;-DLAPACK_LIBRARIES&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;/&lt;/span&gt;&lt;span class="nb"&gt;path&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="k"&gt;to&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;lapack&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nb"&gt;path&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="k"&gt;to&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;uni10&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="build-options"&gt;Build Options&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Description (Default value)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;BUILD_WITH_MKL&lt;/td&gt;
&lt;td&gt;Use Intel MKL for lapack and blas (off)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BUILD_WITH_INTEL_COMPILER&lt;/td&gt;
&lt;td&gt;Use Intel C++ compiler  (off)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BUILD_PYTHON_WRAPPER&lt;/td&gt;
&lt;td&gt;Build pyUni10 wrapper (off)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BUILD_EXAMPLES&lt;/td&gt;
&lt;td&gt;Build C++ examples (on)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CMAKE_INSTALL_PREFIX&lt;/td&gt;
&lt;td&gt;Installation location (/usr/local/uni10)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h1 id="pyuni10-tutorials"&gt;pyUni10 Tutorials&lt;/h1&gt;
&lt;p&gt;Tutorials for pyUni10 can be found &lt;a class="" href="http://uni10-tutorials.readthedocs.org" rel="nofollow"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id="developers"&gt;Developers&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Yun-Da Hsieh (National Taiwan University)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ying-Jer Kao (National Taiwan University)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pochung Chen (National Tsing-Hua University)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tama Ma (Singapore National University)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sukhbinder Singh (Macquarie University)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="help-and-bug-reports"&gt;Help and Bug Reports&lt;/h1&gt;
&lt;p&gt;Please send bug reports to &lt;a class="" href="../hsieh.uni10@gmail.com"&gt;Uni10Support&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="known-issues"&gt;Known issues&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;CMake generated Xcode project not working&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="to-do"&gt;To Do&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Complex Data Type&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GUI for generating network files&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ying-Jer Kao</dc:creator><pubDate>Sat, 10 Jan 2015 03:38:28 -0000</pubDate><guid>https://sourceforge.net2594bc9705656f3fe043f01cb356ca511dc80baf</guid></item><item><title>Home modified by Ying-Jer Kao</title><link>https://sourceforge.net/p/uni10/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/uni10/wiki/markdown_syntax/"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
&lt;ul class="md-users-list"&gt;
&lt;li&gt;&lt;a href="/u/yingjerkao/"&gt;Ying-Jer Kao&lt;/a&gt; (admin)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;span class="download-button-538d7b51f1fd8d5d75e21ddd" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ying-Jer Kao</dc:creator><pubDate>Tue, 03 Jun 2014 07:37:53 -0000</pubDate><guid>https://sourceforge.nete71cf4816bd15c06b657572ebf89d1fc7a64d38f</guid></item></channel></rss>