optimize

package module
v0.1.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2024 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultReplicateSets added in v0.1.6

func DefaultReplicateSets() []int

func FuncPair

func FuncPair[T any](f func(T) float64, pairs iter.Iter[IOPair[T]]) *iter.Iterator[Pair]

func LimitedReplicateSets added in v0.1.7

func LimitedReplicateSets(max int) []int

func NewArgs

func NewArgs(nargs int) []float64

func NewLimits

func NewLimits(nlims int) [][]float64

func Rep added in v0.1.9

func Rep[T any](x T, n int) []T

func Zip added in v0.1.2

func Zip(s1 []float64, s2 []float64) (*iter.Iterator[Pair], error)

Types

type Func

type Func func(args ...float64) (float64, error)

func Neg

func Neg(f Func) Func

type GuessSet added in v0.1.9

type GuessSet struct {
	Guess      []float64
	GuessScore float64
}

type IOPair

type IOPair[T any] struct {
	In  T
	Out float64
}

type MSESummer

type MSESummer struct {
	Sum   float64
	Count float64
}

func NewMseSummer

func NewMseSummer() *MSESummer

func (*MSESummer) IterMSE

func (m *MSESummer) IterMSE(it iter.Iter[Pair]) (float64, error)

func (*MSESummer) MeanSquaredError

func (m *MSESummer) MeanSquaredError() float64

func (*MSESummer) Reset

func (m *MSESummer) Reset()

func (*MSESummer) Update

func (m *MSESummer) Update(y1, y2 float64)

type Optimizer

type Optimizer struct {
	OptimizerArgs
	// contains filtered or unexported fields
}

func NewOptimizer

func NewOptimizer(a OptimizerArgs) *Optimizer

func (*Optimizer) GuessN added in v0.1.9

func (o *Optimizer) GuessN(n int, mu *sync.Mutex) error

func (*Optimizer) GuessRound

func (o *Optimizer) GuessRound(mu *sync.Mutex) (continueLoop bool, err error)

func (*Optimizer) Handle

func (o *Optimizer) Handle(e error) ([]float64, int, error)

func (*Optimizer) LogArgsVerbose added in v0.1.8

func (o *Optimizer) LogArgsVerbose()

func (*Optimizer) LogVerbose added in v0.1.8

func (o *Optimizer) LogVerbose()

func (*Optimizer) Optimize

func (o *Optimizer) Optimize(mu *sync.Mutex) ([]float64, int, error)

func (*Optimizer) UpdateBest

func (o *Optimizer) UpdateBest() (continueLoop bool)

type OptimizerArgs

type OptimizerArgs struct {
	Rand          *rand.Rand
	Func          Func
	Nargs         int
	Start         []float64
	Limits        [][]float64
	Target        float64
	Steps         []float64
	Maxiter       int
	ReplicateSets []int
	Verbose       bool
}

func DefaultOptimizerArgs

func DefaultOptimizerArgs(f Func, nargs int) OptimizerArgs

type Pair

type Pair struct {
	Y1 float64
	Y2 float64
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL