Quiver

Posted on  by 



Quiver is a set of utility libraries for Dart that makes using many Dartlibraries easier and more convenient, or adds additional functionality.

Documentation #

KRATARC Archery Multi-Function Back Arrow Quiver with Molle System Shoulder Arrows Holder Hanged Target Shooting Quiver for Arrows 4.7 out of 5 stars 950 $32.99 $ 32. The official website for Quiver Pen & Stylus Holders for notebooks and tablets. The world's number one selling pen holder & stylus holder is here!

API Docs are available.

Main Libraries #

Utilities for working with Futures, Streams and async computations.

collect collects the completion events of an Iterable of Futures into aStream.

enumerate and concat represent Stream versions of the same-namedquiver.iterables methods.

StreamBuffer allows for the orderly reading of elements from a stream, suchas a socket.

FutureStream turns a Future<Stream> into a Stream which emits the sameevents as the stream returned from the future.

StreamRouter splits a Stream into multiple streams based on a set ofpredicates.

CountdownTimer is a simple countdown timer that fires events in regularincrements.

Metronome is a self-correcting alternative to Timer.periodic. It providesa simple, tracking periodic stream of DateTime events with optional anchortime.

Quiver Definition

stringFromByteStream constructs a string from a stream of byte lists.

Cache is a semi-persistent, asynchronously accessed, mapping of keys tovalues. Caches are similar to Maps, except that the cache implementation mightstore values in a remote system, so all operations are asynchronous, and cachesmight have eviction policies.

MapCache is a Cache implementation backed by a Map.

checkArgument throws ArgumentError if the specified argument check expressionis false.

checkListIndex throws RangeError if the specified index is out of bounds.

checkState throws StateError if the specified state check expression isfalse.

listsEqual, mapsEqual and setsEqual check collections for equality.

indexOf finds the first index of an item satisfying a predicate.

LruMap is a map that removes the least recently used item when a thresholdlength is exceeded.

Multimap is an associative collection that maps keys to collections ofvalues.

BiMap is a bidirectional map and provides an inverse view, allowinglookup of key by value.

TreeSet is a balanced binary tree that offers a bidirectional iterator,the ability to iterate from an arbitrary anchor, and 'nearest' search.

Optional is a way to represent optional values without allowing null.

hashObjects, hash2, hash3, and hash4 generate high-quality hashCodes fora list of objects, or 2, 3, or 4 arguments respectively.

concat, count, cycle, enumerate, merge, partition, range, andzip create, transform, or combine Iterables in different ways, similar toPython's itertools.

min, max, and extent retrieve the minimum and maximum elements from aniterable.

GeneratingIterable is an easy way to create lazy iterables that produceelements by calling a function. A common use-case is to traverse properties inan object graph, like the parent relationship in a tree.

InfiniteIterable is a base class for Iterables that throws on operations thatrequire a finite length.

getTypeName returns the name of a Type instance.

implements and classImplements determine if an instance or ClassMirror,respectively, implement the interface represented by a Type instance. Theyimplement the behavior of is for mirrors, except for generics.

getMemberMirror searches though a ClassMirror and its class hierarchy fora member. This makes up for the fact that ClassMirror.members doesn'tcontain members from interfaces or superclasses.

Method wraps an InstanceMirror and Symbol to create a callable that invokesa method on the instance. It in effect closurizes a method reflectively.

pattern.dart container utilities for work with Patterns and RegExps.

Glob implements glob patterns that are commonly used with filesystem paths.

Quiver.us

matchesAny combines multiple Patterns into one, and allows for exclusions.

matchesFull returns true if a Pattern matches an entire String.

escapeRegex escapes special regex characters in a String so that it can beused as a literal match inside of a RegExp.

isBlank checks if a string is null, empty or made of whitespace characters.

isNotBlank checks if a string is not null, and not blank.

isEmpty checks if a string is null or empty.

isNotEmpty checks if a string is not null and not empty.

equalsIgnoreCase checks if two strings are equal, ignoring case.

compareIgnoreCase compares two strings, ignoring case.

loop allows you to loop through characters in a string starting and ending atarbitrary indices. Out of bounds indices allow you to wrap around the string,supporting a number of use-cases, including:

  • Rotating: loop('lohel', -3, 2) => 'hello'
  • Repeating, like String's operator*, but with better character-levelcontrol, e.g.: loop('la ', 0, 8) => 'la la la' // no trailing space
  • Tailing: loop('/path/to/some/file.txt', -3) => 'txt'
  • Reversing: loop('top', 3, 0) => 'pot'

Clock provides points in time relative to the current point in time, forexample: now, 2 days ago, 4 weeks from now, etc. For testability, use Clockrather than other ways of accessing time, like new DateTime(), so that youcan use a fake time function in your tests to control time.

Now is a typedef for functions that return the current time in microseconds,since Clock deals in DateTime which only have millisecond accuracy.

aMicrosecond, aMillisecond, aSecond, aMinute, anHour, aDay, andaWeek are unit duration constants to allow writing for example:

  • aDay vs. const Duration(days: 1)
  • aSecond * 30 vs. const Duration(seconds: 30)

Testing Libraries #

The Quiver testing libraries are intended to be used in testing code, notproduction code. It currently consists of fake implementations of some Quiverinterfaces.

FakeAsync enables testing of units which depend upon timers and microtasks.It supports fake advancements of time and the microtask queue, which cause faketimers and microtasks to be processed. A Clock is provided from which to readthe current fake time. Faking synchronous or blocking time advancement is alsosupported.

areEqualityGroups is a matcher that supports testing operator andhashCode implementations.

FakeStopwatch is a Stopwatch that uses a provided now() function to get thecurrent time.

In mathematics, a quiver is a directed graph where loops and multiple arrows between two vertices are allowed, i.e. a multidigraph. They are commonly used in representation theory: a representation V of a quiver assigns a vector spaceV(x) to each vertex x of the quiver and a linear mapV(a) to each arrow a.

In category theory, a quiver can be understood to be the underlying structure of a category, but without composition or a designation of identity morphisms. That is, there is a forgetful functor from Cat to Quiv. Its left adjoint is a free functor which, from a quiver, makes the corresponding free category.

Definition[edit]

A quiver Γ consists of:

  • The set V of vertices of Γ
  • The set E of edges of Γ
  • Two functions: s: EV giving the start or source of the edge, and another function, t: EV giving the target of the edge.

This definition is identical to that of a multidigraph.

A morphism of quivers is defined as follows. If Γ=(V,E,s,t){displaystyle Gamma =(V,E,s,t)} and Γ=(V,E,s,t){displaystyle Gamma '=(V',E',s',t')} are two quivers, then a morphism m=(mv,me){displaystyle m=(m_{v},m_{e})} of quivers consist of two functions mv:VV{displaystyle m_{v}:Vto V'} and me:EE{displaystyle m_{e}:Eto E'} such that following diagrams commute:

mvs=sme{displaystyle m_{v}circ s=s'circ m_{e}}

and

mvt=tme{displaystyle m_{v}circ t=t'circ m_{e}}

Category-theoretic definition[edit]

The above definition is based in set theory; the category-theoretic definition generalizes this into a functor from the free quiver to the category of sets.

The free quiver (also called the walking quiver, Kronecker quiver, 2-Kronecker quiver or Kronecker category) Q is a category with two objects, and four morphisms: The objects are V and E. The four morphisms are s: EV, t: EV, and the identity morphisms idV: VV and idE: EE. That is, the free quiver is

EstV{displaystyle E;{begin{matrix}s[-6pt]rightrightarrows [-4pt]tend{matrix}};V}

A quiver is then a functor Γ: QSet.

More generally, a quiver in a category C is a functor Γ: QC. The category Quiv(C) of quivers in C is the functor category where:

  • objects are functors Γ: QC,
  • morphisms are natural transformations between functors.

Note that Quiv is the category of presheaves on the opposite categoryQop.

Path algebra[edit]

If Γ is a quiver, then a path in Γ is a sequence of arrows anan−1 ... a3a2a1 such that the head of ai+1 is the tail of ai for i = 1, ..., n−1, using the convention of concatenating paths from right to left.

If K is a field then the quiver algebra or path algebraK Γ is defined as a vector space having all the paths (of length ≥ 0) in the quiver as basis (including, for each vertex i of the quiver Γ, a trivial pathei of length 0; these paths are not assumed to be equal for different i), and multiplication given by concatenation of paths. If two paths cannot be concatenated because the end vertex of the first is not equal to the starting vertex of the second, their product is defined to be zero. This defines an associative algebra over K. This algebra has a unit element if and only if the quiver has only finitely many vertices. In this case, the modules over K Γ are naturally identified with the representations of Γ. If the quiver has infinitely many vertices, then K Γ has an approximate identity given by eF:=vF1v{textstyle e_{F}:=sum _{vin F}1_{v}} where F ranges over finite subsets of the vertex set of Γ.

If the quiver has finitely many vertices and arrows, and the end vertex and starting vertex of any path are always distinct (i.e. Q has no oriented cycles), then K Γ is a finite-dimensionalhereditary algebra over K. Conversely, if K is algebraically closed, then any finite-dimensional, hereditary, associative algebra over K is Morita equivalent to the path algebra of its Ext quiver (i.e., they have equivalent module categories).

Representations of quivers[edit]

A representation of a quiver Q is an association of an R-module to each vertex of Q, and a morphism between each module for each arrow.

A representation V of a quiver Q is said to be trivial if V(x) = 0 for all vertices x in Q.

A morphism, f: VV, between representations of the quiver Q, is a collection of linear maps f(x) : V(x) → V′(x) such that for every arrow a in Q from x to yV′(a)f(x) = f(y)V(a), i.e. the squares that f forms with the arrows of V and V′ all commute. A morphism, f, is an isomorphism, if f(x) is invertible for all vertices x in the quiver. With these definitions the representations of a quiver form a category.

If V and W are representations of a quiver Q, then the direct sum of these representations, VW{displaystyle Voplus W}, is defined by (VW)(x)=V(x)W(x){displaystyle (Voplus W)(x)=V(x)oplus W(x)} for all vertices x in Q and (VW)(a){displaystyle (Voplus W)(a)} is the direct sum of the linear mappings V(a) and W(a).

A representation is said to be decomposable if it is isomorphic to the direct sum of non-zero representations.

Quivering

A categorical definition of a quiver representation can also be given. The quiver itself can be considered a category, where the vertices are objects and paths are morphisms. Then a representation of Q is just a covariant functor from this category to the category of finite dimensional vector spaces. Morphisms of representations of Q are precisely natural transformations between the corresponding functors.

For a finite quiver Γ (a quiver with finitely many vertices and edges), let KΓ be its path algebra. Let ei denote the trivial path at vertex i. Then we can associate to the vertex i the projectiveKΓ-module KΓei consisting of linear combinations of paths which have starting vertex i. This corresponds to the representation of Γ obtained by putting a copy of K at each vertex which lies on a path starting at i and 0 on each other vertex. To each edge joining two copies of K we associate the identity map.

Quiver with relations[edit]

To enforce commutativity of some squares inside a quiver a generalization is the notion of quivers with relations (also named bound quivers).A relation on a quiver Q is a K linear combination of paths from Q.A quiver with relation is a pair (Q, I) with Q a quiver and IKΓ{displaystyle Isubseteq KGamma } anideal of the path algebra. The quotient KΓ/ I is the path algebra of (Q, I).

Quiver Variety[edit]

Given the dimensions of the vector spaces assigned to every vertex, one can form a variety which characterizes all representations of that quiver with those specified dimensions, and consider stability conditions. These give quiver varieties, as constructed by King (1994).

Gabriel's theorem[edit]

A quiver is of finite type if it has only finitely many isomorphism classes of indecomposable representations. Gabriel (1972) classified all quivers of finite type, and also their indecomposable representations. More precisely, Gabriel's theorem states that:

  1. A (connected) quiver is of finite type if and only if its underlying graph (when the directions of the arrows are ignored) is one of the ADEDynkin diagrams: An, Dn, E6, E7, E8.
  2. The indecomposable representations are in a one-to-one correspondence with the positive roots of the root system of the Dynkin diagram.

Dlab & Ringel (1973) found a generalization of Gabriel's theorem in which all Dynkin diagrams of finite dimensional semisimple Lie algebras occur.

See also[edit]

  • Derived noncommutative algebraic geometry - Quivers help encode the data of derived noncommutative schemes

References[edit]

Lecture Notes[edit]

  • Crawley-Boevey, William, Lectures on Representations of Quivers(PDF), archived from the original on 2017-08-20CS1 maint: bot: original URL status unknown (link)

Research[edit]

Quiverfull Movement

Sources[edit]

Wikimedia Commons has media related to Quivers (graph theory).
  • Derksen, Harm; Weyman, Jerzy (February 2005), 'Quiver Representations'(PDF), Notices of the American Mathematical Society, 52 (2)
  • Dlab, Vlastimil; Ringel, Claus Michael (1973), On algebras of finite representation type, Carleton Mathematical Lecture Notes, 2, Department of Mathematics, Carleton Univ., Ottawa, Ont., MR0347907
  • Crawley-Boevey, William (1992), Notes on Quiver Representations(PDF), Oxford University
  • Gabriel, Peter (1972), 'Unzerlegbare Darstellungen. I', Manuscripta Mathematica, 6 (1): 71–103, doi:10.1007/BF01298413, ISSN0025-2611, MR0332887. Errata.
  • King, Alastair (1994), 'Moduli of representations of finite-dimensional algebras', Quart. J. Math., 45 (180): 515–530, doi:10.1093/qmath/45.4.515
  • Savage, Alistair (2006) [2005], 'Finite-dimensional algebras and quivers', in Francoise, J.-P.; Naber, G. L.; Tsou, S.T. (eds.), Encyclopedia of Mathematical Physics, 2, Elsevier, pp. 313–320, arXiv:math/0505082, Bibcode:2005math......5082S
  • Simson, Daniel; Skowronski, Andrzej; Assem, Ibrahim (2007), Elements of the Representation Theory of Associative Algebras, Cambridge University Press, ISBN978-0-521-88218-7
  • Bernšteĭn, I. N.; Gelʹfand, I. M.; Ponomarev, V. A., 'Coxeter functors, and Gabriel's theorem' (Russian), Uspekhi Mat. Nauk28 (1973), no. 2(170), 19–33. Translation on Bernstein's website.
  • Quiver in nLab

Quiverfull

Retrieved from 'https://en.wikipedia.org/w/index.php?title=Quiver_(mathematics)&oldid=1006371975'




Coments are closed