AbstractPolynomial

class kgpy.function.AbstractPolynomial(input)

Bases: AbstractArray

Parameters:

input (InputT) –

__init__(input)
Parameters:

input (InputT) –

Return type:

None

Attributes

coefficients

input_broadcasted

inverse

mask

output

shape

input

Methods

__init__(input)

copy()

rtype:

typing.TypeVar(CopyableT, bound= Copyable)

copy_shallow()

rtype:

typing.TypeVar(CopyableT, bound= Copyable)

design_matrix(inp)

rtype:

kgpy.vectors.CartesianND

from_pickle([path])

pcolormesh(axs, input_component_x, ...[, ...])

Plot this function using matplotlib.pyplot.pcolormesh.

to_pickle(path)

Inheritance Diagram

digraph inheritance24898437e9 { bgcolor=transparent; rankdir=TB; size="8.0, 12.0"; "abc.ABC" [URL="https://docs.python.org/3/library/abc.html#abc.ABC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Helper class that provides a standard way to create an ABC using"]; "kgpy.function.AbstractArray" [URL="kgpy.function.AbstractArray.html#kgpy.function.AbstractArray",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="AbstractArray(input: ~InputT)"]; "kgpy.mixin.Pickleable" -> "kgpy.function.AbstractArray" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Copyable" -> "kgpy.function.AbstractArray" [arrowsize=0.5,style="setlinewidth(0.5)"]; "abc.ABC" -> "kgpy.function.AbstractArray" [arrowsize=0.5,style="setlinewidth(0.5)"]; "typing.Generic" -> "kgpy.function.AbstractArray" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.function.AbstractPolynomial" [URL="kgpy.function.AbstractPolynomial.html#kgpy.function.AbstractPolynomial",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="AbstractPolynomial(input: ~InputT)"]; "kgpy.function.AbstractArray" -> "kgpy.function.AbstractPolynomial" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Copyable" [URL="kgpy.mixin.Copyable.html#kgpy.mixin.Copyable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "abc.ABC" -> "kgpy.mixin.Copyable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Pickleable" [URL="kgpy.mixin.Pickleable.html#kgpy.mixin.Pickleable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Class for adding 'to_pickle' and 'from_pickle' methods for objects with long creation times."]; "abc.ABC" -> "kgpy.mixin.Pickleable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "typing.Generic" [URL="https://docs.python.org/3/library/typing.html#typing.Generic",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract base class for generic types."]; }
copy()
Return type:

typing.TypeVar(CopyableT, bound= Copyable)

Parameters:

self (CopyableT) –

copy_shallow()
Return type:

typing.TypeVar(CopyableT, bound= Copyable)

Parameters:

self (CopyableT) –

design_matrix(inp)
Return type:

kgpy.vectors.CartesianND

Parameters:
  • self (PolynomialArrayT) –

  • inp (InputT) –

classmethod from_pickle(path=None)
Parameters:

path (Path | None) –

pcolormesh(axs, input_component_x, input_component_y, input_component_row=None, input_component_column=None, output_component_color=None, index=None, **kwargs)

Plot this function using matplotlib.pyplot.pcolormesh.

Examples

import numpy as np
import matplotlib.pyplot as plt
import astropy.units as u
import kgpy.labeled
import kgpy.vectors
import kgpy.matrix
import kgpy.function

a = kgpy.labeled.LinearSpace(0 * u.rad, np.pi * u.rad, num=2, axis='a')
b = kgpy.labeled.LinearSpace(0 * u.rad, np.pi * u.rad, num=2, axis='b')
x = kgpy.labeled.LinearSpace(0 * u.rad, 2 * np.pi * u.rad, num=11, axis='x')
y = kgpy.labeled.LinearSpace(0 * u.rad, 1 * np.pi * u.rad, num=11, axis='y')

x2 = 2 * x + y / 4
y2 = x / 5 + y

inputs = kgpy.vectors.CartesianND(dict(
    a=a,
    b=b,
    x=x2,
    y=y2,
))

f = kgpy.function.Array(
    input=inputs,
    output=np.cos(a) * np.cos(b) * np.cos(x2) * np.cos(y2),
)

fig, axs = plt.subplots(
    nrows=a.num,
    ncols=b.num,
    sharex=True,
    sharey=True,
    squeeze=False,
    figsize=(12, 12),
    constrained_layout=True,
)

f.pcolormesh(
    axs=axs,
    input_component_x='x',
    input_component_y='y',
    input_component_row='a',
    input_component_column='b',
)
../_images/kgpy.function.AbstractPolynomial_0_0.png
Parameters:
to_pickle(path)
Parameters:

path (Path | None) –

abstract property coefficients: AbstractVector
input: typing.TypeVar(InputT, bound= typing.Union[int, float, numpy.ndarray, astropy.units.quantity.Quantity, kgpy.labeled.AbstractArray, kgpy.uncertainty.AbstractArray, VectorInterface])
property input_broadcasted: InputT
property inverse: ArrayT
abstract property mask: int | float | ndarray | Quantity | AbstractArray | AbstractArray
abstract property output: OutputT
property shape: Dict[str, int]