Repository navigation
Modern Math Covariance
Paul Squires edited this page Oct 19, 2026
·
5 revisions
Home › Math Library › Math Library › Covariance
Returns the sample covariance of two arrays of the same length.
Covariance( byref x as Array( of T ), byref y as Array( of T ) ) as float64- Positive when they rise together, negative when one rises as the other falls, near zero when they are unrelated.
-
Its magnitude means nothing on its own -- it is in the product of the two units, so it changes if you measure in metres rather than feet.
Correlationis the normalised version. - The sample form, dividing by n-1.
- The arrays must be the same length.
#import "std/numeric"
#import "std/containers"
using numeric
using containers
dim as Array( of float64 ) x = { 1.0, 2.0, 3.0, 4.0, 5.0 }
dim as Array( of float64 ) y = { 2.0, 4.0, 6.0, 8.0, 10.0 }
print Covariance( x, y ) > 0 '' -1 (true) -- they rise together
'' The magnitude is in the product of the units, so scaling y scales it
dim as Array( of float64 ) z = { 20.0, 40.0, 60.0, 80.0, 100.0 }
print Covariance( x, z ) > Covariance( x, y ) '' -1 (true)
'' Correlation is the version that does not move
print abs( Correlation( x, y ) - Correlation( x, z ) ) < 1e-12 '' -1 (true) -- to within roundingLibrary: Math Library
Category: Math Library
Documented under: Members
tiko-lang · Home · Feature Index · Keyword Index · License
FreeBASIC manual pages reproduced under the GNU FDL 1.3.
- Generics
- Interfaces
- For Each
- Iterators
- Tuples
- Array Results
- Defer
- Lambdas
- Block Strings
- Partial Types
- String Slices
- Embed
- Typed Variadics
- C Header Import
- Foreign Library Linking
- UString
- Fixed-Width Types
- Nullptr
- String Library
- Format
- Array
- Map
- Set
- LinkedList
- OrderedMap
- OrderedSet
- Sorting
- Optional
- Result
- Smart Pointers
- Date and Time (Chrono)
- Filesystem
- File Streams
- Config (INI and TOML)
- Codec
- Hash
- UUID
- OS
- Process
- Net
- HTTP and TLS
- Math Library
- Finance
- Logging
- Terminal TUI Library
- PsControls
- tkControls
- sys/win
- Goroutines and Channels
- LLVM Backend
- tiko build
- TIKO_COMPILER
- Variable Declarations
- Standard Data Types
- User Defined Types
- Procedures
- Operators
- Control Flow Statements
- Converting Data Types
- Array Functions
- String Functions
- Mathematical Functions
- Bit Manipulation
- Date and Time Functions
- File I/O Functions
- Console Functions
- User Input (Runtime Library)
- User Input Functions (Graphics Library)
- Screen Functions
- 2D Drawing Functions
- Graphics Library Reference
- Graphics Keyword List
- Memory Functions
- Threading Support Functions
- Error Handling Functions
- Operating System Functions
- Preprocessor
- Intrinsic Defines
- Miscellaneous Keywords
- Modularizing