hermvander2d(x, y, deg)
Returns the pseudo-Vandermonde matrix of degrees :None:None:`deg`
and sample points :None:None:`(x, y)`
. The pseudo-Vandermonde matrix is defined by
where :None:None:`0 <= i <= deg[0]`
and :None:None:`0 <= j <= deg[1]`
. The leading indices of :None:None:`V`
index the points :None:None:`(x, y)`
and the last index encodes the degrees of the Hermite polynomials.
If V = hermvander2d(x, y, [xdeg, ydeg])
, then the columns of :None:None:`V`
correspond to the elements of a 2-D coefficient array :None:None:`c`
of shape (xdeg + 1, ydeg + 1) in the order
and np.dot(V, c.flat)
and hermval2d(x, y, c)
will be the same up to roundoff. This equivalence is useful both for least squares fitting and for the evaluation of a large number of 2-D Hermite series of the same degrees and sample points.
Arrays of point coordinates, all of the same shape. The dtypes will be converted to either float64 or complex128 depending on whether any of the elements are complex. Scalars are converted to 1-D arrays.
List of maximum degrees of the form [x_deg, y_deg].
The shape of the returned matrix is x.shape + (order,)
, where $order = (deg[0]+1)*(deg[1]+1)$
. The dtype will be the same as the converted x
and y
.
Pseudo-Vandermonde matrix of given degrees.
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them