r/Mathematica

Woxi 0.3 - New version of the open-source Mathematica / Wolfram Language alternative

Woxi is a free open source interpreter for the Wolfram Language, written in Rust. The guiding rule of the project: whatever it implements must produce exactly the same output as wolframscript / Mathematica — the test suite (26'000+ unit tests) compares against it directly.

Version 0.3.0 is out now. Highlights since 0.2.0:

  • Many Wolfram Demonstrations now run end to end in Woxi Studio, the included native notebook editor for .nb files — still far from all of them, but dozens (Kepler's Second Law, Parabolic Mirror, Doyle Spirals, …) serve as end-to-end tests. Manipulate covers a good part of the Demonstrations control vocabulary (interactive Locators, Trigger, Button, SetterBar, PopupMenu, controls nested in TabView/Grid, dependent controls, TrackedSymbols, Animate bodies, …), and typeset notebook input is read back as code.
  • Plotting conformance: Automatic ticks now match Wolfram's algorithm, list plots grew Around error bars, Callout, Filling, PlotMarkers and friends, plus new ComplexListPlot and ListLinePlot3D.
  • CAS: more Integrate/D/Series/Limit coverage, LinearProgramming with an exact simplex solver, NonlinearModelFit, Reduce over higher-degree polynomial inequalities, RootReduce, and many canonical-ordering fixes so results print exactly as wolframscript prints them.
  • Windows is now a supported platform, and every release ships prebuilt binaries for Linux, macOS, and Windows.

Try it without installing anything in our playground and JupyterLite instance in the browser: https://woxi.ad-si.com

Install: cargo install woxi, pip install woxi (Python bindings), or npm install woxi-wasm. Full changelog: https://github.com/ad-si/Woxi/blob/main/changelog.md

If Woxi is useful to you, I'm now accepting donations on GitHub: https://github.com/sponsors/ad-si I hope to receive enough support to keep the project going for a long time, and to eventually reach full parity with Wolfram's implementation.

u/adwolesi — 12 days ago
▲ 1 r/Mathematica+1 crossposts

Square root series

Square root series

Hi! , i just derived a sequence that calculates square roots, but I don't know if it is already proven, found, named or anything as I can't find anything about it online,

The max i found was some babylonian approximation that was wildly inaccurate and just some approximations.

Can anyone help me verify if it is already found?

√n = a + sum_i=0_∞ (e_i)

a is the nearest smaller perfect square

e or the error terms help with accuracy

e_v = (n-(a+e_v-1)^2)/(2a+1)

Where i have derived that

e_0 =( n-a^2)/(2a+1)

And

From e_0 , i found that e_-1=0 ,

I have already tried it on many numbers and it has great approximations like 1-2 decimal places per error term

You can use it yourself and tell me if you found it useful and also tell me if it is already found or derived, so if not, i would publish the proofs

reddit.com
u/Few-Inspection-5443 — 11 days ago
▲ 14 r/Mathematica+1 crossposts

How to tune a guitar

Streaming audio is quite cumbersome in WL. It would be nice to have speakers and a mic as a part of Wolfram Device Framework. Unfortunately, there are only “Camera”, “SerialPort” available.

Jushua and me developed a small library on top of Device Framework and miniaudio.c

https://github.com/JerryI/AudioDriverWL

Now you can simply DeviceOpen[“Microphone”] and have an access to raw numeric array from OS ring buffer or Audio object if you wish. It supports all Wolfram platforms (Mathematica, wolframscript, WLJS). Binaries were prebuilt for Win and Mac only for the moment

Both: sync (poll device in a loop) and async buffer operations (use callback when data arrives) are supported

I tested it with built-in speakers, headphones mic as well as with iRig 2 HD. The latency for streaming (Mic-WL Handler-Speakers) on my Mac is around 60ms or less if you set lower sample rate. Which can still work as a horrible guitar pedal :D

u/Inst2f — 14 days ago