FYI:Complex Networks Package for MatLab

2021-02-21 非線性科學研究中心

做複雜網絡很多同學用的是matlab,除了以前推送過的MIT的那個包,另外最齊全的應該是這個包了。一直忘了推送,儘管很多同學都知道,今天再推一下,有32位和64位的,不會自己編寫程序的同學可以用一下。

See:http://www.levmuchnik.net/Content/Networks/ComplextNetworksPackage.html

Complex Networks Package for MatLab

Research in Complex Networks suffers from lack of efficient, validated and well-implemented tools for network analysis. I have created an expandable framework, operating within MatLab, which provides a convenient environment for import/export, manipulation and analysis of complex networks. Currently, the toolbox contains dozens of efficiently implemented and thoroughly validated algorithms. Most of these algorithms are implemented as C++ mex-files to achieve maximal efficiency. All algorithms are well-documented and typical researcher can start using the toolbox within minutes.

Table of Content下載地址:http://www.levmuchnik.net/Content/Networks/ComplextNetworksPackage.html#Download)(下載地址:http://www.levmuchnik.net/Content/Networks/ComplextNetworksPackage.html#Tutorial)(下載地址:http://www.levmuchnik.net/Content/Networks/ComplextNetworksPackage.html#DocumentationReferencing

The Complex Networks Analysis Package is free for noncommercial use. If used for academic research, it can be referenced as:

Lev Muchnik, Royi Itzhack, Sorin Solomon, and Yoram Louzoun, Self-emergence of knowledge trees: Extraction of the Wikipedia hierarchies, Phys. Rev. E 76, 016106 (2007)

Background

In the last years MatLab became the default research environment in many fields of science and industry. However, with all it's advantages and flexibility, MatLab in incapable to efficiently treat Complex Networks.

Here I provide a framework designed to allow efficient research of Complex Networks within MatLab. All toolbox methods operate on the same data struct containing the network.  Untrivial change to this data structure would most probably require some changes to the algorithm implementations. However, each of the algorithms are implemented in quite modular form allowing simple adaptation for such improvements. In fact, I'm now working on the next version of the package which exploits the new features of the recent MatLab releases to further improve computation speed and reduce memory utilization for graph storage.

I am looking for people interested in further expansion of the package and would be happy to support their effort. Please, address me with any question you may have while using or developing this package

List of FeaturesEfficiency

I did my best to implement the most efficient (in terms of execution time and memory requirements) algorithms. I was able to conveniently manipulate and process graphs of above 1 million nodes and 14 million edges. Each untrivial algorithm typically references the proper scientific source so it's efficiency can be easily estimated

Documentation

Each of the implemented algorithms is thoroughly documented. The documentation includes description of each input and output parameter, definition of the function behavior for different inputs and in case of errors, list of related algorithms, usage examples and reference to publication when relevant.

Directionality

The package operates directional networks. Undirected graphs may be represented as directed ones, where each edge is accompanied by an edge in opposite direction. The package has a method with automatically converts directed networks to undirected ones.

Arbitrary Node Properties

Each node may maintain a list of arbitrary, user-defined properties which can be easily accessed, updated and considered in various computations

Multilayer Networks

Network may in mix various types of nodes, representing multi-layer networks. For example, one could study affiliation network of researchers and their collaborations. This ability is based on the ability to maintain node properties as each node may belong to a specific layer of the network.

Weighted Networks

The basic data structure used in this version of the package fully supports weighted networks. However, only one weight may be assigned to each edge and most of the provided algorithms ignore weights at the current stage.

Platform Independent

The toolbox builds upon MatLab which is available for virtually any hardware platform and operating system used today. However, due to extensive use of mex-files, many of the algorithms will have to be re-compiled. These algorithms are implemented in standard C++ code which may be easily compiled on any platform. Currently, versions for Windows 32 and 64 bits are available for downloads, however, in the past I was able to build the toolbox for MAC OS and Linux.

Expandability

The Complex Networks Package for MatLab is a function-based library. As such, most of its algorithms are stand-alone and are independent of the rest(though, some do rely on others). Addition of new algorithms is straightforward. One should only learn the data structure and add algorithms manipulating it.


DownloadInstall

The current version of the Complex Network Package requires Mathwork's MatLab version 7 or higher. Both 32 and 64 bit versions are supported under MS Windows. Build for other operating systems is quite straightforward, but requires some special knowledge. Let me know if you need and I'll try to help.

To install the package, download and unpack the appropriate version. The entire package resigns within 'Graph' directory which should be added to MatLab path. The package makes extensive use of the FlexIO utility library which is located within the 'Graph' folder and which should also be added to MatLab path.

Tutorial

Here I provide a brief tutorial showing some of the Complex Networks Package for MatLab common uses. Check this section frequently as I intend to expend it. You are also welcome to address me with questions. I'll publish them as get answered.

Documentation

Here I'm putting the package documentation. It'll take me some time to put it online (and depends on your interest and feedback). Meanwhile, make sure you check detailed description of methods available at the top of each m-file.

感興趣就去看看吧,特別適合剛入門的研究生喲。

-

如果您喜歡我們推送的工具和信息,麻煩讓更多的同行關注我們的訂閱號「」,或者長按下面的二維碼選擇關注我們,朋友們的關注與支持是我們繼續前進的動力之源,歡迎大家發送好的學術資源與本單位組織的相關學術會議等信息給我們這個小窗口發布!


相關焦點

  • matlab vs R
    matlab 的開始,也是準備進一步與 R 語言做比較。而 matlab 的服務則是建立在用戶付費的基礎之上。你沒有付費,又哪來的享受到官方提供的維護服務。關於入門周期,matlab 要短於 R; 入門難度上, matlab 要比 R 簡單;新手遇到的問題的多少,matlab 用戶小於 R 用戶。
  • Levels.fyi發布2020年度程式設計師收入報告,字節跳動成唯一上榜中國公司
    12月25日 消息:Levels.fyi成立於2017年,是一個關於美國科技公司的數據收集網站,主要是針對不同科技公司職位等級轉換和薪酬比較。日前,Levels.fyi發布了2020年度程式設計師收入報告。
  • MATLAB數學建模教學(三) | 史上最強的MATLAB學習網站,你需要的這裡統統都有?
    Metaheuristics(元啟發式算法)1.Practical Genetic Algorithms in Python and MATLAB – Video Tutorial(遺傳算法)https://yarpiz.com/632/ypga191215-practical-genetic-algorithms-in-python-and-matlab
  • -China relationship 'complex'
    U.S. officials say it is the most complex of any in the world.Hu spoke out a package of aid programs to help the world's remaining impoverished countries, Africans especially.
  • Complex的意思是「複雜的」?
    複雜的 = complicateda complex system 一個複雜的系統a complex issue/problem 一個複雜的問題a complex situation 一個複雜的形勢complex affairs 複雜事務
  • Matlab協調ROS程序: matlab 2015b + ros indigo
    不要糾結,試試matlab 與ros 協調吧, 雖然也不是那麼完美, 但ros的平臺運行加上matlab強大的數據處理,可視化繪圖相結合,只要你充分合理的使用,相應一定能助你一臂之力。         一年前就聽說matlab 有支持ros了,一直擱置沒去實際嘗試。最近由於調試ros程序需要,感覺matlab可以讓我查看算法過程中的數據,與可視化的數據分析更加方便,便開始了嘗試。
  • The Westin Sanya Luxury Resort Package
    OKDealTravel xThe Westin Sanya Haitang Bay ResortGrand SeaviewKing/Twin/Family Room Deluxe Package Starts fromThe package includes - 💍 Staying
  • package怎麼記
    package這麼記碎碎念:packpackage,打包的行為,包裹,一整套、小包。比如我們經常聽到的一攬子計劃就是a package plan,收到的快遞包裹就是a package. 造句:Good things come in small packages.
  • 關於Matlab的那些事
    而後由於所學的專業是生命科學和環境相關的東西,用到matlab的機會不多,主要是一些功能用matlab實現起來不是很方便,而且手邊有現成的軟體可以做到,例如圖像分析,還有DNA序列分析都有現成軟體等。本以為不會與其有太多交集。我下決心學習matlab是在經歷幾件事情之後。
  • matlab官方快速入門----矩陣和數組
    c = [3+4i, 4+3j; -i,10j]c = 2×2 complex   3.0000 + 4.0000i   4.0000 +3.0000i  0.0000 - 1.0000i   0.0000+10.0000i本內容根據MATLAB官方示例修改而來,僅供大家學習參考,
  • mailing package-包裹業務
    How do you want to send this package?=How would you like to send this parcel?package: 包裹您想怎麼寄這個包裹?Would you like to send the parcel by airmail?您想用空運方式寄這個包裹嗎?
  • Python是這樣調用matlab程序的!
    環境變量中即可:python setup.py build --build-base builddir install --install-base installdir#Start and quit  import matlab.engine  eng = matlab.engine.start_matlab()  eng.quit()
  • python中調用MATLAB程序
    cmd = 'matlab -nodesktop -nosplash -r ma_py';# 已經配置好配置MATLAB的情況下,-r 後邊就是要執行的MATLAB文件,ma_py是MATLAB的』.m』文件。os.system(cmd);# 運行MATLAB函數,函數system()是運行後面的函數。
  • 學習matlab的一點心得體會
    而後由於所學的專業是生命科學和環境相關的東西,用到matlab的機會不多,主要是一些功能用matlab實現起來不是很方便,而且手邊有現成的軟體可以做到,例如圖像分析,還有DNA序列分析都有現成軟體等。本以為不會與其有太多交集。我下決心學習matlab是在經歷幾件事情之後。
  • 【Matlab】繪圖
    : Group 1, Team 1Abstract(背景)之前因為數學建模比賽,需要總結matlab有什麼關於建模以及繪圖的函數,所以寫了篇推文。因為無聊,寫的還是敘事型的。結果寫一半,matlab壞了,沒繼續寫現在大二做實驗需要數據分析,但是卻還沒學過matlab,可能你們用Python,excel?
  • 【Matlab】Sound
    sound在matlab裡更多的並不是用於製作音樂,而是提醒和分析聲音背後的數學,物理規律為什麼說是提醒呢,因為有些比較複雜的程序,往往需要matlab運算很久才會有結果,這時候人一般是不會盯著屏幕等著出結果,而是走開先去幹其他事。這時候就需要matlab在運算完後發出提示,最好是聲音。所以sound在matlab裡更多是用於提醒程序已運行完,結果已得出(一般用beep函數)。
  • 【VALSE前沿技術選介16-19期】Recurrent Highway Networks
    他們另闢蹊徑,在計算 recurrent state transition 時使用 highway networks 做 deep net,並把這種改進的 RNN architecture 叫做 Recurrent Highway Networks(RHN)。如下,一個擁有 recurrence depth = L 的 RHN 層:
  • 大話matlabの通用對話框
    引入通用對話框對程序交互往往能起到錦上添花的作用,下面就來對matlab通用對話框進行一一介紹:一、文件選擇對話框 —— uigetfile函數功能:打開用於打開文件的對話框,獲取所需打開文件的路徑、文件名、篩選器索引等信息。
  • 學習matlab必去的10大網站
    Help Center是MathWorks公司推出的集matlab參考文檔、程序示例、函數集合、視頻簡介、疑難解答於一體的綜合matlab學習平臺。在這裡不僅學習基礎matlab編程,還包括simulink、工具箱等高階matlab知識,是提升matlab編程能力不可不去的地方。
  • 觀點丨關於Matlab的那些事
    而後由於所學的專業是生命科學和環境相關的東西,用到matlab的機會不多,主要是一些功能用matlab實現起來不是很方便,而且手邊有現成的軟體可以做到,例如圖像分析,還有DNA序列分析都有現成軟體等。本以為不會與其有太多交集。我下決心學習matlab是在經歷幾件事情之後。