
{{alias}}( ord, uplo, N, α, AP, x, sx, β, y, sy )
    Performs the matrix-vector operation `y = α*A*x + β*y` where `α` and `β` are
    scalars, `x` and `y` are `N` element vectors, and `A` is an `N` by `N`
    symmetric matrix supplied in packed form.

    Indexing is relative to the first index. To introduce an offset, use typed
    array views.

    If `N` is equal to `0`, the function returns `y` unchanged.

    If `α` equals `0` and `β` equals `1`, the function returns `y` unchanged.

    Parameters
    ----------
    ord: string
        Row-major (C-style) or column-major (Fortran-style) order. Must be
        either 'row-major' or 'column-major'.

    uplo: string
        Specifies whether the upper or lower triangular matrix of `A` is
        supplied. Must be either 'upper' or 'lower'.

    N: integer
        Number of elements along each dimension of `A`.

    α: number
        Scalar constant.

    AP: Float64Array
        Matrix in packed form.

    x: Float64Array
        Input vector `x`.

    sx: integer
        Index increment for `x`.

    β: number
        Scalar constant.

    y: Float64Array
        Input/output vector `y`.

    sy: integer
        Index increment for `y`.

    Returns
    -------
    y: Float64Array
        Output array.

    Examples
    --------
    // Standard usage:
    > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
    > var y = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
    > var AP = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0 ] );
    > {{alias}}( 'row-major', 'upper', 2, 1.0, AP, x, 1, 1.0, y, 1 )
    <Float64Array>[ ~4.0, ~6.0 ]

    // Advanced indexing:
    > x = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
    > y = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
    > AP = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0 ] );
    > {{alias}}( 'row-major', 'upper', 2, 1.0, AP, x, -1, 1.0, y, -1 )
    <Float64Array>[ ~6.0, ~4.0 ]

    // Using typed array views:
    > var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
    > var y0 = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
    > AP = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0 ] );
    > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*0 );
    > var y1 = new {{alias:@stdlib/array/float64}}( y0.buffer, y0.BYTES_PER_ELEMENT*0 );
    > {{alias}}( 'row-major', 'upper', 2, 1.0, AP, x1, -1, 1.0, y1, -1 );
    > y0
    <Float64Array>[ ~6.0, ~4.0 ]


{{alias}}.ndarray( ord, uplo, N, α, AP, oa, x, sx, ox, β, y, sy, oy )
    Performs the matrix-vector operation `y = α*A*x + β*y` using alternative
    indexing semantics and where `α` and `β` are scalars, `x` and `y` are `N`
    element vectors, and `A` is an `N` by `N` symmetric matrix supplied in
    packed form.

    While typed array views mandate a view offset based on the underlying
    buffer, the offset parameters support indexing semantics based on starting
    indices.

    Parameters
    ----------
    ord: string
        Row-major (C-style) or column-major (Fortran-style) order. Must be
        either 'row-major' or 'column-major'.

    uplo: string
        Specifies whether the upper or lower triangular matrix of `A` is
        supplied. Must be either 'upper' or 'lower'.

    N: integer
        Number of elements along each dimension of `A`.

    α: number
        Scalar.

    AP: Float64Array
        Matrix in packed form.

    oa: integer
        Starting index for `AP`.

    x: Float64Array
        Input vector `x`.

    sx: integer
        Index increment for `x`.

    ox: integer
        Starting index for `x`.

    β: number
        Scalar.

    y: Float64Array
        Input/output vector `y`.

    sy: integer
        Index increment for `y`.

    oy: integer
        Starting index for `y`.

    Returns
    -------
    y: Float64Array
        Output array.

    Examples
    --------
    // Standard usage:
    > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
    > var y = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
    > var AP = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0 ] );
    > var ord = 'row-major';
    > var uplo = 'upper';
    > {{alias}}.ndarray( ord, uplo, 2, 1.0, AP, 0, x, 1, 0, 1.0, y, 1, 0 )
    <Float64Array>[ ~4.0, ~6.0 ]

    // Advanced indexing:
    > x = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
    > y = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
    > AP = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0 ] );
    > {{alias}}.ndarray( ord, uplo, 2, 1.0, AP, 0, x, -1, 1, 1.0, y, -1, 1 )
    <Float64Array>[ ~6.0, ~4.0 ]

    See Also
    --------
