Versions in this module Expand all Collapse all v0 v0.0.6-ctx-cancel Aug 5, 2020 v0.0.1 Aug 16, 2019 Changes in this version + const CondNorm + const CondNormTrans + const ConditionTolerance + var ErrBandSet = Error + var ErrColAccess = Error + var ErrColLength = Error + var ErrDiagSet = Error + var ErrFailedEigen = Error + var ErrIllegalStride = Error + var ErrIndexOutOfRange = Error + var ErrNormOrder = Error + var ErrNotPSD = Error + var ErrPivot = Error + var ErrRowAccess = Error + var ErrRowLength = Error + var ErrShape = Error + var ErrSingular = Error + var ErrSliceLengthMismatch = Error + var ErrSquare = Error + var ErrTriangle = Error + var ErrTriangleSet = Error + var ErrVectorAccess = Error + var ErrZeroLength = Error + func CEqual(a, b CMatrix) bool + func CEqualApprox(a, b CMatrix, epsilon float64) bool + func Col(dst []float64, j int, a Matrix) []float64 + func Cond(a Matrix, norm float64) float64 + func Det(a Matrix) float64 + func Dot(a, b Vector) float64 + func Equal(a, b Matrix) bool + func EqualApprox(a, b Matrix, epsilon float64) bool + func Formatted(m Matrix, options ...FormatOption) fmt.Formatter + func Inner(x Vector, a Matrix, y Vector) float64 + func LogDet(a Matrix) (det float64, sign float64) + func Max(a Matrix) float64 + func Maybe(fn func()) (err error) + func MaybeComplex(fn func() complex128) (f complex128, err error) + func MaybeFloat(fn func() float64) (f float64, err error) + func Min(a Matrix) float64 + func Norm(a Matrix, norm float64) float64 + func Row(dst []float64, i int, a Matrix) []float64 + func Sum(a Matrix) float64 + func Trace(a Matrix) float64 + type BandDense struct + func NewBandDense(r, c, kl, ku int, data []float64) *BandDense + func NewDiagonalRect(r, c int, data []float64) *BandDense + func (b *BandDense) At(i, j int) float64 + func (b *BandDense) Bandwidth() (kl, ku int) + func (b *BandDense) DiagView() Diagonal + func (b *BandDense) Dims() (r, c int) + func (b *BandDense) DoColNonZero(j int, fn func(i, j int, v float64)) + func (b *BandDense) DoNonZero(fn func(i, j int, v float64)) + func (b *BandDense) DoRowNonZero(i int, fn func(i, j int, v float64)) + func (b *BandDense) RawBand() blas64.Band + func (b *BandDense) SetBand(i, j int, v float64) + func (b *BandDense) SetRawBand(mat blas64.Band) + func (b *BandDense) T() Matrix + func (b *BandDense) TBand() Banded + func (b *BandDense) Trace() float64 + func (b *BandDense) Zero() + type BandWidther interface + BandWidth func() (k1, k2 int) + type Banded interface + Bandwidth func() (kl, ku int) + TBand func() Banded + type CDense struct + func NewCDense(r, c int, data []complex128) *CDense + func (m *CDense) At(i, j int) complex128 + func (m *CDense) Copy(a CMatrix) (r, c int) + func (m *CDense) Dims() (r, c int) + func (m *CDense) H() CMatrix + func (m *CDense) IsZero() bool + func (m *CDense) RawCMatrix() cblas128.General + func (m *CDense) Reset() + func (m *CDense) Set(i, j int, v complex128) + func (m *CDense) Zero() + type CMatrix interface + At func(i, j int) complex128 + Dims func() (r, c int) + H func() CMatrix + type Cholesky struct + func (a *Cholesky) SolveCholTo(dst *Dense, b *Cholesky) error + func (c *Cholesky) At(i, j int) float64 + func (c *Cholesky) Clone(chol *Cholesky) + func (c *Cholesky) Cond() float64 + func (c *Cholesky) Det() float64 + func (c *Cholesky) ExtendVecSym(a *Cholesky, v Vector) (ok bool) + func (c *Cholesky) Factorize(a Symmetric) (ok bool) + func (c *Cholesky) InverseTo(s *SymDense) error + func (c *Cholesky) LTo(dst *TriDense) *TriDense + func (c *Cholesky) LogDet() float64 + func (c *Cholesky) RawU() Triangular + func (c *Cholesky) Reset() + func (c *Cholesky) Scale(f float64, orig *Cholesky) + func (c *Cholesky) SetFromU(t Triangular) + func (c *Cholesky) SolveTo(dst *Dense, b Matrix) error + func (c *Cholesky) SolveVecTo(dst *VecDense, b Vector) error + func (c *Cholesky) SymRankOne(orig *Cholesky, alpha float64, x Vector) (ok bool) + func (c *Cholesky) Symmetric() int + func (c *Cholesky) T() Matrix + func (c *Cholesky) ToSym(dst *SymDense) *SymDense + func (c *Cholesky) UTo(dst *TriDense) *TriDense + func (ch *Cholesky) Dims() (r, c int) + type ClonerFrom interface + CloneFrom func(a Matrix) + type ColNonZeroDoer interface + DoColNonZero func(j int, fn func(i, j int, v float64)) + type ColViewer interface + ColView func(j int) Vector + type Condition float64 + func (c Condition) Error() string + type Conjugate struct + CMatrix CMatrix + func (t Conjugate) At(i, j int) complex128 + func (t Conjugate) Dims() (r, c int) + func (t Conjugate) H() CMatrix + func (t Conjugate) Unconjugate() CMatrix + type Copier interface + Copy func(a Matrix) (r, c int) + type Dense struct + func DenseCopyOf(a Matrix) *Dense + func NewDense(r, c int, data []float64) *Dense + func (m *Dense) Add(a, b Matrix) + func (m *Dense) Apply(fn func(i, j int, v float64) float64, a Matrix) + func (m *Dense) At(i, j int) float64 + func (m *Dense) Augment(a, b Matrix) + func (m *Dense) Caps() (r, c int) + func (m *Dense) CloneFrom(a Matrix) + func (m *Dense) ColView(j int) Vector + func (m *Dense) Copy(a Matrix) (r, c int) + func (m *Dense) DiagView() Diagonal + func (m *Dense) Dims() (r, c int) + func (m *Dense) DivElem(a, b Matrix) + func (m *Dense) Exp(a Matrix) + func (m *Dense) Grow(r, c int) Matrix + func (m *Dense) Inverse(a Matrix) error + func (m *Dense) IsZero() bool + func (m *Dense) Mul(a, b Matrix) + func (m *Dense) MulElem(a, b Matrix) + func (m *Dense) Outer(alpha float64, x, y Vector) + func (m *Dense) Permutation(r int, swaps []int) + func (m *Dense) Pow(a Matrix, n int) + func (m *Dense) Product(factors ...Matrix) + func (m *Dense) RankOne(a Matrix, alpha float64, x, y Vector) + func (m *Dense) RawMatrix() blas64.General + func (m *Dense) RawRowView(i int) []float64 + func (m *Dense) Reset() + func (m *Dense) RowView(i int) Vector + func (m *Dense) Scale(f float64, a Matrix) + func (m *Dense) Set(i, j int, v float64) + func (m *Dense) SetCol(j int, src []float64) + func (m *Dense) SetRawMatrix(b blas64.General) + func (m *Dense) SetRow(i int, src []float64) + func (m *Dense) Slice(i, k, j, l int) Matrix + func (m *Dense) Solve(a, b Matrix) error + func (m *Dense) Stack(a, b Matrix) + func (m *Dense) Sub(a, b Matrix) + func (m *Dense) T() Matrix + func (m *Dense) Trace() float64 + func (m *Dense) UnmarshalBinary(data []byte) error + func (m *Dense) UnmarshalBinaryFrom(r io.Reader) (int, error) + func (m *Dense) Zero() + func (m Dense) MarshalBinary() ([]byte, error) + func (m Dense) MarshalBinaryTo(w io.Writer) (int, error) + type DiagDense struct + func NewDiagDense(n int, data []float64) *DiagDense + func (d *DiagDense) At(i, j int) float64 + func (d *DiagDense) Bandwidth() (kl, ku int) + func (d *DiagDense) Diag() int + func (d *DiagDense) DiagFrom(m Matrix) + func (d *DiagDense) DiagView() Diagonal + func (d *DiagDense) Dims() (r, c int) + func (d *DiagDense) IsZero() bool + func (d *DiagDense) RawBand() blas64.Band + func (d *DiagDense) RawSymBand() blas64.SymmetricBand + func (d *DiagDense) Reset() + func (d *DiagDense) SetDiag(i int, v float64) + func (d *DiagDense) SymBand() (n, k int) + func (d *DiagDense) Symmetric() int + func (d *DiagDense) T() Matrix + func (d *DiagDense) TBand() Banded + func (d *DiagDense) TTri() Triangular + func (d *DiagDense) TTriBand() TriBanded + func (d *DiagDense) Trace() float64 + func (d *DiagDense) TriBand() (n, k int, kind TriKind) + func (d *DiagDense) Triangle() (int, TriKind) + func (d *DiagDense) Zero() + type Diagonal interface + Bandwidth func() (kl, ku int) + Diag func() int + SymBand func() (n, k int) + Symmetric func() int + TBand func() Banded + TTri func() Triangular + TTriBand func() TriBanded + TriBand func() (n, k int, kind TriKind) + Triangle func() (int, TriKind) + type Eigen struct + func (e *Eigen) Factorize(a Matrix, kind EigenKind) (ok bool) + func (e *Eigen) Kind() EigenKind + func (e *Eigen) LeftVectorsTo(dst *CDense) *CDense + func (e *Eigen) Values(dst []complex128) []complex128 + func (e *Eigen) VectorsTo(dst *CDense) *CDense + type EigenKind int + const EigenBoth + const EigenLeft + const EigenNone + const EigenRight + type EigenSym struct + func (e *EigenSym) Factorize(a Symmetric, vectors bool) (ok bool) + func (e *EigenSym) Values(dst []float64) []float64 + func (e *EigenSym) VectorsTo(dst *Dense) *Dense + type Error struct + func (err Error) Error() string + type ErrorStack struct + Err error + StackTrace string + func (err ErrorStack) Error() string + type FormatOption func(*formatter) + func DotByte(b byte) FormatOption + func Excerpt(m int) FormatOption + func Prefix(p string) FormatOption + func Squeeze() FormatOption + type GSVD struct + func (gsvd *GSVD) Factorize(a, b Matrix, kind GSVDKind) (ok bool) + func (gsvd *GSVD) GeneralizedValues(v []float64) []float64 + func (gsvd *GSVD) Kind() GSVDKind + func (gsvd *GSVD) QTo(dst *Dense) *Dense + func (gsvd *GSVD) Rank() (k, l int) + func (gsvd *GSVD) SigmaATo(dst *Dense) *Dense + func (gsvd *GSVD) SigmaBTo(dst *Dense) *Dense + func (gsvd *GSVD) UTo(dst *Dense) *Dense + func (gsvd *GSVD) VTo(dst *Dense) *Dense + func (gsvd *GSVD) ValuesA(s []float64) []float64 + func (gsvd *GSVD) ValuesB(s []float64) []float64 + func (gsvd *GSVD) ZeroRTo(dst *Dense) *Dense + type GSVDKind int + const GSVDAll + const GSVDNone + const GSVDQ + const GSVDU + const GSVDV + type Grower interface + Caps func() (r, c int) + Grow func(r, c int) Matrix + type HOGSVD struct + func (gsvd *HOGSVD) Err() error + func (gsvd *HOGSVD) Factorize(m ...Matrix) (ok bool) + func (gsvd *HOGSVD) Len() int + func (gsvd *HOGSVD) UTo(dst *Dense, n int) *Dense + func (gsvd *HOGSVD) VTo(dst *Dense) *Dense + func (gsvd *HOGSVD) Values(s []float64, n int) []float64 + type LQ struct + func (lq *LQ) Cond() float64 + func (lq *LQ) Factorize(a Matrix) + func (lq *LQ) LTo(dst *Dense) *Dense + func (lq *LQ) QTo(dst *Dense) *Dense + func (lq *LQ) SolveTo(dst *Dense, trans bool, b Matrix) error + func (lq *LQ) SolveVecTo(dst *VecDense, trans bool, b Vector) error + type LU struct + func (lu *LU) Cond() float64 + func (lu *LU) Det() float64 + func (lu *LU) Factorize(a Matrix) + func (lu *LU) LTo(dst *TriDense) *TriDense + func (lu *LU) LogDet() (det float64, sign float64) + func (lu *LU) Pivot(swaps []int) []int + func (lu *LU) RankOne(orig *LU, alpha float64, x, y Vector) + func (lu *LU) Reset() + func (lu *LU) SolveTo(dst *Dense, trans bool, b Matrix) error + func (lu *LU) SolveVecTo(dst *VecDense, trans bool, b Vector) error + func (lu *LU) UTo(dst *TriDense) *TriDense + type Matrix interface + At func(i, j int) float64 + Dims func() (r, c int) + T func() Matrix + type Mutable interface + Set func(i, j int, v float64) + type MutableBanded interface + SetBand func(i, j int, v float64) + type MutableDiagonal interface + SetDiag func(i int, v float64) + type MutableSymBanded interface + SetSymBand func(i, j int, v float64) + type MutableSymmetric interface + SetSym func(i, j int, v float64) + type MutableTriBanded interface + SetTriBand func(i, j int, v float64) + type MutableTriangular interface + SetTri func(i, j int, v float64) + type NonZeroDoer interface + DoNonZero func(func(i, j int, v float64)) + type QR struct + func (qr *QR) Cond() float64 + func (qr *QR) Factorize(a Matrix) + func (qr *QR) QTo(dst *Dense) *Dense + func (qr *QR) RTo(dst *Dense) *Dense + func (qr *QR) SolveTo(dst *Dense, trans bool, b Matrix) error + func (qr *QR) SolveVecTo(dst *VecDense, trans bool, b Vector) error + type RawBander interface + RawBand func() blas64.Band + type RawCMatrixer interface + RawCMatrix func() cblas128.General + type RawColViewer interface + RawColView func(j int) []float64 + type RawMatrixSetter interface + SetRawMatrix func(a blas64.General) + type RawMatrixer interface + RawMatrix func() blas64.General + type RawRowViewer interface + RawRowView func(i int) []float64 + type RawSymBander interface + RawSymBand func() blas64.SymmetricBand + type RawSymmetricer interface + RawSymmetric func() blas64.Symmetric + type RawTriBander interface + RawTriBand func() blas64.TriangularBand + type RawTriangular interface + RawTriangular func() blas64.Triangular + type RawVectorer interface + RawVector func() blas64.Vector + type Reseter interface + Reset func() + type RowNonZeroDoer interface + DoRowNonZero func(i int, fn func(i, j int, v float64)) + type RowViewer interface + RowView func(i int) Vector + type SVD struct + func (svd *SVD) Cond() float64 + func (svd *SVD) Factorize(a Matrix, kind SVDKind) (ok bool) + func (svd *SVD) Kind() SVDKind + func (svd *SVD) UTo(dst *Dense) *Dense + func (svd *SVD) VTo(dst *Dense) *Dense + func (svd *SVD) Values(s []float64) []float64 + type SVDKind int + const SVDFull + const SVDFullU + const SVDFullV + const SVDNone + const SVDThin + const SVDThinU + const SVDThinV + type SymBandDense struct + func NewSymBandDense(n, k int, data []float64) *SymBandDense + func (s *SymBandDense) At(i, j int) float64 + func (s *SymBandDense) Bandwidth() (kl, ku int) + func (s *SymBandDense) DiagView() Diagonal + func (s *SymBandDense) Dims() (r, c int) + func (s *SymBandDense) DoColNonZero(j int, fn func(i, j int, v float64)) + func (s *SymBandDense) DoNonZero(fn func(i, j int, v float64)) + func (s *SymBandDense) DoRowNonZero(i int, fn func(i, j int, v float64)) + func (s *SymBandDense) RawSymBand() blas64.SymmetricBand + func (s *SymBandDense) SetRawSymBand(mat blas64.SymmetricBand) + func (s *SymBandDense) SetSymBand(i, j int, v float64) + func (s *SymBandDense) SymBand() (n, k int) + func (s *SymBandDense) Symmetric() int + func (s *SymBandDense) T() Matrix + func (s *SymBandDense) TBand() Banded + func (s *SymBandDense) Trace() float64 + func (s *SymBandDense) Zero() + type SymBanded interface + SymBand func() (n, k int) + Symmetric func() int + type SymDense struct + func NewSymDense(n int, data []float64) *SymDense + func (s *SymDense) AddSym(a, b Symmetric) + func (s *SymDense) At(i, j int) float64 + func (s *SymDense) Caps() (r, c int) + func (s *SymDense) CopySym(a Symmetric) int + func (s *SymDense) DiagView() Diagonal + func (s *SymDense) Dims() (r, c int) + func (s *SymDense) GrowSym(n int) Symmetric + func (s *SymDense) IsZero() bool + func (s *SymDense) PowPSD(a Symmetric, pow float64) error + func (s *SymDense) RankTwo(a Symmetric, alpha float64, x, y Vector) + func (s *SymDense) RawSymmetric() blas64.Symmetric + func (s *SymDense) Reset() + func (s *SymDense) ScaleSym(f float64, a Symmetric) + func (s *SymDense) SetRawSymmetric(mat blas64.Symmetric) + func (s *SymDense) SetSym(i, j int, v float64) + func (s *SymDense) SliceSym(i, k int) Symmetric + func (s *SymDense) SubsetSym(a Symmetric, set []int) + func (s *SymDense) SymOuterK(alpha float64, x Matrix) + func (s *SymDense) SymRankK(a Symmetric, alpha float64, x Matrix) + func (s *SymDense) SymRankOne(a Symmetric, alpha float64, x Vector) + func (s *SymDense) Symmetric() int + func (s *SymDense) T() Matrix + func (s *SymDense) Trace() float64 + func (s *SymDense) Zero() + type Symmetric interface + Symmetric func() int + type Tracer interface + Trace func() float64 + type Transpose struct + Matrix Matrix + func (t Transpose) At(i, j int) float64 + func (t Transpose) Dims() (r, c int) + func (t Transpose) T() Matrix + func (t Transpose) Untranspose() Matrix + type TransposeBand struct + Banded Banded + func (t TransposeBand) At(i, j int) float64 + func (t TransposeBand) Bandwidth() (kl, ku int) + func (t TransposeBand) Dims() (r, c int) + func (t TransposeBand) T() Matrix + func (t TransposeBand) TBand() Banded + func (t TransposeBand) Untranspose() Matrix + func (t TransposeBand) UntransposeBand() Banded + type TransposeTri struct + Triangular Triangular + func (t TransposeTri) At(i, j int) float64 + func (t TransposeTri) Dims() (r, c int) + func (t TransposeTri) T() Matrix + func (t TransposeTri) TTri() Triangular + func (t TransposeTri) Triangle() (int, TriKind) + func (t TransposeTri) Untranspose() Matrix + func (t TransposeTri) UntransposeTri() Triangular + type TransposeTriBand struct + TriBanded TriBanded + func (t TransposeTriBand) At(i, j int) float64 + func (t TransposeTriBand) Bandwidth() (kl, ku int) + func (t TransposeTriBand) Dims() (r, c int) + func (t TransposeTriBand) T() Matrix + func (t TransposeTriBand) TBand() Banded + func (t TransposeTriBand) TTri() Triangular + func (t TransposeTriBand) TTriBand() TriBanded + func (t TransposeTriBand) TriBand() (n, k int, kind TriKind) + func (t TransposeTriBand) Triangle() (int, TriKind) + func (t TransposeTriBand) Untranspose() Matrix + func (t TransposeTriBand) UntransposeBand() Banded + func (t TransposeTriBand) UntransposeTri() Triangular + func (t TransposeTriBand) UntransposeTriBand() TriBanded + type TransposeVec struct + Vector Vector + func (t TransposeVec) At(i, j int) float64 + func (t TransposeVec) AtVec(i int) float64 + func (t TransposeVec) Dims() (r, c int) + func (t TransposeVec) Len() int + func (t TransposeVec) T() Matrix + func (t TransposeVec) TVec() Vector + func (t TransposeVec) Untranspose() Matrix + func (t TransposeVec) UntransposeVec() Vector + type TriBandDense struct + func NewTriBandDense(n, k int, kind TriKind, data []float64) *TriBandDense + func (t *TriBandDense) At(i, j int) float64 + func (t *TriBandDense) Bandwidth() (kl, ku int) + func (t *TriBandDense) DiagView() Diagonal + func (t *TriBandDense) Dims() (r, c int) + func (t *TriBandDense) IsZero() bool + func (t *TriBandDense) RawTriBand() blas64.TriangularBand + func (t *TriBandDense) Reset() + func (t *TriBandDense) SetRawTriBand(mat blas64.TriangularBand) + func (t *TriBandDense) SetTriBand(i, j int, v float64) + func (t *TriBandDense) T() Matrix + func (t *TriBandDense) TBand() Banded + func (t *TriBandDense) TTri() Triangular + func (t *TriBandDense) TTriBand() TriBanded + func (t *TriBandDense) Trace() float64 + func (t *TriBandDense) TriBand() (n, k int, kind TriKind) + func (t *TriBandDense) Triangle() (n int, kind TriKind) + func (t *TriBandDense) Zero() + type TriBanded interface + TTri func() Triangular + TTriBand func() TriBanded + TriBand func() (n, k int, kind TriKind) + Triangle func() (n int, kind TriKind) + type TriDense struct + func NewTriDense(n int, kind TriKind, data []float64) *TriDense + func (t *TriDense) At(i, j int) float64 + func (t *TriDense) Copy(a Matrix) (r, c int) + func (t *TriDense) DiagView() Diagonal + func (t *TriDense) Dims() (r, c int) + func (t *TriDense) DoColNonZero(j int, fn func(i, j int, v float64)) + func (t *TriDense) DoNonZero(fn func(i, j int, v float64)) + func (t *TriDense) DoRowNonZero(i int, fn func(i, j int, v float64)) + func (t *TriDense) InverseTri(a Triangular) error + func (t *TriDense) IsZero() bool + func (t *TriDense) MulTri(a, b Triangular) + func (t *TriDense) RawTriangular() blas64.Triangular + func (t *TriDense) Reset() + func (t *TriDense) ScaleTri(f float64, a Triangular) + func (t *TriDense) SetRawTriangular(mat blas64.Triangular) + func (t *TriDense) SetTri(i, j int, v float64) + func (t *TriDense) T() Matrix + func (t *TriDense) TTri() Triangular + func (t *TriDense) Trace() float64 + func (t *TriDense) Triangle() (n int, kind TriKind) + func (t *TriDense) Zero() + type TriKind bool + const Lower + const Upper + type Triangular interface + TTri func() Triangular + Triangle func() (n int, kind TriKind) + type Unconjugator interface + Unconjugate func() CMatrix + type UntransposeBander interface + UntransposeBand func() Banded + type UntransposeTriBander interface + UntransposeTriBand func() TriBanded + type UntransposeTrier interface + UntransposeTri func() Triangular + type Untransposer interface + Untranspose func() Matrix + type VecDense struct + func NewVecDense(n int, data []float64) *VecDense + func VecDenseCopyOf(a Vector) *VecDense + func (v *VecDense) AddScaledVec(a Vector, alpha float64, b Vector) + func (v *VecDense) AddVec(a, b Vector) + func (v *VecDense) At(i, j int) float64 + func (v *VecDense) AtVec(i int) float64 + func (v *VecDense) Cap() int + func (v *VecDense) Caps() (r, c int) + func (v *VecDense) CloneVec(a Vector) + func (v *VecDense) ColViewOf(m RawMatrixer, j int) + func (v *VecDense) CopyVec(a Vector) int + func (v *VecDense) Dims() (r, c int) + func (v *VecDense) DivElemVec(a, b Vector) + func (v *VecDense) IsZero() bool + func (v *VecDense) Len() int + func (v *VecDense) MulElemVec(a, b Vector) + func (v *VecDense) MulVec(a Matrix, b Vector) + func (v *VecDense) RawVector() blas64.Vector + func (v *VecDense) Reset() + func (v *VecDense) RowViewOf(m RawMatrixer, i int) + func (v *VecDense) ScaleVec(alpha float64, a Vector) + func (v *VecDense) SetVec(i int, val float64) + func (v *VecDense) SliceVec(i, k int) Vector + func (v *VecDense) SolveVec(a Matrix, b Vector) error + func (v *VecDense) SubVec(a, b Vector) + func (v *VecDense) T() Matrix + func (v *VecDense) TVec() Vector + func (v *VecDense) UnmarshalBinary(data []byte) error + func (v *VecDense) UnmarshalBinaryFrom(r io.Reader) (int, error) + func (v *VecDense) Zero() + func (v VecDense) MarshalBinary() ([]byte, error) + func (v VecDense) MarshalBinaryTo(w io.Writer) (int, error) + type Vector interface + AtVec func(int) float64 + Len func() int