numerics   592

« earlier    

some interesting job openings in Sydney listed here
programming  pls  plt  functional  ocaml-sml  formal-methods  rigor  compilers  types  numerics  accuracy  estimate  research-program  homepage  anglo  jobs  tech  cool 
august 2019 by nhaliday
Errors in Math Functions (The GNU C Library)
For C99, there are no specific requirements. But most implementations try to support Annex F: IEC 60559 floating-point arithmetic as good as possible. It says:

An implementation that defines __STDC_IEC_559__ shall conform to the specifications in this annex.


The sqrt functions in <math.h> provide the IEC 60559 square root operation.

IEC 60559 (equivalent to IEEE 754) says about basic operations like sqrt:

Except for binary <-> decimal conversion, each of the operations shall be performed as if it first produced an intermediate result correct to infinite precision and with unbounded range, and then coerced this intermediate result to fit in the destination's format.

The final step consists of rounding according to several rounding modes but the result must always be the closest representable value in the target precision.

[ed.: The list of other such correctly rounded functions is included in the IEEE-754 standard (which I've put w/ the C1x and C++2x standard drafts) under section 9.2, and it mainly consists of stuff that can be expressed in terms of exponentials (exp, log, trig functions, powers) along w/ sqrt/hypot functions.

Fun fact: this question was asked by Yeputons who has a codeforces profile.]
oss  libraries  systems  c(pp)  numerics  documentation  objektbuch  list  linux  unix  multi  q-n-a  stackex  programming  nitty-gritty  sci-comp  accuracy  types  approximation  IEEE  protocol-metadata  gnu 
july 2019 by nhaliday
Factorization of polynomials over finite fields - Wikipedia
In mathematics and computer algebra the factorization of a polynomial consists of decomposing it into a product of irreducible factors. This decomposition is theoretically possible and is unique for polynomials with coefficients in any field, but rather strong restrictions on the field of the coefficients are needed to allow the computation of the factorization by means of an algorithm. In practice, algorithms have been designed only for polynomials with coefficients in a finite field, in the field of rationals or in a finitely generated field extension of one of them.

All factorization algorithms, including the case of multivariate polynomials over the rational numbers, reduce the problem to this case; see polynomial factorization. It is also used for various applications of finite fields, such as coding theory (cyclic redundancy codes and BCH codes), cryptography (public key cryptography by the means of elliptic curves), and computational number theory.

As the reduction of the factorization of multivariate polynomials to that of univariate polynomials does not have any specificity in the case of coefficients in a finite field, only polynomials with one variable are considered in this article.


In the algorithms that follow, the complexities are expressed in terms of number of arithmetic operations in Fq, using classical algorithms for the arithmetic of polynomials.

[ed.: Interesting choice...]


Factoring algorithms
Many algorithms for factoring polynomials over finite fields include the following three stages:

Square-free factorization
Distinct-degree factorization
Equal-degree factorization
An important exception is Berlekamp's algorithm, which combines stages 2 and 3.

Berlekamp's algorithm
Main article: Berlekamp's algorithm
The Berlekamp's algorithm is historically important as being the first factorization algorithm, which works well in practice. However, it contains a loop on the elements of the ground field, which implies that it is practicable only over small finite fields. For a fixed ground field, its time complexity is polynomial, but, for general ground fields, the complexity is exponential in the size of the ground field.

[ed.: This actually looks fairly implementable.]
wiki  reference  concept  algorithms  calculation  nibble  numerics  math  algebra  math.CA  fields  polynomials  levers  multiplicative  math.NT 
july 2019 by nhaliday
Chaospy - Toolbox for performing uncertainty quantification.
A library to perform uncertainty quantification on data an experiments written in python
code  uncertainty-quantification  science  numerics  python 
june 2019 by gyger
c++ - Constexpr Math Functions - Stack Overflow
Actually, because of old and annoying legacy, almost none of the math functions can be constexpr, since they all have the side-effect of setting errno on various error conditions, usually domain errors.
Note, gcc has implemented most of the math function as constexpr although the extension is non-conforming this should change. So definitely doable. – Shafik Yaghmour Jan 12 '15 at 20:2
q-n-a  stackex  programming  pls  c(pp)  gotchas  legacy  numerics  state  resources-effects  gnu 
june 2019 by nhaliday

« earlier    

related tags

accretion  accuracy  additive  advanced  algebra  algorithms  analysis  anglo  apple  approximation  assembly  astronomy  baez  best-practices  better-explained  books  c++  c(pp)  caching  calculation  caltech  cas  chart  cheatsheet  checking  checklists  clojure  code  comparison  compilers  complexity  computer-memory  computer-science  computer-vision  computer_engineering  computing  concept  concurrency  confluence  cool  cost-benefit  crosstab  crypto  cs  csv  csv11  csvhash  csvrecord  cuda  data-science  data  dataviz  dbs  debugging  deep-learning  deeplearning  differential  direct-indirect  divide-and-conquer  dnn  documentation  dotnet  dsl  dynamical-systems  ebook  ecosystem  editors  electromag  error-handling  error  estimate  explanation  export  exposition  facebook  fields  floating_point  floatingpoint  fluid  flux-stasis  formal-methods  forth  fourier  frameworks  functional  games  gan  git  github  gnu  golang  gotchas  graphics  ground-up  guide  hacker-news-comments  hacker  hardware  haskell  hg  hmm  homepage  howto  ieee  ifttt  import  init  integers  interdisciplinary  interface-compatibility  interface  intricacy  java  javascript  jobs  json  jvm  latency-throughput  learn  legacy  levers  libraries  library  linear-algebra  linear-models  links  linux  lisp  list  llvm  machine-learning  machine_learning  machinelearning  math.ds  math.nt  math  mathematics  mathtariat  matrix  mechanics  metal-to-virtual  methodology  model-class  multi  multiplicative  n  networking  neuralnetworks  nibble  nitty-gritty  nlp  nn  nostalgia  numbers  numeric  numerical-computation  numerical-programming  numerology  numpy  nvidia  objektbuch  ocaml-sml  odes  oly-programming  oop  openmp  opensource  optimisation  org:edu  org:junk  os-x  os  oss  overflow  p:someday  p:whenever  pandas  papers  pdes  pdf  performance  person  physics  pinboard-fixup-github-titles  plots  pls  plt  polynomials  prng  pro-rata  probability  progamming  programming  projects  protocol-metadata  purescript  python  q-n-a  quantum  quixotic  r-lang  r  recommendations  reference  relativity  representation  research-program  resources-effects  rigor  roadmap  rounding  ruby  rust  scala  sci-comp  science  scientificcomputing  sequences  signal-processing  simulation  software  space  stackex  stat-mech  state  static-dynamic  statistics  stats  street-fighting  swift  syntax  systems  tab  tabular-data  tabular  tcs  tech  techtariat  terminal  thermo  tidbits  time  tools  top-n  track-record  tricks  tutorial  types  uncertainty-quantification  unit  unix  vcs  visual-understanding  visualization  wavelets  whole-partial-many  wiki  wikipedia  yak-shaving  yoga  🖥 

Copy this bookmark: