> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/function-blocks/blocks-reference/data-logic/mathmetical-operations/square-root.md).

# Square Root

A simple arithmetic function block that calculates the square root of a numeric value. Use this block when you need the positive root of a non-negative number inside your scenario.

## 📥 Inputs (sockets) <a href="#inputs" id="inputs"></a>

`Number` The numeric value to compute the square root of. Provide a non-negative value for valid results.

## 📤 Outputs (sockets) <a href="#outputs" id="outputs"></a>

`Number` The resulting square root value.

## 🕹️ Controls <a href="#controls" id="controls"></a>

This block has no interactive controls. It computes its output directly from the input socket.

## ⚙️ Running mechanism <a href="#running-mechanism" id="running-mechanism"></a>

When the block receives a numeric input, it produces the square root of that value at its output each evaluation cycle. If the input is missing or invalid for square root (for example, a negative number), the block will not produce a meaningful numeric result — include a check before feeding such values.

## ✨ Features <a href="#features" id="features"></a>

* Instant numeric operation suitable for live pipelines.
* Minimal UI footprint — designed to be combined with other math and logic blocks.
* Works seamlessly in arithmetic chains (e.g., combine with multiply or divide blocks).

## 📝 How to use <a href="#usage" id="usage"></a>

1. Provide a numeric value into the `Number` input socket (for example from a `Number Input` block or the output of another math block).
2. Read the result from the `Number` output socket.
3. If you expect negative inputs, validate first (see tips below).

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Feed values using `Number Input` for manual testing or parameter tuning.
* Validate input non-negativity with `Greater` before connecting to avoid invalid values.
* If you want to compute the square root of an absolute value, use `Absolute` before this block.
* Round results for display using `Round` if you need fewer decimals.
* Use `Multiply` or `Divide` before/after to scale values into the desired range.
* Visualize numeric trends with `Scope` or log values with `CSV Export` or `Data to JSON` for monitoring.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* If the output looks incorrect, ensure the input value is non-negative.
* If no value appears, confirm the input socket is connected (for example, from a `Number Input` or another math block).
* Use a simple pre-check chain (`Greater` → conditional flow) to prevent invalid inputs from reaching this block.
