This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)

FindIntegerNullVector

FindIntegerNullVector
finds a list of integers such that .
FindIntegerNullVector
finds a list of integers with such that .
  • Not all are zero. The numbers can be real or complex. For complex numbers the numbers are Gaussian integers.
  • In FindIntegerNullVector no integer null vector may exist with the given norm bound. The input is then returned unevaluated.
  • The following options can be given:
WorkingPrecisionAutomaticprecision to use in internal computation
ZeroTestAutomaticmethod to test whether a number is zero
  • The setting ZeroTest->Automatic automatically determines the method to test the integer relation .
  • For inexact numbers , the relation found holds up to the precision of the input. For exact numbers , the relation found is validated using PossibleZeroQ.
  • For exact numbers and WorkingPrecision->Automatic the precision is taken to start with MachinePrecision and use up to $MaxExtraPrecision extra precision when searching for an integer null vector when no norm bound d is specified. In the case of a norm bound d, enough precision is used to either find a null vector or prove that none exist.
Exact input:
Inexact input:
Exact input with norm bound:
There is no null vector with norm less than or equal to 2:
Exact input:
In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=
 
Inexact input:
In[1]:=
Click for copyable input
Out[1]=
 
Exact input with norm bound:
In[1]:=
Click for copyable input
Out[1]=
There is no null vector with norm less than or equal to 2:
In[2]:=
Click for copyable input
Out[2]=
This finds an integer null vector for a vector of exact real numbers:
This proves that there is no null vector with norm less than or equal to 8:
For a bound close to the norm of a null vector you may not get proof that no null vector exists:
The returned null vector does not satisfy the norm bound:
FindIntegerNullVector cannot prove that numbers are linearly independent over the integers:
It can prove that there is no integer null vector with norm less than or equal to a given bound:
For inexact input, the relation is true up to the precision of the input:
No null vector exists for the given norm bound:
Here no null vector is found, but nonexistence of a null vector is proven only for a smaller norm bound:
This finds a null vector for a 20-digit approximation of :
The result is not a null vector for the exact vector :
A null vector found for a higher-precision approximation of is also a null vector for :
This gives a Gaussian integer null vector for a vector of exact complex numbers:
This finds a Gaussian integer null vector for a vector of approximate complex numbers:
By default, precision of at most $MachinePrecision+$MaxExtraPrecision digits is used:
Using a higher WorkingPrecision allows you to find a null vector:
By default, PossibleZeroQ with Method is used to prove relations:
This uses exact methods to prove the relation:
This uses a high-precision numeric test instead:
Find coefficients of the minimal polynomial of an algebraic number:
This finds the minimal polynomial using symbolic methods:
Find a relation between transcendental numbers:
FindIntegerNullVector returns an integer null vector for the given vector:
An integer null vector is a nontrivial integer solution of a homogeneous linear equation:
Use FindInstance to find solutions of equations:
Find coefficients of the minimal polynomial of an algebraic number using its approximation:
Use RootApproximant to find an algebraic number using its approximation:
The precision of an approximation may not be sufficient to find a relation between numbers:
Using a higher-precision approximation, you get a true relation:
Numeric zero testing used for nonalgebraic numbers may allow results that are not null vectors:
This gives the precision used in zero testing when no symbolic zero-testing method applies:
With a higher zero-testing precision, FindIntegerNullVector correctly rejects the vector:
Reset the system option to the original value:
New in 8