Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add function for machine precision number to avoid expensive calculations in the Givens rotation algorithms #8660

Merged
merged 1 commit into from
Oct 14, 2014

Conversation

andreasnoack
Copy link
Member

That appears to give more than three times speedup.

This pr also removes the subtype relation to AbstractMatrix and therefore also the now unnecessary ambiguity avoiding method definitions. The size parameter is remove as it is an unnecessary restriction. Finally, the pr adds @simd and @inbounds in the methods for applying Givens rotations.

[pao: quoting]

A_mul_B!(G1::Givens, G2::Givens) = error("Operation not supported. Consider *")
function A_mul_B!(G::Givens, A::AbstractMatrix)
m, n = size(A)
for i = 1:n
G.i2 <= m || throw(DimensionMismatch("column indices for ratation are outside the matrix"))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rotation

(and same below, L214)

…ion in the Givens rotation algorithms. Remove subtype relation to AbstractMatrix and therefore also the now unnecessary ambiguity warning avoiding method definitions. Use @simd and @inbounds in methods for applying Givens rotations.
andreasnoack added a commit that referenced this pull request Oct 14, 2014
Add function for machine precision number to avoid expensive calculations in the Givens rotation algorithms
@andreasnoack andreasnoack merged commit e2a0029 into master Oct 14, 2014
@andreasnoack andreasnoack deleted the anj/givens branch October 14, 2014 17:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants