ObjectOriented.jl
ITensors.jl
ObjectOriented.jl | ITensors.jl | |
---|---|---|
4 | 4 | |
88 | 485 | |
- | 1.6% | |
5.3 | 9.4 | |
3 months ago | 3 days ago | |
Julia | Julia | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ObjectOriented.jl
-
With v1.9 about to land, what do you hope v1.10 has?
Not being an expert in Julia, I reckon that whatever https://github.com/Suzhou-Tongyuan/ObjectOriented.jl does, also included meeting around with language internals. It's macros in Julia but what is the real difference?
-
Julia 1.8 has been released
> And if that’s what you want to stick to, I guess you could program in that style by making the “object” the first method argument, and wrapping the functions along with the struct definition in a module.
You might not even need to do that. This package was released recently, implementing OOP: https://github.com/Suzhou-Tongyuan/ObjectOriented.jl
- Objectoriented.jl: a mechanical OOP programming library based on CPython OOP
ITensors.jl
-
A question relating to the BCS theory ground state
DMRG packages are available in Julia and C++ and Python. (Don't use Fortran. But here is a Fortran library if you insist.)
-
To those working in computational physics, what do you think of Julia?
As one example, one of the leading libraries for tensor network simulations (https://itensor.org) has recently been rewritten in Julia (previously was c++) and the flatiron institute who develops it (which is certainly one of the leading Computational physics institutions in the world) is advising new users to use the Julia version. I also know some other computational groups which use Julia, even for things like quantum Monte Carlo (where I personally would have believed c++ to have an edge but people tell me different)! I think when even leading computational groups switch, Julia is almost always the much better option for the average user if you write your code from scratch (a situation not so rare in condensed matter). If you need to use some libraries or legacy code, this obviously changes the situation.
-
Julia 1.8 has been released
> One thing that supports this view is that there are several Julia packages that are wrappers around existing C/Fortran/C++ libraries, and basically no examples (that I know) of people porting existing libraries to Julia.
As with the others, I'll strongly disagree and chime in with a few examples off the top of my head:
* ITensors.jl : They started moving from a C++ to Julia a couple years ago and now their webpage doesn't even mention their original C++ implementation on its homepage anymore https://itensor.org/
* DifferentialEquations.jl : This has many state of the art differentiatial equation solving facilities in it, many of which are improvements over old Fortran libraries.
* SpecialFunctions.jl, Julia's own libm, Bessels.jl, SLEEFPirates.jl : Many core math functions have ancient Fortran or C implementations from OpenLibm or whatever, and they're being progressively replaced with better, faster versions written in pure julia that outperform the old versions.
-
Initializing an n^k array as a sparse array?
Otherwise, maybe check ITensors.jl or look for packages that want to do the same thing?
What are some alternatives?
ProtoStructs.jl - Easy prototyping of structs
Fastor - A lightweight high performance tensor algebra framework for modern C++
arrow-julia - Official Julia implementation of Apache Arrow
danfojs - Danfo.js is an open source, JavaScript library providing high performance, intuitive, and easy to use data structures for manipulating and processing structured data.
RecursiveArrayTools.jl - Tools for easily handling objects like arrays of arrays and deeper nestings in scientific machine learning (SciML) and other applications
Measurements.jl - Error propagation calculator and library for physical measurements. It supports real and complex numbers with uncertainty, arbitrary precision calculations, operations with arrays, and numerical integration.
TruncatedStacktraces.jl - Simpler stacktraces for the Julia Programming Language
NTNk.jl - Unsupervised Machine Learning: Nonnegative Tensor Networks + k-means clustering
Octavian.jl - Multi-threaded BLAS-like library that provides pure Julia matrix multiplication
GenericArpack.jl - A pure Julia translation of the Arpack library for eigenvalues and eigenvectors but for any numeric types. (Symmetric only right now)