Python: computational accuracy when calculating kernel of the matrix
The problem is as follows:
I have an equation: A*x = 0, where A is matrix 8x8, x is vector with 8 elements, and 0 means zero vector. Elements of matrix A contain a parameter E whose values for which the equation is solvable I have to find - and I already did it by using the condition: det(A)=0. And there is the source of my problem - det(A) for found values E is not exactly 0.0 but something very, very near 0.0, for example 9.5e-12. I interpret it as a numerical issue, but I may be wrong?
Next step is to find x. My concept was to find the kernel of the matrix A, but there my problem with non zero det(A) returns, because I do not have E for which my equation can be solved. Is it any way to force Python to operate with approximate values?
Summarizing: I need to find method to determine kernel when A*x is not exactly 0.0 but value is very, very near 0.0.
Edit:
Value of matrix:
[[6.60489454233399, -0.000899873003155720, -1111.26791946547, 0, 0, 0, 0, 0], [8.46748025849121e-8 + 2.5809235665861e-7*I, -9.08063389853990e-10, 0.00112138236223004, 0, 0, 0, 0, 0],
[0, 0.635021913463456, 1.57474880598360, -1.95244188971305, -0.512179135916290, 0, 0, 0],
[0, 6.40801701294518e-7, -1.58908171921515e-6, 2.90298102267184e-6, -7.61531659204450e-7, 0, 0, 0],
[0, 0, 0, 0.512179135916290, 1.95244188971305, -1.57474880598360, -0.635021913463456, 0],
[0, 0, 0, -7.61531659204450e-7, 2.90298102267184e-6, -1.58908171921515e-6, 6.40801701294518e-7, 0],
[0, 0, 0, 0, 0, 784198.968204183, 1.27518657961257e-6, -38.6053002011412],
[0, 0, 0, 0, 0, 0.791336522920740, -1.28679296313874e-12, -1.04862603277821e-5]])
And the code example:
from scipy import *
from numpy.linalg import *
from sympy import *
import sys
import numpy
import cmath
import math
a2= 65e5 #Ae-5
a3= 9e5 #Ae-5
a4= 130e5 #Ae-5
l = -a2-a3/2.0
t = -a3/2.0
f = a3/2.0
g = a4+a3/2.0
print 'Defined thickness'
V1= 0.74015 #eV fabs
V2= 1.1184 #eV fabs
V3= 0.74015 #eV fabs
m= 0.11*0.511e6/(2.99792458e+23)**2 #eV*s**2/A**2
hkr= 6.582119514e-16 #eV*s
x= 0.765705051154
print 'other symbols'
k1=(cmath.sqrt(2.0*(V1-x)*m))/hkr
k2=(cmath.sqrt(2.0*(V2-x)*m))/hkr
k3=(cmath.sqrt(-2.0*x*m))/hkr
k4=(cmath.sqrt(2.0*(V2-x)*m))/hkr
k5=(cmath.sqrt(2.0*(V3-x)*m))/hkr
print 'k-vectors'
a11 = cmath.exp(1.0j*k1*l)
a12 = -1.0*cmath.exp(k2*l)
a13 = -1.0*cmath.exp(-k2*l)
print '1st row'
a21 = 1.0j*k1*cmath.exp(k1*l)
a22 = -k2*cmath.exp(k2*l)
a23 = k2*cmath.exp(-k2*l)
print '2nd row'
a32 = cmath.exp(k2*t)
a33 = cmath.exp(-k2*t)
a34 = -1.0*cmath.exp(1.0j*k3*t)
a35 = -1.0*cmath.exp(-1.0j*k3*t)
print '3rd row'
a42 = k2*cmath.exp(k2*t)
a43 = -k2*cmath.exp(-k2*t)
a44 = -1.0j*k3*cmath.exp(1.0j*k3*t)
a45 = 1.0j*k3*cmath.exp(-1.0j*k3*t)
print '4th row'
a54 = cmath.exp(1.0j*k3*f)
a55 = cmath.exp(-1.0j*k3*f)
a56 = -1.0*cmath.exp(k4*f)
a57 = -1.0*cmath.exp(-k4*f)
print '5th row'
a64 = 1.0j*k3*cmath.exp(1.0j*k3*f)
a65 = -1.0j*k3*cmath.exp(-1.0j*k3*f)
a66 = -k4*cmath.exp(k4*f)
a67 = k4*cmath.exp(-k4*f)
print '6th row'
a76 = cmath.exp(k4*g)
a77 = cmath.exp(-k4*g)
a78 = -1.0*cmath.exp(-1.0j*k5*g)
print '7th row'
a86 = k4*cmath.exp(k4*g)
a87 = -k4*cmath.exp(-k4*g)
a88 = 1.0j*k5*cmath.exp(-1.0j*k5*g)
print '8th row'
M = Matrix([[a11,a12,a13,0,0,0,0,0],
[a21,a22,a23,0,0,0,0,0],
[0,a32,a33,a34,a35,0,0,0],
[0,a42,a43,a44,a45,0,0,0],
[0,0,0,a54,a55,a56,a57,0],
[0,0,0,a64,a65,a66,a67,0],
[0,0,0,0,0,a76,a77,a78],
[0,0,0,0,0,a86,a87,a88]])
v=M.nullspace()
m=lcm([val.q for val in v])
PSI=m*v
print M
print PSI
python kernel approximation
add a comment |
The problem is as follows:
I have an equation: A*x = 0, where A is matrix 8x8, x is vector with 8 elements, and 0 means zero vector. Elements of matrix A contain a parameter E whose values for which the equation is solvable I have to find - and I already did it by using the condition: det(A)=0. And there is the source of my problem - det(A) for found values E is not exactly 0.0 but something very, very near 0.0, for example 9.5e-12. I interpret it as a numerical issue, but I may be wrong?
Next step is to find x. My concept was to find the kernel of the matrix A, but there my problem with non zero det(A) returns, because I do not have E for which my equation can be solved. Is it any way to force Python to operate with approximate values?
Summarizing: I need to find method to determine kernel when A*x is not exactly 0.0 but value is very, very near 0.0.
Edit:
Value of matrix:
[[6.60489454233399, -0.000899873003155720, -1111.26791946547, 0, 0, 0, 0, 0], [8.46748025849121e-8 + 2.5809235665861e-7*I, -9.08063389853990e-10, 0.00112138236223004, 0, 0, 0, 0, 0],
[0, 0.635021913463456, 1.57474880598360, -1.95244188971305, -0.512179135916290, 0, 0, 0],
[0, 6.40801701294518e-7, -1.58908171921515e-6, 2.90298102267184e-6, -7.61531659204450e-7, 0, 0, 0],
[0, 0, 0, 0.512179135916290, 1.95244188971305, -1.57474880598360, -0.635021913463456, 0],
[0, 0, 0, -7.61531659204450e-7, 2.90298102267184e-6, -1.58908171921515e-6, 6.40801701294518e-7, 0],
[0, 0, 0, 0, 0, 784198.968204183, 1.27518657961257e-6, -38.6053002011412],
[0, 0, 0, 0, 0, 0.791336522920740, -1.28679296313874e-12, -1.04862603277821e-5]])
And the code example:
from scipy import *
from numpy.linalg import *
from sympy import *
import sys
import numpy
import cmath
import math
a2= 65e5 #Ae-5
a3= 9e5 #Ae-5
a4= 130e5 #Ae-5
l = -a2-a3/2.0
t = -a3/2.0
f = a3/2.0
g = a4+a3/2.0
print 'Defined thickness'
V1= 0.74015 #eV fabs
V2= 1.1184 #eV fabs
V3= 0.74015 #eV fabs
m= 0.11*0.511e6/(2.99792458e+23)**2 #eV*s**2/A**2
hkr= 6.582119514e-16 #eV*s
x= 0.765705051154
print 'other symbols'
k1=(cmath.sqrt(2.0*(V1-x)*m))/hkr
k2=(cmath.sqrt(2.0*(V2-x)*m))/hkr
k3=(cmath.sqrt(-2.0*x*m))/hkr
k4=(cmath.sqrt(2.0*(V2-x)*m))/hkr
k5=(cmath.sqrt(2.0*(V3-x)*m))/hkr
print 'k-vectors'
a11 = cmath.exp(1.0j*k1*l)
a12 = -1.0*cmath.exp(k2*l)
a13 = -1.0*cmath.exp(-k2*l)
print '1st row'
a21 = 1.0j*k1*cmath.exp(k1*l)
a22 = -k2*cmath.exp(k2*l)
a23 = k2*cmath.exp(-k2*l)
print '2nd row'
a32 = cmath.exp(k2*t)
a33 = cmath.exp(-k2*t)
a34 = -1.0*cmath.exp(1.0j*k3*t)
a35 = -1.0*cmath.exp(-1.0j*k3*t)
print '3rd row'
a42 = k2*cmath.exp(k2*t)
a43 = -k2*cmath.exp(-k2*t)
a44 = -1.0j*k3*cmath.exp(1.0j*k3*t)
a45 = 1.0j*k3*cmath.exp(-1.0j*k3*t)
print '4th row'
a54 = cmath.exp(1.0j*k3*f)
a55 = cmath.exp(-1.0j*k3*f)
a56 = -1.0*cmath.exp(k4*f)
a57 = -1.0*cmath.exp(-k4*f)
print '5th row'
a64 = 1.0j*k3*cmath.exp(1.0j*k3*f)
a65 = -1.0j*k3*cmath.exp(-1.0j*k3*f)
a66 = -k4*cmath.exp(k4*f)
a67 = k4*cmath.exp(-k4*f)
print '6th row'
a76 = cmath.exp(k4*g)
a77 = cmath.exp(-k4*g)
a78 = -1.0*cmath.exp(-1.0j*k5*g)
print '7th row'
a86 = k4*cmath.exp(k4*g)
a87 = -k4*cmath.exp(-k4*g)
a88 = 1.0j*k5*cmath.exp(-1.0j*k5*g)
print '8th row'
M = Matrix([[a11,a12,a13,0,0,0,0,0],
[a21,a22,a23,0,0,0,0,0],
[0,a32,a33,a34,a35,0,0,0],
[0,a42,a43,a44,a45,0,0,0],
[0,0,0,a54,a55,a56,a57,0],
[0,0,0,a64,a65,a66,a67,0],
[0,0,0,0,0,a76,a77,a78],
[0,0,0,0,0,a86,a87,a88]])
v=M.nullspace()
m=lcm([val.q for val in v])
PSI=m*v
print M
print PSI
python kernel approximation
Could you post the value of your matrix A and a code example of what you have done so far?
– MarAja
Nov 19 '18 at 14:17
Have you checkedmath.isclose(0., det(A))
?
– bene
Nov 19 '18 at 14:30
@MarAja done, in edited post.
– user3419643
Nov 20 '18 at 10:33
@bene - no, I suppose it won't help, coz the problem is, that because of a little bit of numerical problems I don't have "right" matrix during calculation of kernel.
– user3419643
Nov 20 '18 at 10:33
add a comment |
The problem is as follows:
I have an equation: A*x = 0, where A is matrix 8x8, x is vector with 8 elements, and 0 means zero vector. Elements of matrix A contain a parameter E whose values for which the equation is solvable I have to find - and I already did it by using the condition: det(A)=0. And there is the source of my problem - det(A) for found values E is not exactly 0.0 but something very, very near 0.0, for example 9.5e-12. I interpret it as a numerical issue, but I may be wrong?
Next step is to find x. My concept was to find the kernel of the matrix A, but there my problem with non zero det(A) returns, because I do not have E for which my equation can be solved. Is it any way to force Python to operate with approximate values?
Summarizing: I need to find method to determine kernel when A*x is not exactly 0.0 but value is very, very near 0.0.
Edit:
Value of matrix:
[[6.60489454233399, -0.000899873003155720, -1111.26791946547, 0, 0, 0, 0, 0], [8.46748025849121e-8 + 2.5809235665861e-7*I, -9.08063389853990e-10, 0.00112138236223004, 0, 0, 0, 0, 0],
[0, 0.635021913463456, 1.57474880598360, -1.95244188971305, -0.512179135916290, 0, 0, 0],
[0, 6.40801701294518e-7, -1.58908171921515e-6, 2.90298102267184e-6, -7.61531659204450e-7, 0, 0, 0],
[0, 0, 0, 0.512179135916290, 1.95244188971305, -1.57474880598360, -0.635021913463456, 0],
[0, 0, 0, -7.61531659204450e-7, 2.90298102267184e-6, -1.58908171921515e-6, 6.40801701294518e-7, 0],
[0, 0, 0, 0, 0, 784198.968204183, 1.27518657961257e-6, -38.6053002011412],
[0, 0, 0, 0, 0, 0.791336522920740, -1.28679296313874e-12, -1.04862603277821e-5]])
And the code example:
from scipy import *
from numpy.linalg import *
from sympy import *
import sys
import numpy
import cmath
import math
a2= 65e5 #Ae-5
a3= 9e5 #Ae-5
a4= 130e5 #Ae-5
l = -a2-a3/2.0
t = -a3/2.0
f = a3/2.0
g = a4+a3/2.0
print 'Defined thickness'
V1= 0.74015 #eV fabs
V2= 1.1184 #eV fabs
V3= 0.74015 #eV fabs
m= 0.11*0.511e6/(2.99792458e+23)**2 #eV*s**2/A**2
hkr= 6.582119514e-16 #eV*s
x= 0.765705051154
print 'other symbols'
k1=(cmath.sqrt(2.0*(V1-x)*m))/hkr
k2=(cmath.sqrt(2.0*(V2-x)*m))/hkr
k3=(cmath.sqrt(-2.0*x*m))/hkr
k4=(cmath.sqrt(2.0*(V2-x)*m))/hkr
k5=(cmath.sqrt(2.0*(V3-x)*m))/hkr
print 'k-vectors'
a11 = cmath.exp(1.0j*k1*l)
a12 = -1.0*cmath.exp(k2*l)
a13 = -1.0*cmath.exp(-k2*l)
print '1st row'
a21 = 1.0j*k1*cmath.exp(k1*l)
a22 = -k2*cmath.exp(k2*l)
a23 = k2*cmath.exp(-k2*l)
print '2nd row'
a32 = cmath.exp(k2*t)
a33 = cmath.exp(-k2*t)
a34 = -1.0*cmath.exp(1.0j*k3*t)
a35 = -1.0*cmath.exp(-1.0j*k3*t)
print '3rd row'
a42 = k2*cmath.exp(k2*t)
a43 = -k2*cmath.exp(-k2*t)
a44 = -1.0j*k3*cmath.exp(1.0j*k3*t)
a45 = 1.0j*k3*cmath.exp(-1.0j*k3*t)
print '4th row'
a54 = cmath.exp(1.0j*k3*f)
a55 = cmath.exp(-1.0j*k3*f)
a56 = -1.0*cmath.exp(k4*f)
a57 = -1.0*cmath.exp(-k4*f)
print '5th row'
a64 = 1.0j*k3*cmath.exp(1.0j*k3*f)
a65 = -1.0j*k3*cmath.exp(-1.0j*k3*f)
a66 = -k4*cmath.exp(k4*f)
a67 = k4*cmath.exp(-k4*f)
print '6th row'
a76 = cmath.exp(k4*g)
a77 = cmath.exp(-k4*g)
a78 = -1.0*cmath.exp(-1.0j*k5*g)
print '7th row'
a86 = k4*cmath.exp(k4*g)
a87 = -k4*cmath.exp(-k4*g)
a88 = 1.0j*k5*cmath.exp(-1.0j*k5*g)
print '8th row'
M = Matrix([[a11,a12,a13,0,0,0,0,0],
[a21,a22,a23,0,0,0,0,0],
[0,a32,a33,a34,a35,0,0,0],
[0,a42,a43,a44,a45,0,0,0],
[0,0,0,a54,a55,a56,a57,0],
[0,0,0,a64,a65,a66,a67,0],
[0,0,0,0,0,a76,a77,a78],
[0,0,0,0,0,a86,a87,a88]])
v=M.nullspace()
m=lcm([val.q for val in v])
PSI=m*v
print M
print PSI
python kernel approximation
The problem is as follows:
I have an equation: A*x = 0, where A is matrix 8x8, x is vector with 8 elements, and 0 means zero vector. Elements of matrix A contain a parameter E whose values for which the equation is solvable I have to find - and I already did it by using the condition: det(A)=0. And there is the source of my problem - det(A) for found values E is not exactly 0.0 but something very, very near 0.0, for example 9.5e-12. I interpret it as a numerical issue, but I may be wrong?
Next step is to find x. My concept was to find the kernel of the matrix A, but there my problem with non zero det(A) returns, because I do not have E for which my equation can be solved. Is it any way to force Python to operate with approximate values?
Summarizing: I need to find method to determine kernel when A*x is not exactly 0.0 but value is very, very near 0.0.
Edit:
Value of matrix:
[[6.60489454233399, -0.000899873003155720, -1111.26791946547, 0, 0, 0, 0, 0], [8.46748025849121e-8 + 2.5809235665861e-7*I, -9.08063389853990e-10, 0.00112138236223004, 0, 0, 0, 0, 0],
[0, 0.635021913463456, 1.57474880598360, -1.95244188971305, -0.512179135916290, 0, 0, 0],
[0, 6.40801701294518e-7, -1.58908171921515e-6, 2.90298102267184e-6, -7.61531659204450e-7, 0, 0, 0],
[0, 0, 0, 0.512179135916290, 1.95244188971305, -1.57474880598360, -0.635021913463456, 0],
[0, 0, 0, -7.61531659204450e-7, 2.90298102267184e-6, -1.58908171921515e-6, 6.40801701294518e-7, 0],
[0, 0, 0, 0, 0, 784198.968204183, 1.27518657961257e-6, -38.6053002011412],
[0, 0, 0, 0, 0, 0.791336522920740, -1.28679296313874e-12, -1.04862603277821e-5]])
And the code example:
from scipy import *
from numpy.linalg import *
from sympy import *
import sys
import numpy
import cmath
import math
a2= 65e5 #Ae-5
a3= 9e5 #Ae-5
a4= 130e5 #Ae-5
l = -a2-a3/2.0
t = -a3/2.0
f = a3/2.0
g = a4+a3/2.0
print 'Defined thickness'
V1= 0.74015 #eV fabs
V2= 1.1184 #eV fabs
V3= 0.74015 #eV fabs
m= 0.11*0.511e6/(2.99792458e+23)**2 #eV*s**2/A**2
hkr= 6.582119514e-16 #eV*s
x= 0.765705051154
print 'other symbols'
k1=(cmath.sqrt(2.0*(V1-x)*m))/hkr
k2=(cmath.sqrt(2.0*(V2-x)*m))/hkr
k3=(cmath.sqrt(-2.0*x*m))/hkr
k4=(cmath.sqrt(2.0*(V2-x)*m))/hkr
k5=(cmath.sqrt(2.0*(V3-x)*m))/hkr
print 'k-vectors'
a11 = cmath.exp(1.0j*k1*l)
a12 = -1.0*cmath.exp(k2*l)
a13 = -1.0*cmath.exp(-k2*l)
print '1st row'
a21 = 1.0j*k1*cmath.exp(k1*l)
a22 = -k2*cmath.exp(k2*l)
a23 = k2*cmath.exp(-k2*l)
print '2nd row'
a32 = cmath.exp(k2*t)
a33 = cmath.exp(-k2*t)
a34 = -1.0*cmath.exp(1.0j*k3*t)
a35 = -1.0*cmath.exp(-1.0j*k3*t)
print '3rd row'
a42 = k2*cmath.exp(k2*t)
a43 = -k2*cmath.exp(-k2*t)
a44 = -1.0j*k3*cmath.exp(1.0j*k3*t)
a45 = 1.0j*k3*cmath.exp(-1.0j*k3*t)
print '4th row'
a54 = cmath.exp(1.0j*k3*f)
a55 = cmath.exp(-1.0j*k3*f)
a56 = -1.0*cmath.exp(k4*f)
a57 = -1.0*cmath.exp(-k4*f)
print '5th row'
a64 = 1.0j*k3*cmath.exp(1.0j*k3*f)
a65 = -1.0j*k3*cmath.exp(-1.0j*k3*f)
a66 = -k4*cmath.exp(k4*f)
a67 = k4*cmath.exp(-k4*f)
print '6th row'
a76 = cmath.exp(k4*g)
a77 = cmath.exp(-k4*g)
a78 = -1.0*cmath.exp(-1.0j*k5*g)
print '7th row'
a86 = k4*cmath.exp(k4*g)
a87 = -k4*cmath.exp(-k4*g)
a88 = 1.0j*k5*cmath.exp(-1.0j*k5*g)
print '8th row'
M = Matrix([[a11,a12,a13,0,0,0,0,0],
[a21,a22,a23,0,0,0,0,0],
[0,a32,a33,a34,a35,0,0,0],
[0,a42,a43,a44,a45,0,0,0],
[0,0,0,a54,a55,a56,a57,0],
[0,0,0,a64,a65,a66,a67,0],
[0,0,0,0,0,a76,a77,a78],
[0,0,0,0,0,a86,a87,a88]])
v=M.nullspace()
m=lcm([val.q for val in v])
PSI=m*v
print M
print PSI
python kernel approximation
python kernel approximation
edited Nov 20 '18 at 10:30
asked Nov 19 '18 at 13:53
user3419643
43
43
Could you post the value of your matrix A and a code example of what you have done so far?
– MarAja
Nov 19 '18 at 14:17
Have you checkedmath.isclose(0., det(A))
?
– bene
Nov 19 '18 at 14:30
@MarAja done, in edited post.
– user3419643
Nov 20 '18 at 10:33
@bene - no, I suppose it won't help, coz the problem is, that because of a little bit of numerical problems I don't have "right" matrix during calculation of kernel.
– user3419643
Nov 20 '18 at 10:33
add a comment |
Could you post the value of your matrix A and a code example of what you have done so far?
– MarAja
Nov 19 '18 at 14:17
Have you checkedmath.isclose(0., det(A))
?
– bene
Nov 19 '18 at 14:30
@MarAja done, in edited post.
– user3419643
Nov 20 '18 at 10:33
@bene - no, I suppose it won't help, coz the problem is, that because of a little bit of numerical problems I don't have "right" matrix during calculation of kernel.
– user3419643
Nov 20 '18 at 10:33
Could you post the value of your matrix A and a code example of what you have done so far?
– MarAja
Nov 19 '18 at 14:17
Could you post the value of your matrix A and a code example of what you have done so far?
– MarAja
Nov 19 '18 at 14:17
Have you checked
math.isclose(0., det(A))
?– bene
Nov 19 '18 at 14:30
Have you checked
math.isclose(0., det(A))
?– bene
Nov 19 '18 at 14:30
@MarAja done, in edited post.
– user3419643
Nov 20 '18 at 10:33
@MarAja done, in edited post.
– user3419643
Nov 20 '18 at 10:33
@bene - no, I suppose it won't help, coz the problem is, that because of a little bit of numerical problems I don't have "right" matrix during calculation of kernel.
– user3419643
Nov 20 '18 at 10:33
@bene - no, I suppose it won't help, coz the problem is, that because of a little bit of numerical problems I don't have "right" matrix during calculation of kernel.
– user3419643
Nov 20 '18 at 10:33
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53376122%2fpython-computational-accuracy-when-calculating-kernel-of-the-matrix%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53376122%2fpython-computational-accuracy-when-calculating-kernel-of-the-matrix%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Could you post the value of your matrix A and a code example of what you have done so far?
– MarAja
Nov 19 '18 at 14:17
Have you checked
math.isclose(0., det(A))
?– bene
Nov 19 '18 at 14:30
@MarAja done, in edited post.
– user3419643
Nov 20 '18 at 10:33
@bene - no, I suppose it won't help, coz the problem is, that because of a little bit of numerical problems I don't have "right" matrix during calculation of kernel.
– user3419643
Nov 20 '18 at 10:33