LightGraphs offers both (a) a set of simple, concrete graph implementations -- Graph (for undirected graphs) and DiGraph (for directed graphs), and (b) an API for the development of more sophisticated graph implementations under the AbstractGraph type.
ReverseDiff.jl is a fast and compile-able tape-based reverse mode AD, that implements methods to take gradients, Jacobians, Hessians, and higher-order derivatives of native Julia functions (or any callable object, really).
The DualNumbers Julia package defines the Dual type to represent dual numbers, and supports standard mathematical operations on them. Conversions and promotions are defined to allow performing operations on combinations of dual numbers with predefined Julia numeric types.
LeapSeconds provides a functionality to return the difference between TAI and UTC or vice versa for a given date. For dates after 1972-01-01, this is the number of leap seconds.
CommonSolve.jl provides solve, init, solve!, and step! commands. By using the same definition, solver libraries from other completely different ecosystems can extend the functions and thus not clash with SciML if both ecosystems export the solve command.
When visualizing images, it is not uncommon to provide a 2D view of different image sources. For example, comparing multiple images of different sizes, getting a preview of machine learning dataset. This package aims to provide easy-to-use tools for such tasks.
TypedTables.jl provides two column-based storage containers: Table and FlexTable, both of which represent an array of NamedTuples. This package is designed to be lightweight, easy-to-use and fast, and presents a very minimal new interface to learn.
PaddedViews provides a simple wrapper type, PaddedView, to add "virtual" padding to any array without copying data. Edge values not specified by the array are assigned a fillvalue. Multiple arrays may be "promoted" to have common indices using the paddedviews function.
This holds the common solve, init, step!, and solve! commands. By using the same definition, solver libraries from other completely different ecosystems can extend the functions and thus not clash with SciML if both ecosystems export the solve command. The rules are that you must dispatch on one of your own types.
The Preferences package provides an integrated way for packages to store configuration switches to persistent TOML files, and use those pieces of information at both run time and compile time in Julia. This enables the user to modify the behavior of a package, and have that choice reflected in everything from run time algorithm choice to code generation at compile time.
This package implements handy macros @recipe and @series which will define a custom transformation and attach attributes for user types. Its design is an attempt to simplify and generalize the summary and display of types and data from external packages. With this package it is possible to describe visualization routines that can be used as components in more complex visualizations.
Hyperscript is a package for working with HTML, SVG, and CSS in Julia. When using this library you automatically get:
A concise DSL for writing HTML, SVG, and CSS.
Flexible ways to combine DOM pieces together into larger components.
Safe and automatic HTML-escaping.
Lightweight and optional support for scoped CSS.
Lightweight and optional support for CSS unit arithmetic.
This package provides the @muladd macro. It automatically converts expressions with multiplications and additions or subtractions to calls with muladd which then fuse via FMA when it would increase the performance of the code. The @muladd macro can be placed on code blocks and it will automatically find the appropriate expressions and nest muladd expressions when necessary. In mixed expressions summands without multiplication will be grouped together and evaluated first but otherwise the order of evaluation of multiplications and additions is not changed.
A block array is a partition of an array into blocks or subarrays. This package has two purposes. Firstly, it defines an interface for an AbstractBlockArray block arrays that can be shared among types representing different types of block arrays. The advantage to this is that it provides a consistent API for block arrays. Secondly, it also implements two different type of block arrays that follow the AbstractBlockArray interface. The type BlockArray stores each block contiguously while the type PseudoBlockArray stores the full matrix contiguously. This means that BlockArray supports fast non copying extraction and insertion of blocks while PseudoBlockArray supports fast access to the full matrix to use in in for example a linear solver.
This package provides a collection of colorschemes.
Documentation at https://melpa.org/#/ob-ess-julia
This package provides a wrapper for the libglvnd library.
This package provides a wrapper for the libiconv library.
This package provides a wrapper for the sundials library.
Advanced Unicode plotting library designed for use in Julia's REPL.
This package provides an interface to line search algorithms implemented in Julia.
This package contains the testset from Julia, packaged into a loadable module.
This package provides a wrapper for the libmount library from util-linux.
This package provides manually managed memory buffers backed by NTuples in Julia.