# Getting the reciprocal condition number when computing the reordered schur factorization

**URL:** <https://discourse.julialang.org/t/getting-the-reciprocal-condition-number-when-computing-the-reordered-schur-factorization/5653>\
**Category:** Numerics\
**Created:** [August 31, 2017, 7:27am UTC](https://discourse.julialang.org/t/getting-the-reciprocal-condition-number-when-computing-the-reordered-schur-factorization/5653 "2017-08-31T07:27:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![blegat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/blegat/32/217090_2.png) [@blegat](https://discourse.julialang.org/u/blegat)\
**Post date:** [August 31, 2017, 7:27am UTC](https://discourse.julialang.org/t/getting-the-reciprocal-condition-number-when-computing-the-reordered-schur-factorization/5653/1 "2017-08-31T07:27:44Z")

</div>

When computing the reordered schur decomposition, LAPACK can optionally compute reciprocal condition numbers. Whether or not it does this computation depends on the [JOB parameter](http://www.netlib.org/lapack/single/strsen.f). Currently, [Julia sets this parameter to ‘N’](https://github.com/JuliaLang/julia/blob/7e35ac60b3e52436912a85d29c5dffca4fbc6ad3/base/linalg/lapack.jl#L5838) meaning it does not want LAPACK to do this computation and pass [NULL pointers](https://github.com/JuliaLang/julia/blob/7e35ac60b3e52436912a85d29c5dffca4fbc6ad3/base/linalg/lapack.jl#L5824) for the memory that is planned to hold the result. Therefore, if we pass something different than `'N'`, it causes a segmentation fault (shouldn’t there be an assert ?):

```julia
julia> F = schurfact(eye(2));
julia> Base.LAPACK.trsen!('E', 'N', ones(Base.LinAlg.BlasInt, 6), F.T, F.Z)
signal (11): Segmentation fault
...

```

Is there any plan to add support for optionally getting the reciprocal condition numbers ?

**EDIT:** I submitted a [PR](https://github.com/JuliaLang/julia/pull/23521) to fix the segmentation fault but it is still not possible to get the condition number by user a high level function such as `ordschur`, we need to call `Base.LAPACK.trsen!`.
