HomeCalculatorsMathVectorsVector Calculator
Math calculator

Vector Calculator

Calculate nine vector operations in 2D or 3D. Explore worked steps, numerical limits and verified results. Share inputs or export the complete calculation.

Instant result
Result
—

Enter values to calculate.

Inputs—
Mode—
Formula—
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes
Input interpretation
Enter values to calculate.
Result
—
Verified scope
all published modes
Assurance
Core
Declared partition coverage
PASS · 10/10 declared partitions (magnitude, normalize, add, sub, dot, cross, angle, projection, triple, invalid-domain) · Matrix
Known limitations
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
R²/R³ vector magnitude, normalize, add/sub, dot, cross, angle, projection, and scalar triple product. Eligible modes with every relevant z exactly zero get an xy-plane arrow figure; cross/triple and3D use textual results.
Scope
Euclidean R²/R³
Verification
Engine tested · Source checked · v1.8.0 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes· View Manifest · CVP overview · Specification
Versions
Calculation 1.8.0 · CVP protocol 1.0.0-proposed · Evidence 2026-10-29.math-uuce-fields-v1
Verification revision
2026-10-29.math-uuce-fields-v1 · 7/7 property · digest fcf6780d8c02
Legacy regression
11/11 tests · Production surface contract 6/6
Trust layers
Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
Reference
O1 model · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 2/2 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
Supplemental domain review
Not performed
Named expert review
Not performed
CVP suite
387/387 golden · 4/4 CVP boundary · 28/28 invalid · 7/7 property · 4/4 metamorphic · 6/6 cross-interface · 2/2 cross-calculator · 6/6 CVP contract · Manifest
Sources
Sources
Evidence
3 legacy golden · 2 legacy boundary · legacy regression suite · 387/387 oracle-backed golden · 28/28 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.8.0 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

Magnitude|u| = √(ux² + uy² + uz²)
Dotu · v = ux vx + uy vy + uz vz
Crossu × v
iAngle is the vector included angle, not the principal angle between two undirected lines. Matrices stay on /linear-system. Discovery pages lock one mode.

How to use

1

Choose an operation

Magnitude and normalize need u. Add, sub, dot, cross, angle, and projection also need v. Triple product needs w.

2

Read the scalar or the vector

(3, 4, 0) has length 5. i × j = k. i · (j × k) = 1.

Example calculations

Common configurations with formula and result.

ϟ

3-4 magnitude

u = (3, 4, 0)

√(9+16)
5
ϟ

Dot 1-2-3 · 4-5-6

u = (1, 2, 3), v = (4, 5, 6)

1·4 + 2·5 + 3·6
32
ϟ

i × j

u = (1, 0, 0), v = (0, 1, 0)

k
(0, 0, 1)

Vector calculator specification

Version 1.8.0 · Engine tested

Calculation status

Review policy · Evidence

Definition
A Euclidean vector u = (ux, uy, uz) has magnitude |u| = √(ux²+uy²+uz²). Dot is u·v, cross is u×v, the included angle is atan2(|u×v|, u·v) in [0°, 180°], and the scalar triple product is u·(v×w). uz defaults to 0. Not a matrix. Not coordinate geometry. Not CAS.
What it calculates
R²/R³ vector magnitude, normalize, add/sub, dot, cross, angle, projection, and scalar triple product. Eligible modes with every relevant z exactly zero get an xy-plane arrow figure; cross/triple and3D use textual results.
Inputs
  • mode
  • ux
  • uy
  • uz?
  • vx?
  • vy?
  • vz?
  • wx?
  • wy?
  • wz?
Outputs
  • magnitude
  • nx
  • ny
  • nz
  • rx
  • ry
  • rz
  • dot
  • cx
  • cy
  • cz
  • angle_deg
  • angle_rad
  • cosine
  • px
  • py
  • pz
  • scale
  • triple
Formula
|u| = √(ux² + uy² + uz²)
Assumptions
  • Euclidean R²/R³
  • Absent z defaults to 0; explicit empty/null is invalid
  • Not a matrix
  • Not coordinate geometry
  • Not CAS
Units
  • Consistent component units; magnitude, add/subtract and projection retain them; dot/cross square them; triple cubes them
  • Normalized components and projection scale are dimensionless; angle in degrees and radians; cosine dimensionless
Boundary conditions
  • missing ux or uy → MISSING_REQUIRED_INPUT
  • zero direction in normalize/angle, or zero projection target → INVALID_INPUT; zero projection source is valid
  • unknown mode → INVALID_MODE
Example
magnitude (3,4,0) → 5
Validation cases

3 published on this page · 11/11 tests · Production surface contract 6/6 · View evidence

  • mode=magnitude ux=3 uy=4 → magnitude=5
  • mode=dot ux=1 uy=2 uz=3 vx=4 vy=5 vz=6 → dot=32
  • mode=cross ux=1 uy=0 uz=0 vx=0 vy=1 vz=0 → cz=1
Sources
  • ISO 80000-2:2019 Quantities and units — Mathematics
    Supports: Mathematical symbols and notation. This standard is not numerical verification or an endorsement of this implementation.
  • CRC Standard Mathematical Tables — vector algebra in R³
    Supports: u·v, u×v, proj_v u, and the scalar triple product u·(v×w)
  • Gilbert Strang, Calculus — Chapter 11: Vectors and Matrices (MIT OpenCourseWare) — §§11.1–11.3 Vectors, Dot Products, Projections and Cross Products
    Supports: Vector components and magnitudes, dot product and angle/projection relations, and cross product/determinant orientation and area. Projecting a point displacement onto the unit normal to Ax+By+C=0 gives distance |Ax₀+By₀+C|/sqrt(A²+B²); this planar expression is derived from the projection formula. Mathematical reference only; not implementation validation or an endorsement of CalculatorX.
Calculation version
1.8.0

Background

Interpretation and common distinctions.

What does this vector calculator compute?

A Euclidean vector u = (ux, uy, uz) has magnitude |u| = √(ux²+uy²+uz²). Dot is u·v, cross is u×v, the included angle is atan2(|u×v|, u·v) in [0°, 180°], and the scalar triple product is u·(v×w). uz defaults to 0.

The published formula or method is |u| = √(ux² + uy² + uz²). The following references support the stated mathematics or method:

  • Gilbert Strang, Calculus — Chapter 11: Vectors and Matrices (MIT OpenCourseWare): Vector components and magnitudes, dot product and angle/projection relations, and cross product/determinant orientation and area. Projecting a point displacement onto the unit normal to Ax+By+C=0 gives distance |Ax₀+By₀+C|/sqrt(A²+B²); this planar expression is derived from the projection formula. Mathematical reference only; not implementation validation or an endorsement of CalculatorX.

Which inputs and limits should you check?

Follow the input domain, units, branch or solve direction, and rounding policy in the specification. Preserve exact outputs and any additional candidates or warnings.

The worked example uses u = (3, 4, 0) with √(9+16). Compare it with the Example calculations and the complete result for the same inputs.

How can you verify and cite this result?

CalculatorX is responsible for this page. The mathematical references above explain the model; implementation checks and their scope are documented separately in the math.vector v1.8.0 Evidence and capability contract. Read the displayed verification and production state together with the specification's numerical limits.

Use the clean calculator URL to cite the tool. A shared input link identifies a particular calculation. Content updates, numerical verification, and domain reviews have separate dates and scopes.

Numerical range, precision and figures

Inputs accept finite decimals, including scientific notation. Required x/y components cannot be empty. z defaults to zero only when absent from a request; an explicitly empty z is invalid. Nonzero inputs and every reported numeric field must be normal binary64 (magnitude at least 2⁻¹⁰²²). Overflow or a nonzero result below this range returns NUMERIC_RANGE; rescale the vectors. Decimal text which rounds to zero returns NUMERIC_UNDERFLOW instead of silently becoming zero.

Addition, subtraction, dot, cross and scalar triple products use exact dyadic intermediates followed by binary64 rounding. Projection uses exact intermediate ratios. Magnitude uses scaled hypot; normalization and the atan2 cross/dot angle are approximate. Results retain binary64 precision. Reference comparisons use relative tolerance 2×10⁻¹² (or 8 ULP), with absolute 2×10⁻¹⁰ degrees for ordinary angles and 2×10⁻¹³ for cosine. Cancellation can make relative component error sensitive; directions are undefined at zero and sensitive near zero. This is bounded vector arithmetic, not a general arbitrary-precision or symbolic system.

Units must be consistent across components: magnitude, sum, difference and projection retain component units; dot/cross products square them; the scalar triple product cubes them. Normalized components and projection scale are dimensionless. Angles include degrees, radians and cosine. Zero u can be projected onto nonzero v; normalizing zero, finding its direction angle, or projecting onto zero v is invalid.

Arrow figures show only the xy plane when every relevant z is exactly zero; cross/triple and 3D results use complete text and worked results. Arrows share a linear scale. Nonzero arrows smaller than a pixel receive a “below plot resolution” label instead of a false zero marker.

Interactive calculations run locally. Shared links contain the entered components and may be server-rendered. Exported JSON/CSV preserves the entered inputs, full numeric result and calculation version. Treat shared links and downloaded files as copies of your data.

Frequently asked questions

Key distinctions behind the calculation.

Is this a matrix calculator?

No. Det, inverse, eigen, and subspaces stay on /calc/math/linear-system.

Is the angle the same as angle-between-lines?

No. This is the included angle of two direction vectors in [0°, 180°]. The dedicated page is /calc/math/vector-angle. The principal angle between two undirected lines is /calc/math/angle-between-lines.

Where does this run?

Locally in the browser by default. REST and MCP call the same vector engine.